curl -X GET "https://api.sitespeak.ai/v1/agency/clients/{client_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
const response = await fetch(
'https://api.sitespeak.ai/v1/agency/clients/{client_id}',
{
method: 'GET',
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
}
}
);
const data = await response.json();
console.log(data);
Agency
Get Client Workspace
Returns a single client workspace with its limits and current usage
GET
/
v1
/
agency
/
clients
/
{client_id}
curl -X GET "https://api.sitespeak.ai/v1/agency/clients/{client_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
const response = await fetch(
'https://api.sitespeak.ai/v1/agency/clients/{client_id}',
{
method: 'GET',
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
}
}
);
const data = await response.json();
console.log(data);
Available on agency plans. The API token must belong to the agency owner.
Path Parameters
| Name | Type | Description |
|---|---|---|
| client_id* | String | The ID of the client workspace, as returned when it was created. |
Headers
| Name | Type | Description |
|---|---|---|
| Accept* | String | application/json |
| Authorization* | String | Bearer |
curl -X GET "https://api.sitespeak.ai/v1/agency/clients/{client_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
const response = await fetch(
'https://api.sitespeak.ai/v1/agency/clients/{client_id}',
{
method: 'GET',
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
}
}
);
const data = await response.json();
console.log(data);
Response
Anull limit means no client-level limit is set for that resource. response_tokens is a per-answer length cap, not a usage quota, so it has no usage counterpart.
usage.messages counts message credits used in the current cycle, which starts at the beginning of the calendar month or at the client’s last credit reset, whichever is later. messages_remaining is null when no message limit is set. topup_credits_remaining is the client’s top-up credit balance, drawn only after the monthly limit is used up. credits_exhausted_at is set while the client’s own budget (monthly plus top-up) is at zero and clears when credits return.
- 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": "active",
"pause_mode": null,
"paused_at": null,
"byok_enabled": false,
"limits": {
"chatbots": 2,
"sources": 50,
"messages": 1000,
"response_tokens": null
},
"usage": {
"chatbots": 1,
"sources": 12,
"messages": 274
},
"messages_remaining": 726,
"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