INTEGRITY Documentation

Error responses

The GraphQL Analytics API is a RESTful API based on HTTPS requests and JSON responses, and will return familiar HTTP status codes (for example, 404, 500, 504). However, in contrast to the common REST approach, a 200 response can contain an error, conforming to the GraphQL specification.

All responses contain an errors array, which will be null if there are no errors, and include at least one error object if there was an error. Non-null error objects will contain the following fields:

Example

{
  "data": null,
  "errors": [
    {
      "message": "cannot request data older than 2678400s",
      "path": ["viewer", "zones", "0", "firewallEventsAdaptiveGroups"],
      "extensions": {
        "timestamp": "2019-12-09T21:27:19.195060142Z"
      }
    }
  ]
}

Common error types

Service unavailability

Sample error messages:

These messages indicate a temporary server-side issue. The first message typically means the upstream database is unreachable or returned an error. The second message means the server has reached its maximum number of concurrent queries.

Retry the request after a short delay. If the error persists, check the Cloudflare status page for ongoing incidents.

Dataset accessibility limits exceeded

Sample error messages:

These messages indicate that the query exceeds what is allowed for the particular dataset under the current plan, and an upgrade should be considered. Refer to Node limits for details.

Parsing issues

Sample error messages:

These messages indicate that the query cannot be processed because it is malformed. Check the query syntax against the GraphQL schema and correct the invalid fields or structure.

Rate limits exceeded

Sample error messages:

These messages indicate the query exceeded rate or resource limits. Reduce the query complexity, the number of zones or accounts per request, or wait before retrying. Refer to the Limits section for more details about rate limits.

Authentication and authorization errors

Sample error messages:

An Unauthorized response means the API token or bearer token is missing, expired, or invalid. Verify that you are passing a valid token in the Authorization header.

A 403 response means the token does not have the required permissions for the requested account or zone. Verify the token has the Analytics: Read permission for the relevant resources. Refer to the Tokens section for more details.

Internal server errors

Sample error message:

This is a generic error indicating an unexpected failure. If it persists, contact Cloudflare Support with the full request and response, including the Ray-ID header from the HTTP response.