Status Codes
This document contains the underlying reasons why a Blocked or Exception status is shown in Inigo when running a GraphQL query.
Blocked Status
Reason | Description | Suggested Actions |
---|---|---|
REQUEST_PARSE_ERROR | Unable to parse the query | Check the query for correctness and formatting. |
PROFILE_NOT_PROVIDED | A required profile is missing in the request header or JWT token | Either add a valid profile (configured with path_user_profile ) as a request header or JWT, or configure a anonymous_profile in the Service |
UNKNOWN_PROFILE | An unknown profile is present in the request header or JWT token | Check the profiles defined in the Security configuration |
MAX_DEPTH | Maximum depth exceeded for the query | Edit your Security configuration for max_depth or reduce the depth of the query |
MAX_HEIGHT | Maximum height exceeded for the query | Edit your Security configuration for max_height or reduce the height of the query |
MAX_DIRECTIVES | Maximum directives exceeded for the query | Edit your Security configuration for max_directives or reduce the directives in the query |
MAX_REQUEST_SIZE | Maximum request size exceeded for the query | Edit your Security configuration for max_request_size_bytes |
MAX_RESPONSE_SIZE | Maximum size exceeded for the query response | Edit your Security configuration for max_response_size_bytes |
MAX_ROOT_QUERIES | Maximum root queries exceeded for the query | Edit your Security configuration for max_root_queries or reduce the root queries in the request |
MAX_ROOT_MUTATIONS | Maximum root mutations exceeded for the query | Edit your Security configuration for max_root_mutations or reduce the root mutations in the request |
MAX_ALIASES | Maximum aliases exceeded for the query | Edit your Security configuration for max_aliases or reduce the aliases in the query |
OPERATION_NAME_REQUIRED | An operation name is required for the query | Disable your Security configuration for require_operation_name or add an operation name in the query |
EMPTY_OPERATION | The operation is empty in the query | Check for a missing query in the request. |
MISSING_REQUIRED_FIELD | A required field is missing in the query | Modify your Security configuration for require_fields or add the required field to the query |
RATE_LIMIT | Rate limit was exceeded | Modify your RateLimit configuration for allowance or period , or limit the number of requests on the client side |
INTROSPECTION_BLOCKED | Introspection was blocked by the Inigo sidecar | Enable introspection using introspection_mode in Access |
REQUEST_VALIDATION_ERROR | Request parsed correctly but is invalid, likely due to missing variable inputs | Check for missing variables in the query |
INVALID_TOKEN | An invalid JWT token was provided | Check the supplied JWT token using an inspection tool such as jwt.io |
Exception Status
Exception cases are either due to misconfiguration or a fatal error in the request processing pipeline.
The behavior of exception cases can be controlled by the failure_mode
configuration in the Service
configuration.
Reason | Description | Suggested Actions |
---|---|---|
MISSING_SCHEMA | A schema is not discovered or configured for the service | Apply a schema using the inigo CLI and integrate into your CI/CD |
MISSING_PROFILE | Profile supplied in the request header is missing from configuration | Check the profiles defined in the Security configuration |
REQUEST_PANIC | Network failure in reading request | Check for connections errors on the client side |
RESPONSE_PANIC | Fatal error in reponse analyze pipeline | Check for a malformed outgoing response from the server |
NON_GRAPHQL_RESPONSE | Invalid response | Check for a malformed outgoing response from the server |
REQUEST_READ_ERROR | Network failure in reading request | Check for connections errors on the client side |
REQUEST_ANALYZE_ERROR | Fatal error in request analyze pipeline | Check for a malformed outgoing request from the client |