Table of Contents

Error responses


The Cardinus Indigo API follows the standards specified in RFC7807 and RFC9457 relating to a standard format describing problems with the processing of a request sent to an API. All error responses will be in JSON format with the content-type set to application/problem+json. The properties are defined as:

Property Description Required (RFC 7807/9457)
type A URI reference that identifies the problem type. Yes
title A short, human-readable summary of the problem type. Yes
status The HTTP status code generated by the server for this occurrence of the problem. Yes
detail A human-readable explanation specific to this occurrence of the problem. No
message A human-readable explanation specific to this occurrence of the problem. This is used for legacy API endpoints. No
instance A URI reference that identifies the specific occurrence of the problem. No

In addition to these properties, there may be additional properties such as traceId or errorId which can be used by technical support to help provide resolutions to problems. Ensure that the client parsing logic can ignore additional properties on the response object.

Below is an example response.

{
  "type": "https://docs.cardinus.com/articles/indigo/api/http-codes.html#invalidcredentials",
  "status": 401,
  "title": "Invalid credentials",
  "detail": "The credentials used for accessing the API are invalid.",
  "message": "Error: Request name and API login must have access to same client to continue",
  "traceId": "d43d9a7b-f7f5-4ac6-8916-4e1b37761c3d"
}

The type property will contain a link to the error in this article.

ApiDisabled

Issue: The API is disabled.

Status: 403 Forbidden

Cause: The API has been disabled for the account. Contact Cardinus Support [email protected] who can advise.

ScheduledMaintenance

Issue: The API is offline for scheduled maintenance.

Status: 503 Service Unavailable

Cause: The API has been restricted because the service is currently undergoing maintenance. Check back later when service has resumed.

RateExceeded

Issue: The client has exceeded the allowed request rate.

Status: 429 Too Many Requests

Cause: This error indicates that the client or clients have sent too many requests in a short period of time. The response details will include details of the allowed rate and when more requests can be reattempted. See Rate limits for more information.

QuotaExceeded

Issue: The client has reached the allowed quantity of requests.

Status: 429 Too Many Requests

Cause: Each customer gets a quota of requests that clients can make to the API. The error response will indicate when the quota resets. See Rate limits for more information. This quota depends upon the service subscription. Contact Cardinus Support [email protected] if you want to arrange a larger quota.

FatalError

Issue: An unexpected error occurred which caused the request to fail.

Status: 500 Internal Server Error

Cause: This error is returned when an unexpected issue has caused the API to fail to process the request. If this error keeps happening then contact Cardinus Support [email protected] for help.

RecordNotFound

Issue: Record not found with given identifier.

Status: 404 Not Found

Cause: The given identifier has failed to resolve to any records. Ensure that the identifier given in the request is correct, and that the data has not been removed from the system.

MissingProperties

Issue: Required properties are missing from the payload.

Status: 400 Bad Request

Cause: The API requires properties to complete processing the request which were not included in the request payload. The error response will indicate which properties it is expecting.

MissingPayload

Issue: No payload was supplied with the request.

Status: 400 Bad Request

Cause: Some API endpoints require a payload with data. This error indicates that the payload has been left out of the request entirely. Check the documentation for the endpoint you are calling for details of the payload to include.

NoContent

Issue: No report content was available

Status: 204 No Content

Cause: This error indicates that no report content was available for the identifier passed in.

InvalidParameter

Issue: Parameter passed in was invalid

Status: 400 Bad Request

Cause: This error indicates that there was an issue with one of the parameters passed into the payload and could not be processed. Check the documentation for the endpoint you are calling for details of the parameters.

InvalidStatus

Issue: The record trying to be updated is in the incorrect status

Status: 400 Bad Request

Cause: This error indicates that the record trying to be updated is in a status that does not allow updates.

InvalidCredentials

Issue: The credentials passed across are invalid

Status: 401 Unauthorized

Cause: The username and password used to validate access to the API are invalid. See Authentication for more information.

MissingAuthorizationHeader

Issue: The Authorisation is missing from the request

Status: 401 Unauthorized

Cause: The username and password used to validate access to the API are missing from the header. See Authentication for more information.