Response codes
J.P. Morgan follows standard HTTP conventions to indicate the success or failure of an API request. You should refer to the API reference documentation for an exhaustive list of error codes for each API.
In general:
- Codes in the 2xx range indicate success.
- Codes in the 4xx range indicate a failure to execute the request with the information provided. This might represent a mal-formed request or a synchronous action that fails for business reasons (e.g. insufficient funds, invalid account, etc.).
- Codes in the 5xx range represent interruptions in service.
The following is a non-exhaustive list of statuses you might receive:
- 200OK. Successful query response, or duplicate payment detected (with Duplicate-Request: true header).
- 201Created. Payment successfully initiated.
- 400Bad Request. Malformed request, validation errors, or business rule violations.
- 401Unauthorized. Authentication failure.
- 403Forbidden. Authorization failure or security violation.
- 404 Not Found. Resource does not exist (applies to RTP, P2C, P2W, Zelle, Interac, Kinexys only).
- 422Unprocessable Entity. Syntactically valid but semantically invalid request.
- 429Too Many Requests. Rate limit exceeded.
- 503Service Unavailable. Temporary service disruption (may include Retry-After header).
The majority of error responses contain additional information to aid in problem diagnosis. Review the associated API documentation for use-case specific guidance.