Reference

plan_feature_required

The plan does not include this capability at all. Unlike a quota, nothing about it resets — only a different plan changes the answer.

402HTTP 402 · Plan Feature Required

What it means

The plan does not include this capability at all. Unlike a quota, nothing about it resets — only a different plan changes the answer.

Retry after fixing

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

What causes it

  • Opening a client workspace on a plan below Agency.
  • Pinning a model above the plan's tier to an assistant.
  • Sending a WhatsApp alert after the five-message trial, on a plan without WhatsApp.

How to fix it

  • `details.feature` names the capability and `details.required_plan` the cheapest plan that includes it.
  • Upgrade to that plan, or use the alternative the plan does have — Telegram alerts are unlimited on every tier.
  • `GET /api/billing/entitlements` answers the same question in advance, so a control can be shown locked rather than failing on submit.

What the response looks like

402 application/problem+json
{
  "error": {
    "code": "plan_feature_required",
    "message": "The plan does not include this capability at all. Unlike a quota, nothing about it resets — only a different plan changes the answer",
    "request_id": "7cb7f7862a82425d8e4c3fb8a497dfe6"
  },
  "type": "https://integrable.cloud/docs/errors/plan_feature_required",
  "title": "Plan Feature Required",
  "status": 402,
  "detail": "The plan does not include this capability at all. Unlike a quota, nothing about it resets — only a different plan changes the answer",
  "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