Reference

quota_exceeded

Your plan's allowance for this resource is used up. This is a billing boundary, not a speed limit.

402HTTP 402 · Quota Exceeded

What it means

Your plan's allowance for this resource is used up. This is a billing boundary, not a speed limit.

Retry after fixing

Retrying unchanged will not help. Correct the cause, then send it again.

What causes it

  • The month's message or conversation credits are spent.
  • A per-plan ceiling was reached — bots, seats, or knowledge sources.

How to fix it

  • Check usage in the dashboard; `detail` names which allowance was hit.
  • Upgrade the plan, or wait for the cycle to reset.
  • Unlike a 429, waiting a few seconds will not help — nothing about this clears on its own before the reset.

What the response looks like

402 application/problem+json
{
  "error": {
    "code": "quota_exceeded",
    "message": "Your plan's allowance for this resource is used up. This is a billing boundary, not a speed limit",
    "request_id": "7cb7f7862a82425d8e4c3fb8a497dfe6"
  },
  "type": "https://integrable.cloud/docs/errors/quota_exceeded",
  "title": "Quota Exceeded",
  "status": 402,
  "detail": "Your plan's allowance for this resource is used up. This is a billing boundary, not a speed limit",
  "instance": "/api/bots/01a0652b-3713-7ea1-a6c9-2e895389ec34"
}

Branch on error.code, not on the message — the code is stable, the sentence is not. Log request_id either way.

Still stuck

Quote the request_id from the response — hello@integrable.cloud. It is what lets us find the exact request. The full list of codes is at Error codes, and the conventions every endpoint shares are in Retries, versioning and limits.

Something here wrong or missing? Tell us — the documentation and the API are maintained by the same person, so a correction is a fix rather than a ticket.

Building on it? Start on the free plan — no card — and call the same API the dashboard uses.

Start free