If you encounter an error, the Intuit GraphQL API server returns an error message. These messages give you clues about the issue’s source and cause.
Server responses for gateway and service errors have an intuit_tid
field in the header.
Capture this field’s value. It will help our support team quickly find and address reported issues.
When requests from apps go to our servers, they first pass through a gateway layer. Then they pass through the GraphQL Service layer. Thus, there are two general types: gateway errors and service errors.
Review the HTTP Status Code (xxx). This tells you the error type:
Gateway errors are generated when requests hit our server’s gateway layer. They apply to the whole request and follow the gateway error response format.
1 2 3 4 5 6 7 8 | HTTP Status Code 401 { "code": "AuthenticationFailed", "type": "INPUT", "message": null, "detail": "Malformed bearer token: too short or too long", "moreInfo": null } |
In the server response, review the following fields:
Many gateway errors are self-explanatory. Some require a bit more digging. For 403 errors, you may need to adjust code for user roles. For 401 errors, you may need to update your app’s access or refresh tokens.
Status code | Error details |
---|---|
302 | Validation Error |
401 | Resource redirect or resource has moved |
403 | Unauthenticated access: application authentication failed due to invalid or expired tokens |
403 | Resource not found: routing error, access or configuration on the Gateway, or incorrect resource requested |
405 | Method not allowed: attempt to request other than GET/POST requests |
429 | Too many requests: request is throttled as it exceeded the throttle policy. |
500 | Internal Server Error: missing POST body or other exceptions within application, or a service outage |
502 | Bad Gateway: Infrastructure misconfiguration, propagates response from downstream, or a service outage |
503 | Service unavailable: Outage |
504 | Service timeout: Outage |
Service errors are generated when requests hit our server’s service layer.
Service errors only apply to a subset of requests, not the entire request. Responses follow the standard GraphQL service format.
Status code | Error details |
---|---|
200 | Authorization errors due to incorrect scope, or partial semantic errors. |
400 | GraphQL validation errors such as invalid or malformed requests and missing variables, or system errors. |
Most service errors are in response to malformed queries, parsing problems, validation issues, or incorrect scopes. As a result, the server won’t authorize the request.
Here’s an example validation error:
1 2 3 4 5 6 7 8 9 10 | "errors": [ { "message": "VAL-0001 Failed to fetch name for account with id#1", "locations": [ { "line": 6, "column": 7 } ], "path": [ "company", "account", 1, "name" ] "extensions": { "classification": "VALIDATION_ERROR" } } ] |
Review the server response and use it as a guide. Each field gives clues for what failed, where, and how to fix it:
Error Type | Error Code | Message | Description |
VALIDATION_ERROR | V4_EXECUTION_FAILED | Failed to execute V4 request. | An internal server error occurred. Retry after a few minutes. |
SYSTEM_ERROR | V4_MAPPING_ERROR | V4_MAPPING_ERROR | An internal server error occurred. Retry after a few minutes. |
INVALID_REQUEST | V4_ENTITY_CHECK_FAILED | Check Entity Response Failure | An internal server error occurred. Retry after a few minutes. |
INVALID_REQUEST | V4_ENTITY_CHECK_FAILED | Invalid filter input. Multiple filter operations specified, only a single operation is allowed. | An internal server error occurred. Retry after a few minutes. |
INVALID_REQUEST | NA | V4 Interaction Request is null. | An internal server error occurred. Retry after a few minutes. |
SYSTEM_ERROR | V4_MISSING_RESPONSE_NODE | Property node is missing in edges. | An error occurred while mapping the v4 response to CustomFieldDefinitionsConnection . |
SYSTEM_ERROR | V4_ENTITY_CHECK_FAILED | customFieldDefinitions field is missing in response | An error occurred getting the property company while mapping the v4 response to CustomFieldDefinitionsConnection . |
SYSTEM_ERROR | V4_MISSING_CFD_RESPONSE | Company field is missing in response | An error in getting the property customFieldDefinitions while mapping the v4 response to CustomFieldDefinitionsConnection . |
SYSTEM_ERROR | V4_MISSING_COMPANY_RESPONSE | Data field is missing in response | An error occurred getting the property data while mapping the v4 response to CustomFieldDefinitionsConnection``(Method ``extractEdge not used). |
SYSTEM_ERROR | V4_MISSING_RESPONSE_DATA | %s Key field is missing in response | An error occurred getting a property while mapping the v4 response to CustomFieldDefinitionsConnection``(Method ``extractEdge not used). |
SYSTEM_ERROR | V4_MISSING_RESPONSE_KEY | Resource is missing | A resource is missing in the write payload while creating a GraphQL entity for a monolith call. |
VALIDATION_ERROR | V4_MISSING_RESOURCE | request type is unsupported | Occurs when a request type is not write or read. This is for internal execution flow. |
SYSTEM_ERROR | V4_MISSING_RESOURCE | Resource is missing | A resource is missing in the write payload while creating a GraphQL entity for a monolith call. |
VALIDATION_ERROR | V4_UNSUPPORTED_TYPE_REQUEST | request type is unsupported | Whenever request type is not write or read, This is for internal execution flow |
SYSTEM_ERROR | UNEXPECTED_ERROR | Some unknown error occurred | An error has occurred but an error code has not been passed. |
SYSTEM_ERROR | INTERNAL_SERVER_ERROR | An internal server error has occurred. | A general exception has occurred. |
VALIDATION_ERROR | CUSTOM_FIELD_LIMIT_EXCEEDED | Custom field limit exceeded | The number of custom fields has exceeded the number allowed for the product SKU. |
VALIDATION_ERROR | ACTIVE_SUB_ASSOCIATION_REQUIRED | Custom field missing entity condition | No active sub entity. |
VALIDATION_ERROR | INVALID_SUB_ASSOCIATION | Custom field unsupported entity condition | No valid sub entity. |
VALIDATION_ERROR | INVALID_DATA_TYPE | Invalid custom field definition data type | Data type is invalid. |
VALIDATION_ERROR | INVALID_ASSOCIATION | Invalid custom field definition associated entity | validates mandatory fields in custom field definition associations and throws an exception when any entity is invalid. If associatedEntity not of type project, contact or transaction |
VALIDATION_ERROR | ITEM_REQUIRED_IN_SUB_ASSOCIATIONS | Invalid custom field definition sub association | The sub association list is empty. |
VALIDATION_ERROR | DUPLICATE_ASSOCIATION | Custom field definition duplicate association | A duplicate field definition has caused an association to be passed twice. |
VALIDATION_ERROR | DUPLICATE_SUB_ASSOCIATION | Custom field definition duplicate sub association | A duplicate field definition has caused a sub association to be passed twice. |
VALIDATION_ERROR | ACTIVE_ITEM_REQUIRED_IN_DROPDOWN | Custom field definition dropdown type invalid active allowed values count | The allowed values count is invalid. Count must be less than 2. |
VALIDATION_ERROR | PRINT_OPERATION_ALLOWED_ONLY | Custom field definition invalid allowed operation | Only the print operation is allowed. |
VALIDATION_ERROR | MISSING_ALLOWED_VALUES | Custom field definition value missing in dropdown allowed value | The dropdown list has been added but a null value or no value has been passed to the Value field of the dropdown list. |
VALIDATION_ERROR | DUPLICATE_ALLOWED_VALUE | Custom field definition duplicate value in dropdown allowed value | The Value field in the dropdown has a duplicate definition. |
VALIDATION_ERROR | LABEL_REQUIRED | Custom field definition null or empty label | The custom field definition label is null or empty. |
VALIDATION_ERROR | LABEL_ALREADY_EXISTS | Custom field definition duplicate label | The custom field definition label already exists. |
VALIDATION_ERROR | LABEL_LENGTH_EXCEEDED | Custom field definition label length exceeded | The custom field definition label is too long. |
VALIDATION_ERROR | INVALID_LABEL_CHARACTERS | Custom field definition label regex mismatch | The label contains special characters or doesn’t match the validations for naming a custom field. |
VALIDATION_ERROR | DUPLICATE_ALLOWED_VALUE_ID | Custom field definition duplicate id in dropdown allowed value | The dropdown list has been added but the Id field has duplicate values in the list. |
VALIDATION_ERROR | UNSUPPORTED_DATA_TYPE | Unsupported custom field definition data type for company sku | Supported data types vary by product - for example, QuickBooks Online Simple Start supports only the text type for a custom field. |
VALIDATION_ERROR | ITEM_REQUIRED_IN_DROPDOWN | Custom field definition value no dropdown allowed values present | Dropdown values not allowed for the current custom field definition. |
VALIDATION_ERROR | PRINT_NOT_SUPPORTED_IN_ALLOWED_OPERATION | Custom field definition print limit exceeded for sub entity | Print was passed for sub associations (transactions) for which print is not supported. |
VALIDATION_ERROR | PRINT_LIMIT_EXCEEDED_FOR_ENTITY | Custom field definition print limit exceeded | Print is limited to three transactions, i.e., “SALE”, “SALE_INVOICE”, “SALE_ESTIMATE”. |
VALIDATION_ERROR | ID_REQUIRED | Missing id in custom field definition | The custom field definition ID was not passed during update. |
SYSTEM_ERROR | CUSTOM_FIELD_SAVE_FAILED | Error saving Custom field definition | An error occurred while saving the custom field definition. Retry after a few minutes. |
VALIDATIONS_NOT_FOUND | An error occurred while fetching the threshold limits. | ||
SYSTEM_ERROR | ID_NOT_FOUND | Custom field to be updated not found | The ID for the update entity doesn’t exist. |
SYSTEM_ERROR | UNEXPECTED_UPDATE_FAILED | Custom field update not supported | The legacyID v4 is not passed correctly or doesn’t match existing custom field definitions. |
SYSTEM_ERROR | READ_ERROR | Error reading Custom field definitions | An error has occurred reading a custom field definition. Retry after a few minutes. |
VALIDATION_ERROR | FIELD_MISSING | Field %s cannot be null or empty | Thrown when a field is null or empty. |
VALIDATION_ERROR | ACTIVE_ITEM_REQUIRED_IN_SUB_ASSOCIATIONS | Custom field missing active entity | No active sub associations. |
INVALID_REQUEST | AUTHORIZATION_DENIED | Forbidden Access | The user does not have the required permission to make a request. |
SYSTEM_ERROR | AUTHORIZATION_FETCH_FAILED | Failed to fetch authz decision | A connection or gateway timeout has occurred. |
SYSTEM_ERROR | UNDETERMINED_AUTHORIZATION_DECISION | AuthZ could not get a expected decision | The authZ response is indeterminate or not applicable. |
VALIDATION_ERROR | EXPIRED_QBO_SUBSCRIPTION | You can’t add data for Quickbooks Online because your trial or subscription period ended, you canceled your subscription or there is a billing problem. Please renew your subscription and retry. | The QuickBooks Online subscription has expired. |
SYSTEM_ERROR | ENTITLEMENT_ERROR | Error encountered while fetching QBO Entitlement | An entitlement error has occurred. |
Error Code | Description |
37138 | Either the tax group is invalid or there are no active rates associated with it. |
37108 | API sent missing or invalid request to tax calculation. |
37111 | Tax API has failed while servicing the request. This can also be due to an account (without nexus) not being set up for calculating sales tax. |
19837 | Could not fetch tax recommendation because of invalid line amounts. |
37109 | We’re unable to fetch a mapping account for the company. (with Nexus and AST might not be set up) |
19833 | Could not calculate because of missing or invalid date input. |
19834 | Could not calculate due to invalid ship from address. |
19835 | Could not calculate due to invalid ship to address. |
Error Code | Message |
DUPLICATE_PROJECT_NAME_FOR_CLIENT | Project name already exists |
INVALID_EMAIL_ADDRESS | Invalid Email, It should be valid and should follow the standard email format |
WORKFLOW_QUERY_JOB_NOT_FOUND | Job with id 300 not found |
WORKFLOW_INVALID_JOB_ID | Job id is invalid. |
WORKFLOW_QUERY_DATE_RANGE_ERROR | The date range Tue Oct 07 00:00:00 UTC 2025 to Fri Dec 06 00:00:00 UTC 2024 is invalid |
INVALID_STATUS | Status %s is invalid |
ValidationError | “Variable ‘status’ has an invalid value: Invalid input for Enum ‘ProjectManagement_Status’. No value found for name ‘OPENN |
INVALID_ASSIGNEE_ID | Assignee Id must be exactly 15 characters. |
INSERVICETOTYPE_DEFAULT_ERROR | InService type Contact : Client oii id & local id cannot be null; for type SELF: Client oii id & local id must be null |
NULL_NAME | Name must not be null. |
INVALID_PROJECT_NAME_WITH_COLON | Project name cannot include a colon. |
INVALID_PROJECT_NAME_ONLY_WHITE_SPACES | Project names cannot only contain white spaces. |
NULL_TEAM | Team must not be null. |
INVALID_TEAM | Team must be exactly 15 characters. |
INVALID_PROJECT_COMPLETION_RATE_AMOUNT | Project completion rate must be between 00.00 and 100.00 |
ADDRESSLINE1_EXCEEDS_CHARACTER_LIMIT | Exception while fetching data (/projectManagementCreateProject) : No enum constant com.intuit.qba.workflow.service.error.WorkflowError.ADDRESSLINE1_EXCEEDS_CHARACTER_LIMIT |
INVALID_DESCRIPTION_SIZE | Description must be between 0-1500 characters. |
INVALID_QUERY_ENTITY_ID_LIMIT | Project IDs exceeded the limit of %s |
INVALID_NAME | Name must be between 1-80 characters |
INVALID_PRIORITY | Project priority must be null or in range [0,9] |
AUTHZ_ERROR | Something went wrong in AuthZ: %s |
AUTHZ_VERIFY_ACCESS_ERROR | VerifyAccess DENY from AuthZ: % |
AUTHZ_UNDETERMINDED_DECISION_ERROR | AuthZ could not get a expected decision: %s |
AUTHZ_DENIED_ERROR | AuthZ denied decision |
AUTHORIZATION_INVALID_TARGET_REALM | Authorization failed: target realm id is invalid |
AUTHORIZATION_INVALID_CSRF | Authorization failed: CSRF is invalid for the realm |
DEFAULT_ERROR | An error has occurred. %s |
DataFetchingException | After cursor value should be null or base64 string value |
GRAPHQL_VALIDATION_FAILED | String cannot represent a non string value |