Home / GraphQL API

API Error Handling

Query Errors

If you send an invalid GraphQL query to Highnote, we will reject the query and populate error information in the errors array. These errors are similar to compile time errors when using a typed language and could be triggered if you send an invalid type or miss a required field.

In the case errors are present due to malformed input or selection sets, the API will return a 400 Bad Request response. with the following body:

{
  "data": null,
  "errors": [
    {
      "message": "String cannot represent integer",
      "locations": [{ "line": 1, "column": 6 }],
      "path": []
    }
  ]
}

In general, you should see very few errors of this type after testing in the Test Environment.

Validation and Logic Errors

When performing operations using the API you could have input that is invalid even after testing in the Test Environment. These types of errors are represented as data in the userErrors field and are not present in errors.

Using data for errors allows Highnote to document and tailor what's being returned to your system in a way that's not possible using errors. All mutations have the userErrors field you can select and query for errors.

Troubleshooting with Request ID

When you need help with a response, the Highnote Platform includes a requestId field with a unique identifier for your request. Make sure you log this ID on errors you encounter as this will aid our support team in tracking down and debugging your request and any questions you may have.

The requestId field can be found in the extensions key of the response.

{
  "data": {
    "node": null
  },
  "extenstions": {
    "requestId": "REQUEST_ID"
  }
}

Provide Feedback

Was this content helpful?