ZenodeZenode
Concepts

Errors

How the Zenode API reports errors — the uniform error object, the type values, and how partial failures work in batch requests.

Errors use a uniform envelope with an appropriate HTTP status:

JSON
1{
2 "error": {
3 "type": "invalid_request",
4 "message": "Field 'query' is required.",
5 "param": "query",
6 "request_id": "req_8f3a..."
7 }
8}
typeHTTPMeaning
invalid_request400Malformed body or bad parameters
authentication_error401Missing or invalid API key
permission_error403Key lacks the required scope
not_found404The resource does not exist
rate_limit_exceeded429Too many requests — see Rate limits
server_error5xxA Zenode-side failure

param is present when a specific field caused the error. Every response — success or error — includes a request_id (also in the X-Request-Id header); quote it when contacting support.

Partial failures in batches

Batch endpoints return 200 even when individual lines fail. Inspect each line: a failed line carries a per-line error (the same envelope, minus request_id) while its neighbors succeed. A non-2xx status is reserved for whole-request failures — authentication, malformed JSON, exceeding the batch cap, or rate limiting.

Next