Pause a sub-account
Pause a sub-account on the agency's behalf (paused_reason = manual_agency). Its users see the paused screen in the app.
POST
https://api.centerfy.ai/webhooks/inbound/agency/sub-accounts/:id/pause Headers
| Header | Required | Value | Description |
|---|---|---|---|
x-api-key | Yes | your agency API key (cfy_…) | Agency (organization-wide) API key, created in the agency workspace under Settings → API Keys (“Agency API Keys”; the tab only appears on White Label or SaaS Mode plans). Or send Authorization: Bearer <key>; x-api-key wins if both are present. Keys must start with cfy_. A sub-account key is rejected with 401. |
Content-Type | No | application/json | Needed only when you send a body. |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The sub-account id. Must belong to the key’s agency and not be deleted. |
Body parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
note | string | No | — | Internal note stored as paused_note (max 1000 characters). |
Request body
{
"note": "Invoice overdue"
}Example
curl -X POST "https://api.centerfy.ai/webhooks/inbound/agency/sub-accounts/{id}/pause" \
-H "x-api-key: $CENTERFY_AGENCY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"note": "Invoice overdue"
}' import { CenterfyAgencyClient } from "@centerfy/sdk";
const agency = new CenterfyAgencyClient({ apiKey: process.env.CENTERFY_AGENCY_API_KEY! });
const result = await agency.subAccounts.pause("<subAccountId>", {
"note": "Invoice overdue"
});
console.log(result); centerfy --agency subAccounts pause <subAccountId> '{"note":"Invoice overdue"}' MCP tool: centerfy_agency_sub_accounts_pause (see MCP server)
Response
{
"status": "success",
"sub_account": {
"id": "5a1f3c2e-8b4d-4e6f-9a7b-1c2d3e4f5a01",
"name": "Acme Roofing",
"slug": "acme-roofing",
"parent_sub_account_id": null,
"is_active": true,
"archived_at": null,
"paused_reason": "manual_agency",
"paused_at": "2026-10-06T12:00:00.000Z",
"paused_note": "Invoice overdue",
"subscription_plan": "starter",
"subscription_status": "active",
"max_users": 10,
"max_contacts": 1000,
"created_at": "2026-09-14T15:20:00.000Z",
"updated_at": "2026-10-06T12:00:00.000Z"
}
}Errors
409— if the sub-account is already paused for any reason.404— when the sub-account id is not a uuid, does not exist, is deleted, or belongs to another agency.401— when the key is missing, not cfy_-prefixed or unknown (including sub-account keys); 403 when the agency is not on a White Label or SaaS Mode plan; 429 above 50 requests per minute per agency (Retry-After header set); 500 ‘database error’ on an internal failure.
Notes
The body is optional. Pausing only gates the app UI; it does not stop agents or calls server-side. paused_by is set to the user who created the agency key.