feature_unavailable
The message text is shown in the example below.
⚠️
Preview — this feature is being built; the design below is the spec. Not in the public error catalog (error-envelope.ts). Treat as provisional; it may be renamed or folded into a catalog code.
| HTTP status | 403 |
type | permission_error |
| Retry? | Yes, with back-off |
| Status | Not live / provisional |
| Extra fields | feature |
When it happens
Chat has been switched off temporarily across the platform, for example during an incident.
Example
{
"error": {
"type": "permission_error",
"code": "feature_unavailable",
"message": "This feature is temporarily unavailable.",
"param": null,
"request_id": "req_6f1c2a9e0b7d4c3a8e5f1b2d",
"feature": "chat"
}
}How to fix it
- Retry after a pause and check the status page.
- Surface a friendly message to your users instead of an error.
Detect it in code
err = resp.json().get("error", {})
if resp.status_code == 403 and err.get("code") == "feature_unavailable":
delay = err.get("retry_after") or 2
time.sleep(delay) # then retryRelated
Was this page helpful?