Menu ☰

Errors

Stable error codes, the envelope format, and what to do about each.

{
  "error": {
    "code": "text_too_long",
    "message": "Text is 341 characters but X (Twitter) allows 280. Shorten it or split the post."
  }
}
error envelope

Codes

ParameterTypeDescription
missing_access_token401No Authorization header — send `Bearer <token>`
invalid_access_token401Key revoked/unknown or OAuth token expired
invalid_parameters400Malformed body — the message names the field
invalid_json400Body is not valid JSON
text_too_long400Exceeds a target network's character limit
channel_not_found / not_found404Unknown id in this workspace
update_already_sent400Sent updates are immutable
invalid_state400Action not valid for this update's status
channel_exists409Network already connected to the workspace
plan_limit_reached403Channel/seat/webhook limit — upgrade or clean up
quota_exceeded403Successful-post quota exhausted on a hard-capped plan
rate_limit_exceeded429Slow down — the per-minute limiter includes `Retry-After`; monthly-quota exhaustion describes the reset in the message
internal_error500Our fault; retry with backoff
Zero surprise deprecations
Breaking changes are announced in the changelog at least 90 days ahead, with dual-running periods.