Skip to main content
The v4 API uses the same HTTP status codes and error envelope as v3.

HTTP Response Codes

Asynchronous endpoints answer 202 Accepted — creating an export, for example, or requesting a test delivery of a scheduled report. For 5xx responses, branch on error.code (see Internal Errors), not on the status: the same internal failure can surface under different 5xx statuses.

Error Response Format

All v4 errors follow a single envelope keyed under error. There is no envelope-level meta (or _meta) key — validation field errors live inside error.details as {field, message} pairs:
error.details is omitted entirely (rather than emitted as null or []) when the failure is not field-scoped — for example, a 401 unauthorized or a 404 resource-not-found returns just {type, code, message}.

Error Types

Error Codes

Request Errors

Resource Errors

Logical Errors

Internal Errors

Rate limits

The analytics endpoints (/v4/analytics/*) are limited to 30 requests per minute per project. Over the limit you get 429 with too_many_requests and a Retry-After header; requests sent while you are limited extend the wait.