curl -X POST "https://api.sitespeak.ai/v1/agency/clients/{client_id}/suspend" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Idempotency-Key: suspend-2026-08-01-client-1001"
const response = await fetch(
'https://api.sitespeak.ai/v1/agency/clients/{client_id}/suspend',
{
method: 'POST',
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN',
'Idempotency-Key': 'suspend-2026-08-01-client-1001'
}
}
);
const data = await response.json();
console.log(data);
Agency
Suspend Client Workspace
Suspends a client workspace: serving stops and the workspace becomes read-only
POST
/
v1
/
agency
/
clients
/
{client_id}
/
suspend
curl -X POST "https://api.sitespeak.ai/v1/agency/clients/{client_id}/suspend" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Idempotency-Key: suspend-2026-08-01-client-1001"
const response = await fetch(
'https://api.sitespeak.ai/v1/agency/clients/{client_id}/suspend',
{
method: 'POST',
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN',
'Idempotency-Key': 'suspend-2026-08-01-client-1001'
}
}
);
const data = await response.json();
console.log(data);
Available on agency plans. The API token must belong to the agency owner.
Suspend is a stronger stop than pause. The client’s AI agents stop answering right away, the widget no longer loads on their site, and the workspace rejects new chatbot creation until you resume it. Nothing is deleted: all chatbots, sources and conversation history stay intact.
Use pause for temporary states like dunning, and suspend when a client’s account has ended.
Path Parameters
| Name | Type | Description |
|---|---|---|
| client_id* | String | The ID of the client workspace. |
Headers
| Name | Type | Description |
|---|---|---|
| Accept* | String | application/json |
| Authorization* | String | Bearer |
| Idempotency-Key* | String | A unique key for this request. Retrying with the same key returns the original response. |
curl -X POST "https://api.sitespeak.ai/v1/agency/clients/{client_id}/suspend" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Idempotency-Key: suspend-2026-08-01-client-1001"
const response = await fetch(
'https://api.sitespeak.ai/v1/agency/clients/{client_id}/suspend',
{
method: 'POST',
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN',
'Idempotency-Key': 'suspend-2026-08-01-client-1001'
}
}
);
const data = await response.json();
console.log(data);
Response
Returns the client workspace with its new status. While suspended,messages_remaining is 0 and POST /clients/{client_id}/chatbots returns a 422 error.
- 200 Success
- 403 Not an agency account
- 404 Not found
{
"client": {
"id": "dfcee2e1-3ace-41c6-9803-fb2b7c7cdfc7",
"name": "Acme Inc",
"external_reference": "billing-account-1001",
"status": "suspended",
"pause_mode": null,
"paused_at": "2026-08-01T09:15:00+00:00",
"byok_enabled": false,
"limits": {
"chatbots": 2,
"sources": 50,
"messages": 5000,
"response_tokens": null
},
"usage": {
"chatbots": 1,
"sources": 12,
"messages": 1240
},
"messages_remaining": 0,
"topup_credits_remaining": 0,
"credits_exhausted_at": null,
"credits_reset_at": null,
"created_at": "2026-07-22T19:31:40+00:00"
}
}
Returns when the API token does not belong to an agency account owner.
Returns when no client workspace with this ID exists in your agency.
Last modified on August 25, 2026