Skip to content

Errors & Limits

Error Codes

StatusCodeDescription
400BAD_REQUESTInvalid request (missing fields, bad JSON)
401UNAUTHORIZEDMissing, invalid, expired, or revoked API key
403FORBIDDENNo permission for requested table/action, or blocked table
413BAD_REQUESTRequest body too large (max 1MB)
429RATE_LIMITEDToo many requests - check Retry-After header
500INTERNAL_ERRORServer error

Rate Limits

Each API key has a configurable rate limit (default: 100 requests per minute). When rate limited, the response includes these headers:

HeaderDescription
Retry-AfterSeconds until the rate limit resets
X-RateLimit-LimitMax requests per window
X-RateLimit-RemainingRemaining requests in window

Restrictions

These tables are never accessible via external API: site, role, cart, apiKey, webhook, asset.

User records automatically have these fields stripped: password, 2FA secrets, recovery codes, and tokens.

Fields of type file and files are read-only via the API. There is no file upload endpoint - use the CMS Manager to upload files.