Remove users from a permission group
curl --request DELETE \
--url https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/ \
--header 'x-api-key: <api-key>'import requests
url = "https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/"
headers = {"x-api-key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyPermission groups
Remove Group Members
Take people out of a group, and take back what it was giving them.
DELETE
/
api
/
v1
/
organization
/
permission-groups
/
{permission_group_pk}
/
users
/
Remove users from a permission group
curl --request DELETE \
--url https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/ \
--header 'x-api-key: <api-key>'import requests
url = "https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/"
headers = {"x-api-key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nekt.ai/api/v1/organization/permission-groups/{permission_group_pk}/users/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyRemoves users from a group, leaving everybody else in it. They lose every grant they held through the group, immediately. Grants they hold in their own right are untouched.
The ids go in the request body, not the URL — this endpoint removes several people at once and addresses the group, not one member of it.
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
users | array of integers | Yes | User ids to remove. Ids not in the group are ignored. |
curl --request DELETE \
--url https://api.nekt.ai/api/v1/organization/permission-groups/GROUP_ID/users/ \
--header "x-api-key: YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{"users": [42]}'
Response
204, with no body.
Offboarding somebody from a team
Removing them from every group takes back everything they inherited, and is the part of offboarding that is easy to miss when you only revoke direct grants.import os
import requests
BASE_URL = "https://api.nekt.ai"
headers = {"x-api-key": os.environ["NEKT_API_KEY"], "Content-Type": "application/json"}
user_id = 42
groups = requests.get(
f"{BASE_URL}/api/v1/organization/permission-groups/",
headers=headers,
params={"users": user_id},
).json()
for group in groups["results"]:
if group["all_group"]:
continue # Membership is automatic; it goes when the account is deactivated.
requests.delete(
f"{BASE_URL}/api/v1/organization/permission-groups/{group['id']}/users/",
headers=headers,
json={"users": [user_id]},
).raise_for_status()
print(f"removed from {group['name']}")
This removes inherited access only. Grants made directly to the person survive — see Revoke Permission for those.
Errors
| Status | When |
|---|---|
400 | The group is the All group, whose membership is automatic. |
403 | Your API key was created by a Member. |
404 | No group with that id in your workspace. |
Related
- Add Members — the reverse.
- List Groups — with
users, every group somebody is in. - Delete a Group — when the whole team is going away.
Was this page helpful?