curl -X PATCH "https://your-paneldns-domain.com/api/v1/sub-clients/201" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "suspended"
}'
{
"ok": true,
"data": {
"id": 201,
"org_id": 42,
"name": "Widgets Co",
"email": "admin@widgets.co",
"status": "suspended",
"zone_limit": 0,
"max_records": 0,
"email_verified_at": null,
"invited_at": null,
"created_at": "2026-01-15T08:00:00.000000Z",
"updated_at": "2026-06-05T11:30:00.000000Z"
}
}
{
"ok": false,
"error": "Not found.",
"code": 404
}
Sub-clients
Update Sub-client
Update a sub-client’s details. Requires sub_clients:write scope.
PATCH
/
api
/
v1
/
sub-clients
/
{id}
curl -X PATCH "https://your-paneldns-domain.com/api/v1/sub-clients/201" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "suspended"
}'
{
"ok": true,
"data": {
"id": 201,
"org_id": 42,
"name": "Widgets Co",
"email": "admin@widgets.co",
"status": "suspended",
"zone_limit": 0,
"max_records": 0,
"email_verified_at": null,
"invited_at": null,
"created_at": "2026-01-15T08:00:00.000000Z",
"updated_at": "2026-06-05T11:30:00.000000Z"
}
}
{
"ok": false,
"error": "Not found.",
"code": 404
}
All fields are optional. Only supplied fields are updated.
email and password cannot be changed through this endpoint. email is intentionally excluded to keep the SSO identity stable — delete and recreate the sub-client to change it. Sub-clients set their own password through the portal invitation flow.integer
required
Sub-client ID.
string
New display name. Max 128 characters.
string
Account status. One of
active or suspended. Suspending a sub-client prevents portal login but does not alter their zones.integer
Maximum zones this sub-client may own.
0 inherits the org plan limit. Range 0–10000.integer
Maximum records this sub-client may create.
0 inherits the org plan limit. Range 0–100000.curl -X PATCH "https://your-paneldns-domain.com/api/v1/sub-clients/201" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "suspended"
}'
{
"ok": true,
"data": {
"id": 201,
"org_id": 42,
"name": "Widgets Co",
"email": "admin@widgets.co",
"status": "suspended",
"zone_limit": 0,
"max_records": 0,
"email_verified_at": null,
"invited_at": null,
"created_at": "2026-01-15T08:00:00.000000Z",
"updated_at": "2026-06-05T11:30:00.000000Z"
}
}
{
"ok": false,
"error": "Not found.",
"code": 404
}