HTTP 200 on failure
Do not use the HTTP status code to detect errors. A failed GraphQL response returns HTTP 200 with either anerrors array (for request-level failures) or a status object with a non-OK code (for mutation-level failures).
Request-level error (HTTP 200)
Mutation response status
Mutations that affect users or resources return aResponseStatus object:
status { code message } in your mutation selection set:
| Code | Meaning |
|---|---|
OK | Operation succeeded |
ERROR | Operation failed (see message for details) |
NOT_FOUND | The requested resource does not exist |
NONE | No status available |
Transport-level HTTP errors
HTTP errors other than 200 indicate a transport or authentication problem, not an application failure:| HTTP status | Message | Cause |
|---|---|---|
401 | Unauthorized | Invalid or missing authentication token |
400 | Bad Request | Malformed request payload |
500 | Internal Server Error | Unexpected API failure |
All application-level errors and mutation failures return HTTP 200 OK. Refer to the response body for error details.
Related articles
GraphQL API
Authentication and endpoint reference
ResponseStatus
Full reference for the ResponseStatus object

