The Percolate APIs use conventional HTTP response codes to indicate success or failure. The table below lists these conventions as followed by our API.

200Success - Worked as expected.
201Success - New resource was created.
401Bad or expired access_token.
403Target resource was not found. Either because it does not exist or because the access token and scope do not provide permission for the target resource and method.
409Resource conflict.
429The API client has exceeded it's rate limiting quota.
5xxErrors have occurred within the Percolate server infrastructure.

The body of 4xx error responses is formatted as follows:

        "errors": [
                "code": "input:invalid_value",
                "message": "Invalid attribute(s) given: license_id",
                "key": "$.include",
                "value": "license_id"

The value of the key parameter indicates the which input data triggered the error. A value of null for this parameter indicates errors that aren't specific to one input field. Depending on the API endpoint, there may be additional attributes on the error object that provides more context for the error.