Cloud API

Errors and rate limits

Error format, status codes and rate-limit headers of the zn Cloud API.

View .md

Errors return JSON with an error message. Quota errors add a machine-readable code.

{"error": "Invalid API key"}
{"error": "Monthly call limit reached", "code": "MONTHLY_LIMIT_REACHED"}

Status codes

Status Meaning What to do
400 The body is missing input, or input is longer than 20,000 characters Send {"input": "..."}, split long inputs
401 Missing or invalid API key Check the Authorization header and the key in the dashboard
429 Monthly limit reached (MONTHLY_LIMIT_REACHED) Wait for Retry-After, add credits or upgrade
500 Unexpected analysis failure Retry once with backoff (each request counts against quota)

Branch on the HTTP status and on code, not on the text of error, which may change.

Rate-limit headers

RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset come back on successful responses and on 401 and 429, so you can slow down before hitting a 429. A 429 also includes Retry-After.

Fail open or fail closed?

Decide what your agent does when zn is unreachable. For high-impact tools (shell, payments, data deletion), fail closed: do not run the tool. For low-impact reads, you may fail open and keep the local zn-gate rules as a fallback.