Error Responses

Standard Error Responses

The API uses standard HTTP status codes to indicate the outcome of an API request.

  • A status code in the 2xx range indicates that the operation was completed successfully.

  • A status code in the 3xx range indicates a redirect. This is only used for specific calls, for example for fetching attachments.

  • Any other status code indicates that the operation has failed:

  • A status code in the 4xx range indicates that invalid input from your side is responsible for the error.

  • A status code in the 5xx range indicates that an internal server error on the JourneyApps side is responsible for the error.

In addition to the HTTP status, a JSON error response is returned, with the following fields:

PropertyDescription

type

An unique identifier for the type of error. The type and/or the HTTP status code should be used by the client to determine the type of error.

title

A short human-readable title for the error. This can change at any time, and should never be used by a client to determine the type of error.

detail

Gives more information on what went wrong. This can change at any time, and should never be used by a client to determine the type of error.

see

An URL with more information on the error.

Error types

AUTHENTICATION_FAILED

401 Unauthorized

HTTP Basic: Access denied.

The Backend Deployment ID or password specified for HTTP Basic auth is not valid.

INTERNAL_SERVER_ERROR

500 Internal Server Error

Example response:

{
    "type": "INTERNAL_SERVER_ERROR",
    "title": "Oops! Something went wrong.",
    "detail": "An internal server error has occurred.",
    "see": "https://docs.journeyapps.com/api-errors#INTERNAL_SERVER_ERROR"
}

Something went wrong on the server. Wait a few minutes, then retry the request. If the issue persists, contact support.

OBJECT_NOT_FOUND

404 Not Found

Example response:

{
    "type": "OBJECT_NOT_FOUND",
    "title": "Object not found.",
    "detail": "No task found with ID: 'c3d59ff0-ba4a-11e3-a567-001e6733fe3d'",
    "see": "https://docs.journeyapps.com/api-errors#OBJECT_NOT_FOUND"
}

The object that has been requested could not be found. It may have been deleted, or the ID may be invalid.

INVALID_VALUE

422 Unprocessable Entity

Example response:

{
    "type": "INVALID_VALUE",
    "title": "Invalid value specified.",
    "detail": "Invalid option \"test\" for field 'status'.",
    "see": "https://docs.journeyapps.com/api-errors#INVALID_VALUE"
}

Typically these are:

  • Invalid according to the data model schema.

  • Invalid filenames in attachments, photos or signatures.

See the Field Representation section for details on the accepted values for each field/object type.

INVALID_API_REQUEST

400 Bad Request

Example response:

{
    "type": "INVALID_API_REQUEST",
    "title": "Invalid JSON.",
    "detail": "unexpected token",
    "see": "https://docs.journeyapps.com/api-errors#INVALID_API_REQUEST"
}

The API request is not valid. For example, the body may contain JSON errors or a required parameter may be missing. The detail message should provide more details.

ROUTE_ERROR

404 Not Found

Example response:

{
    "type": "ROUTE_ERROR",
    "title": "Route error.",
    "detail": "No route matches [GET] /api/v4/533bda53027894f69b001055/objec/tasks.json",
    "see": "https://docs.journeyapps.com/api-errors#ROUTE_ERROR"
}

The combination of HTTP method and path is not valid. Ensure that the correct HTTP method is used and that the path is valid according to the documentation.

ACCOUNT_NOT_FOUND

404 Not Found

Example response:

{
    "type": "ACCOUNT_NOT_FOUND",
    "title": "Account not found.",
    "detail": "Could not find account '533bda53027894f69b00105'.",
    "see": "https://docs.journeyapps.com/api-errors#ACCOUNT_NOT_FOUND"
}

The App Instance ID specified in the path could not be found, or the credentials used does not have access to it. Check that the account ID matches the API credentials, and does not contain any errors.

BATCH_ABORTED

424 Failed dependency

Example response:

{
    "type": "BATCH_ABORTED",
    "title": "Batch processing aborted due to error.",
    "detail": "Skipping this operation because a previous operation in this batch failed.",
    "see": "https://docs.journeyapps.com/api-errors#BATCH_ABORTED"
}

When stop_on_error: true is supplied in a Batch API request, this error will be reported for every operation following a failed operation. In this case, none of the operations with this result will have been applied. The failing operation will include the appropriate error.

TOO_MANY_REQUESTS

429 Too Many Requests

Example response:

{
    "type": "TOO_MANY_REQUESTS",
    "title": "Too Many Requests.",
    "detail": "Request rate limit exceeded for this account. Try again later.",
    "see": "https://docs.journeyapps.com/api-errors#TOO_MANY_REQUESTS"
}

The request has been rate-limited. Please refer to our docs on API rate limits.

Last updated