Skip to main content
Alerts And Decisioning

Error codes

Overview

The API responses with a non-200 HTTP status code return a standard JSON error body. This structure helps you quickly identify the cause of an error and troubleshoot with support.

Error response schema

Error response schema
Field Type Required Description
title string Yes A short, human-readable summary of the error (e.g., "Bad Request", "Unauthorized").
httpStatus integer No The HTTP status code associated with the error (e.g., 400, 401, 503).
traceId string No A J.P. Morgan-assigned trace identifier for the request, useful for troubleshooting.
requestId string No The client-originated request identifier, if one was provided.
context array No A list of detail objects providing additional information about what went wrong.

Each object in the context array may include:

Context array
Field Type Required Description
code string No A 5-digit J.P. Morgan error code that identifies the specific error. See tables below.
message string Yes A human-readable description of the error.
field string No The field that caused the error. For body errors, this contains the JSON path expression.
location string No Where in the request the error occurred. One of: BODY, PATH, QUERY, or HEADER.

Example error response

{
  "title": "Bad Request",
  "httpStatus": 400,
  "traceId": "0eca2e1a-74b7-44b7-9e66-4a6ec8336eb9",
  "requestId": "UK202109202311354152",
  "context": [
    {
      "code": "10103",
      "message": "Invalid resource identifier format.",
      "field": "id",
      "location": "PATH"
    }
  ]
}

Standard error codes

These error codes are generic across Alerts and Decisioning. The context field points you to the specific issues with the request.

Standard error codes
Error Code HTTP Status Description Emitted From
10001 400 Mandatory field missing or invalid
  • GET /holds — missing required query parameters;
  • POST /holds/{id}/decision — missing required body fields;
  • POST /holds/decision/bulk — missing required body fields
10103 400 Invalid resource identifier format / Bad format
  • GET /holds — malformed query parameter;
  • GET /holds/{id} — malformed path id;
  • POST /holds/{id}/decision — malformed path id or body field;
  • POST /holds/decision/bulk — malformed body field
10104 400 Bad value
  • GET /holds — invalid query parameter value;
  • POST /holds/{id}/decision — invalid value in request body;
  • POST /holds/decision/bulk — invalid value in request body
10108 400 Mutually exclusive fields violation GET /holds — status and substatus query parameters supplied together
10109 429 Rate limit exceeded All endpoints
12000 503 Service unavailable All endpoints
14000 403 Invalid client profile / Forbidden All endpoints — client lacks required permissions, entitlements, or scopes
14001 401 Authentication credentials are missing or invalid All endpoints
(none) 404 Resource not found
  • GET /holds/{id};
  • POST /holds/{id}/decision;
  • POST /holds/decision/bulk