> ## Documentation Index
> Fetch the complete documentation index at: https://sitespeak.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Suspend Client Workspace

> Suspends a client workspace: serving stops and the workspace becomes read-only

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 {api_token}                                                                       |
| Idempotency-Key\* | String | A unique key for this request. Retrying with the same key returns the original response. |

<RequestExample>
  ```bash cURL theme={null}
  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"
  ```

  ```javascript JavaScript theme={null}
  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);
  ```
</RequestExample>

## 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.

<Tabs>
  <Tab title="200 Success">
    ```json theme={null}
    {
      "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",
        "limits": {
          "chatbots": 2,
          "sources": 50,
          "messages": 5000
        },
        "usage": {
          "chatbots": 1,
          "sources": 12,
          "messages": 1240
        },
        "messages_remaining": 0,
        "credits_reset_at": null,
        "created_at": "2026-07-22T19:31:40+00:00"
      }
    }
    ```
  </Tab>

  <Tab title="403 Not an agency account">
    Returns when the API token does not belong to an agency account owner.
  </Tab>

  <Tab title="404 Not found">
    Returns when no client workspace with this ID exists in your agency.
  </Tab>
</Tabs>
