Error Structure

Errors use a uniform structure:

{ "detail": "message" }

Common Status Codes

Code Meaning
400 Bad request
401 Unauthenticated or invalid credentials
403 Forbidden / CSRF failed
404 Not found
409 Conflict (e.g. duplicate publish)
429 Too many requests
500 Internal server error

Rate Limits

There are two layers:

  • Cloudflare Worker edge limits by IP / API key.
  • The tower limits again by API key hash.

The default is 20 requests per minute, configurable server-side. On 429, use the Retry-After header and wait. Do not hammer retries.