FeaturesPricingAboutArticlesDocumentation
Developers

API, SDK, MCP and webhooks.

Developer PlatformQuickstartAuthenticationAPI ReferenceSDKMCPWebhooksErrorsPaginationRate LimitsIdempotencyChangelogMigration and Versioning Policy
Raw API docsOpenAPI YAMLAsyncAPI YAML
  1. Home
  2. /
  3. Developers
  4. /
  5. Errors

Errors

The public API uses stable HTTP status codes and a machine-readable error envelope. SDK callers receive a typed FabHubApiError for any non-2xx response.

Error shape

{
  "error": {
    "code": "SCOPE_REQUIRED",
    "message": "This credential is missing the items:write scope",
    "request_id": "req_8f3a...",
    "details": {}
  }
}

request_id is included on most responses - quote it in support requests. details is present for validation errors. Branch on the stable error.code, not on message.


Status codes

StatusMeaning
400Invalid request or validation error
401Missing, invalid, expired, or revoked credential
403Missing scope, plan gate, or IP allowlist denial
404Resource not found
409Idempotency conflict (key reused with a different payload)
429Rate limit exceeded
500Server error

Error codes

  • BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT, RATE_LIMITED, INTERNAL_ERROR
  • SCOPE_REQUIRED - the credential lacks a required scope
  • PLAN_REQUIRED - the tenant's plan does not include this capability
  • OBJECT_ACCESS_DENIED - the referenced object is outside the tenant
  • TENANT_DISABLED, ENDPOINT_DISABLED - kill switches
  • MCP_CONFIRMATION_REQUIRED - a write/destructive MCP tool needs explicit confirmation

Examples

{ "error": { "code": "NOT_FOUND", "message": "Item not found", "request_id": "req_1a..." } }
{ "error": { "code": "RATE_LIMITED", "message": "Rate limit exceeded; retry after the window resets", "request_id": "req_2b..." } }

Client guidance

Treat 401 and 403 as configuration or permission problems, not retryable failures. Treat 429 as retryable only after the rate-limit window resets. Use idempotency keys on writes so you can safely retry transport failures. See Idempotency and Rate Limits.

HomeFeaturesPricingAboutArticlesDocumentationDevelopers
© FabHubPrivacy & CookiesTermsAccessibility