Delete user (internal/domain)
curl --request DELETE \
--url https://your-syteca-host/SytecaACB/api/user-management/users/{userId} \
--header 'Authorization: <api-key>'import requests
url = "https://your-syteca-host/SytecaACB/api/user-management/users/{userId}"
headers = {"Authorization": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: '<api-key>'}};
fetch('https://your-syteca-host/SytecaACB/api/user-management/users/{userId}', 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://your-syteca-host/SytecaACB/api/user-management/users/{userId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: <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://your-syteca-host/SytecaACB/api/user-management/users/{userId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "<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://your-syteca-host/SytecaACB/api/user-management/users/{userId}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-syteca-host/SytecaACB/api/user-management/users/{userId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": 123,
"message": "<string>"
}{
"status": 123,
"message": "<string>"
}{
"status": 123,
"message": "<string>"
}{
"status": 123,
"message": "<string>"
}{
"status": 123,
"message": "<string>"
}{
"status": 123,
"message": "<string>"
}Users
Delete User
Syteca ACB REST API endpoint to delete a Syteca user — for offboarding, contractor cleanup, and IdP-driven deprovisioning.
DELETE
/
api
/
user-management
/
users
/
{userId}
Delete user (internal/domain)
curl --request DELETE \
--url https://your-syteca-host/SytecaACB/api/user-management/users/{userId} \
--header 'Authorization: <api-key>'import requests
url = "https://your-syteca-host/SytecaACB/api/user-management/users/{userId}"
headers = {"Authorization": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: '<api-key>'}};
fetch('https://your-syteca-host/SytecaACB/api/user-management/users/{userId}', 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://your-syteca-host/SytecaACB/api/user-management/users/{userId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: <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://your-syteca-host/SytecaACB/api/user-management/users/{userId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "<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://your-syteca-host/SytecaACB/api/user-management/users/{userId}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-syteca-host/SytecaACB/api/user-management/users/{userId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": 123,
"message": "<string>"
}{
"status": 123,
"message": "<string>"
}{
"status": 123,
"message": "<string>"
}{
"status": 123,
"message": "<string>"
}{
"status": 123,
"message": "<string>"
}{
"status": 123,
"message": "<string>"
}Deletes a Syteca user. For domain users, this removes only the Syteca link — the AD account itself is unaffected. For Internal users, this permanently removes the user from Syteca.
For ACB deployments updated from a version prior to 1.2, switch to the
https://{hostname}/EkranACB server in the Playground.Permissions required
The Access Token must be issued to a user with the administrative User Management permission.Common use cases
- Offboarding automation — HRIS termination triggers user deletion in Syteca.
- Contractor cleanup — Auto-delete contractor accounts after engagement end-date.
- IdP deprovisioning — Okta / Azure AD removes the user → webhook calls this endpoint.
Historical session data is preserved
Deleting a user does not delete their historical session recordings or audit log entries. Their user name remains visible in session metadata for compliance retention; only the user account itself (permissions, group memberships, login capability) is removed.Errors
See Status codes. Common errors:- 403 Forbidden — user lacks administrative User Management permission, or the request would delete the last user with User Management permission (preventing lockout).
- 404 Not Found — user doesn’t exist.
Syteca prevents deletion of the last user with administrative User Management permission — this would lock all administrative access to the system. To replace the last User Management admin, create the replacement user with User Management permission first, then delete the prior user.
Related
Get user details
Verify the user before deletion.
Remove from user group
Remove group membership without deleting the user.
Create internal user
Re-create if accidentally deleted.
API reference
Status codes.