Skip to main content
Hobbes returns JSON errors with a detail field and attaches X-Request-ID to successful and failed requests. Authentication, authorization, missing resource, rate-limit, and server errors use a string:
Validation errors use an array so each invalid path or query parameter can be identified separately:

Status codes

Rate limits

Keys allow 120 requests per 60-second window by default. Hobbes may configure a different limit for a specific key. Custom Link creation, thumbnail, and retry operations also allow 10 requests per minute per organization. Job polling allows 300 per minute per organization while retaining the lower 120-per-key limit. Creation and thumbnail compute have separate weighted hourly and daily quotas; see Create Custom Links.
On 429, sleep for the number of seconds in Retry-After. Add jitter if many workers share the same key.
For 5xx and network failures, retry a bounded number of times with exponential backoff. Do not retry authentication, authorization, validation, or missing resource errors.

Support diagnostics

Log these values for every failed request:
  • HTTP method and path, excluding secret query data
  • Response status and detail
  • X-Request-ID
  • Attempt number and next retry time
Never log the Authorization or x-api-key header.