Skip to content

Error responses

Last updated View as MarkdownAgent setup

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:

  • message: a string describing the error.
  • path: the nodes associated with the error, starting from the root. Note that the number included in the path array, for example, 0 or 1, specifies to which zone the error applies; 0 indicates the first zone in the list (or only zone, if only one is being queried).
  • timestamp: UTC datetime when the error occurred.

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:

  • unable to execute query, please try again later (HTTP 503)
  • too many queries in progress, please try again later (HTTP 503)

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:

  • cannot request data older than... (HTTP