openapi: 3.2.0 info: title: Alerts and Decisioning Payment Holds API version: 1.0.5 contact: name: JPMorgan Chase & Co. API support email: ismd.security.operations@jpmorgan.com url: https://apistore.jpmchase.net/support/contact description: 'Programmatically receives and decisions Payment Holds, automating your fraud review and hold resolution workflow to minimize operational delays while adhering to corporate IT standards. ' servers: - url: https://api.payments.jpmorgan.com/trust-safety/v1 description: PRODUCTION - MTLS - url: https://api-cat.payments.jpmorgan.com/trust-safety/v1 description: CLIENT TESTING - MTLS - url: https://api-mock.payments.jpmorgan.com/trust-safety/v1 description: MOCK tags: - name: Payment Holds description: Manage Payment Holds paths: /holds: get: summary: Retrieve Payment Holds description: '**Retrieve payment holds** Returns a paginated list of payment holds, optionally filtered by status, substatus, and date range. #### Filtering by `status` vs `substatus` The `status` and `substatus` query parameters are **mutually exclusive** — you may use one or the other, but not both in the same request. If both are provided, the API will return a `400 Bad Request` error. Use **`status`** for broad filtering based on the high-level state of a hold: | Value | Description | |-------|-------------| | `PENDING` | Returns all holds awaiting a decision, regardless of whether they are pending client action or bank review | | `APPROVED` | Returns holds that have been approved | | `REJECTED` | Returns holds that have been rejected. Can use both `APPROVED` and `REJECTED` together to retrieve all decisioned holds. | Use **`substatus`** for more granular filtering when you need to distinguish _who_ needs to act or _how_ a hold was resolved: | Value | Description | |-------|-------------| | `PENDING_ACTION_CLIENT` | Holds awaiting a decision by the client | | `PENDING_ACTION_JPM` | Holds under review by the bank | Can also use substatus to filter for holds decisioned by specific entity (client or JPM) or for a particular reason. If neither parameter is provided, holds across all statuses are returned. ' tags: - Payment Holds operationId: getPaymentHolds x-parameter-constraints: - type: mutually-exclusive params: - status - substatus parameters: - $ref: '#/components/parameters/Status' - $ref: '#/components/parameters/substatus' - $ref: '#/components/parameters/StartDateTime' - $ref: '#/components/parameters/EndDateTime' - $ref: '#/components/parameters/Sort' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/PageSize' responses: '200': description: Retrieve Payment Holds headers: Cache-Control: schema: type: string default: no-store description: Caching directive for sensitive financial data content: application/json: schema: $ref: '#/components/schemas/PaymentHolds' examples: Pending Client Action: $ref: '#/components/examples/PendingClientDecisionResponse' Pending JPM Review: $ref: '#/components/examples/PendingBankDecisionResponse' Pending Bank Or Client Decision: $ref: '#/components/examples/PendingBankOrClientDecisionResponse' Already Decisioned: $ref: '#/components/examples/AlreadyDecisionedResponse' '400': description: "Bad Request. \n\n**List of error codes and descriptions**\n\n| Error Code | Description |\n| -------------- |------------------------------------------------|\n| 10001 | Mandatory field missing or invalid |\n| 10103 | Bad Format |\n| 10104 | Bad Value |\n| 10108 | Mutually exclusive fields violation |" content: application/json: schema: $ref: '#/components/schemas/Error' examples: Bad Status: $ref: '#/components/examples/BadIdentifier' Filter By Status And Substatus (Not Allowed): $ref: '#/components/examples/FilterByStatusAndSubstatusErrorResponse' '401': $ref: '#/components/responses/401-Unauthorized' '403': $ref: '#/components/responses/403-Forbidden' '429': $ref: '#/components/responses/429-TooManyRequests' '503': $ref: '#/components/responses/503-ServiceUnavailable' /holds/{id}: get: summary: Retrieve details of a payment hold description: '**Retrieve details of a single payment hold by identifier**' tags: - Payment Holds operationId: getPaymentHoldDetails parameters: - name: id in: path description: Unique identifier for the payment hold required: true schema: $ref: '#/components/schemas/Uuid' examples: By Id: value: 06bca14f-1fc0-4cd7-9e0b-8bb7e06334f7 responses: '200': description: Payment Hold Details headers: Cache-Control: schema: type: string default: no-store description: Caching directive for sensitive financial data content: application/json: schema: $ref: '#/components/schemas/PaymentHold' examples: Wire Transfer: $ref: '#/components/examples/RetrieveSingleHoldResponse' ACH Distributed: $ref: '#/components/examples/RetrieveSingleHoldAchDistributedResponse' '400': description: 'Bad Request. **List of error codes and descriptions** | Error Code | Description | | -------------- |------------------------------------------------| | 10103 | Bad Format | | 11004 | Wrong channel for hold |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Bad Identifier: $ref: '#/components/examples/BadIdentifier' Wrong Channel: value: title: Bad Request httpStatus: 400 traceId: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01 requestId: 123e4567-e89b-12d3-a456-426614174000 context: - code: '11004' message: Wrong channel for hold '401': $ref: '#/components/responses/401-Unauthorized' '403': $ref: '#/components/responses/403-Forbidden' '404': $ref: '#/components/responses/404-NotFound' '429': $ref: '#/components/responses/429-TooManyRequests' '503': $ref: '#/components/responses/503-ServiceUnavailable' /holds/{id}/decision: post: summary: Decision Single Payment Hold description: '**Decision Single Payment Hold** This endpoint allows users to take action on a single payment hold by approving or rejecting it. Users can specify the decision action (APPROVE or REJECT), provide a reason for rejection, and indicate the type of confirmed fraud if applicable. For bulk processing of multiple hold decisions, use the `/holds/decision/bulk` endpoint instead.' tags: - Payment Holds operationId: decisionPaymentHold parameters: - name: id in: path description: Unique identifier for the payment hold required: true schema: $ref: '#/components/schemas/Uuid' examples: Approve: value: f1c2b3a4-5d6e-4f70-8a9c-1234abcd5678 Reject: value: 550e8400-e29b-41d4-a716-446655440000 Expired: value: 9b1d3f2a-6c8e-4f5a-9d2b-3e7a1c4b8d90 Already Decisioned: value: 3d6f9a2c-5e47-4b1f-8c3a-0d2e7f9b6a10 requestBody: required: true description: Hold Action content: application/json: schema: $ref: '#/components/schemas/DecisionActionRequest' examples: Approve: $ref: '#/components/examples/HoldDecisionApproveActionRequest' Reject: $ref: '#/components/examples/HoldDecisionRejectActionRequest' Incorrect Field Values: $ref: '#/components/examples/HoldBadValuesRequest' responses: '200': description: Decision response for the payment hold action content: application/json: schema: $ref: '#/components/schemas/DecisionResponse' examples: Approve: $ref: '#/components/examples/HoldDecisionApproveActionResponse' Reject: $ref: '#/components/examples/HoldDecisionRejectActionResponse' '400': description: "Bad Request. \n\n**List of error codes and descriptions**\n\n| Error Code | Description |\n| -------------- |----------------------------------------------------------|\n| 10001 | Mandatory field missing |\n| 10103 | Bad format |\n| 10104 | Bad Value |\n| 11003 | Field only allowed for specific value of other field |" content: application/json: schema: $ref: '#/components/schemas/Error' examples: Bad Identifier: $ref: '#/components/examples/BadIdentifier' '401': $ref: '#/components/responses/401-Unauthorized' '403': $ref: '#/components/responses/403-Forbidden' '404': $ref: '#/components/responses/404-NotFound' '409': description: 'Conflict **List of error codes and descriptions** | Error Code | Description | | -------------- |------------------------------------------------| | 11000 | Hold has expired | | 11001 | Hold already decisioned | | 11004 | Wrong channel for hold | **Hold Already Decisioned (11001):** A payment hold may only be decisioned once. In rare cases, two users may attempt to decision the same hold at nearly the same time. When this occurs, only the first request will succeed — the subsequent request will receive a `409 Conflict` with error code `11001`. While this scenario is uncommon, API consumers must handle this response gracefully.' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Expired: $ref: '#/components/examples/HoldExpiredResponse' Already Decisioned: $ref: '#/components/examples/HoldAlreadyDecisionedResponse' Wrong Channel: value: title: Conflict httpStatus: 409 traceId: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01 requestId: 123e4567-e89b-12d3-a456-426614174000 context: - code: '11004' message: Wrong channel for hold Incorrect Field Values: $ref: '#/components/examples/HoldBadValuesResponse' '429': $ref: '#/components/responses/429-TooManyRequests' '503': $ref: '#/components/responses/503-ServiceUnavailable' /holds/decision/bulk: post: summary: Decision Multiple Payment Holds (Bulk) description: '**Decision Multiple Payment Holds (Bulk)** This endpoint allows users to take action on multiple payment holds simultaneously by approving or rejecting them. The API supports batch processing of multiple hold decisions, enabling efficient processing of large volumes of holds. Each decision in the batch can have its own action (APPROVE or REJECT), rejection reason, and confirmed fraud type. For processing a single hold decision, use the `/holds/{id}/decision` endpoint instead.' tags: - Payment Holds operationId: decisionPaymentHoldsBulk requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DecisionBulkRequest' examples: Mixed Results: $ref: '#/components/examples/HoldDecisionManyRequest' responses: '200': description: Bulk response object containing decision responses for each hold content: application/json: schema: $ref: '#/components/schemas/DecisionBulkResponse' examples: Mixed Results: $ref: '#/components/examples/HoldDecisionManyResponse' '400': description: 'Bad Request. **List of error codes and descriptions** | Error Code | Description | | -------------- |------------------------------------------------| | 10001 | Mandatory field missing or invalid | | 10103 | Bad Format | | 10104 | Bad Value |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Bad Identifier: $ref: '#/components/examples/BadIdentifier' '401': $ref: '#/components/responses/401-Unauthorized' '403': $ref: '#/components/responses/403-Forbidden' '409': description: 'Conflict **List of error codes and descriptions** | Error Code | Description | | -------------- |------------------------------------------------| | 11000 | Hold has expired | | 11001 | Hold already decisioned |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Expired: $ref: '#/components/examples/HoldExpiredResponse' Already Decisioned: $ref: '#/components/examples/HoldAlreadyDecisionedResponse' '429': $ref: '#/components/responses/429-TooManyRequests' '503': $ref: '#/components/responses/503-ServiceUnavailable' components: schemas: FailureReason: type: object title: FailureReason description: Failure reason details with code and message properties: code: type: string description: Error code that identifies the failure reason minLength: 1 maxLength: 50 message: type: string description: Human readable textual description of the failure minLength: 1 maxLength: 500 example: code: '10001' message: Invalid hold version provided AdditionalContext: title: Additional Context type: array description: Additional details about the error based on a standard (e.g. ISO or Clearing codes) items: $ref: '#/components/schemas/StandardCodeContext' minItems: 1 maxItems: 5 PaymentHolds: type: object title: PaymentHolds description: List of Payment Holds properties: items: type: array minItems: 0 maxItems: 25 items: $ref: '#/components/schemas/PaymentHold' metadata: title: PaymentHoldsMetadata type: object description: Contains pagination information to move through the result set properties: pagination: $ref: '#/components/schemas/Pagination' asOf: type: string format: date-time description: Format - `YYYY-MM-DDThh:mm:ss`+/-time offset to UTC required: - items - metadata UnstructuredAddress: title: UnstructuredAddress type: array description: Unstructured Addresses minItems: 1 maxItems: 7 items: type: string minLength: 1 maxLength: 70 IndividualIdentification: type: object title: Individual Identification description: Individual Identification Schemes required: - individualIds properties: individualIds: type: array minItems: 1 maxItems: 16 items: $ref: '#/components/schemas/IndividualId' Error: type: object x-tags: - common-error-model - common-components title: Error description: Common Error Model properties: title: type: string title: Short humanly-readable title of the error. minLength: 1 maxLength: 100 httpStatus: type: integer format: int32 minimum: 100 maximum: 599 default: 400 title: HTTP Status Code traceId: type: string title: JPMC Assigned traced identifier minLength: 1 maxLength: 100 requestId: type: string title: The 'client originated' requestId minLength: 1 maxLength: 100 context: type: array title: Provides additional context and detail on the validation errors items: $ref: '#/components/schemas/ErrorContext' minItems: 1 maxItems: 100 required: - title readOnly: true UltimateCreditor: title: UltimateCreditor type: object description: Represents the ultimate beneficiary of the funds in the payment transaction. This is the final recipient who will receive the funds, even if the payment is credited to an intermediary account first. This schema captures all relevant identifying and account details of the ultimate creditor. allOf: - $ref: '#/components/schemas/Party' UltimateDebtor: title: UltimateDebtor type: object description: Represents the ultimate party responsible for the payment, who is the original source of funds in the transaction, even if the payment is made on their behalf by another party. This schema captures all relevant identifying and account details of the ultimate debtor. allOf: - $ref: '#/components/schemas/Party' AdditionalInstitutions: title: AdditionalInstitutions type: array description: Additional Institutions minItems: 1 maxItems: 100 items: $ref: '#/components/schemas/AdditionalInstitution' TransferType: title: TransferType type: string enum: - CREDIT - DEBIT description: 'Indicates the direction of the money movement. The transaction is either a `credit` push transfer or a direct `debit` pull transfer. | Market/Instrument | Transfer Type | |-------------------|---------------| | Credit Transfers | CREDIT | | Direct-Debits | DEBIT | ' EndToEndId: type: string title: EndToEndId minLength: 1 maxLength: 128 x-faker: random.uuid description: 'Customer assigned Unique identifier to unambiguously identify the Payment transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.' example: AD202109311354152 StreetName: title: StreetName type: string description: Street name minLength: 1 maxLength: 70 example: Main St PaymentIdentifiers: type: object title: PaymentIdentifiers description: Identifiers associated with the Payment Instruction throughout its lifecycle. required: - endToEndId properties: endToEndId: $ref: '#/components/schemas/EndToEndId' otherPaymentReferences: type: object title: OtherPaymentReferences description: Other Payment Reference Identifiers properties: relatedReferenceId: type: string description: Related reference Identifier, applicable for ACH and WIRES only. uetr: type: string description: A Unique End-to-end Transaction Reference (commonly known as a UETR) is a string of 36 unique characters featured in all payment instruction messages carried over SWIFT. minProperties: 1 PaymentType: title: PaymentType type: string enum: - WIRE - ACH - RTP description: The type of payment being initiated - **WIRE** for Wire Payments, **ACH** for ACH Payments, **RTP** for Real-Time Payments DecisionBulkResponse: type: object title: DecisionBulkResponse description: Bulk response for multiple payment hold decisions properties: items: type: array minItems: 0 maxItems: 25 items: $ref: '#/components/schemas/DecisionResponse' example: items: - holdId: 550e8400-e29b-41d4-a716-446655440000 result: SUCCESS status: REJECTED substatus: REJECTED_FRAUD_CLIENT - holdId: 6ba7b810-9dad-11d1-80b4-00c04fd430c8 result: FAILURE failureReason: code: '10001' message: Invalid hold version provided FinancialInstitutionIdType: type: string enum: - BIC - USABA - SORT_CODE - CLEARING_SYSTEM_ID Fraud: type: object title: Fraud description: 'Fraud details associated with a rejected payment hold. Only present when `rejectReason` is `FRAUD`. ' properties: type: $ref: '#/components/schemas/FraudType' additionalInformation: type: string description: Free-form text providing additional context about the fraud. Recommended when `type` is `OTHER`. minLength: 1 maxLength: 500 Distribution: title: Distribution description: 'Describes distribution details for ACH payment hold. JPM might distribute the payment after a hold is created,but before the hold is decisioned. You should still decision the hold. If you choose `REJECT`, that will kick off a back office process to recover the funds. This field is only present when `paymentType` is `ACH` ' type: object properties: isDistributed: type: boolean description: Indicates whether the ACH payment has been distributed. default: false distributedAt: type: string description: The date and time at which the ACH payment was distributed. Format - `YYYY-MM-DDThh:mm:ss`+/-time offset to UTC. Only present when `isDistributed` is `true`. format: date-time DecisionRejectReason: type: string description: 'Reason for REJECT action. Only populated for action=REJECT and when status=REJECTED. If the reason is "Fraud", additional fraud details should be provided in the `fraud` field. | Enum Value | Description | |------------|-------------| | TRANSACTION_NO_LONGER_NEEDED | The transaction is no longer required by the client | | DUPLICATE_TRANSACTION | The transaction is a duplicate of another payment | | INCORRECT_BENEFICIARY | The beneficiary details are incorrect or invalid | | FRAUD | Fraud is suspected; requires `fraud` field | ' enum: - TRANSACTION_NO_LONGER_NEEDED - DUPLICATE_TRANSACTION - INCORRECT_BENEFICIARY - FRAUD IsoCountryCode: title: IsoCountryCode type: string description: ISO 3166-1 Alpha-2 Country Code minLength: 2 maxLength: 2 pattern: ^[A-Z]{2}$ example: AU InitiatingParty: title: InitiatingParty type: object description: The financial institution or agent that initiates the payment or transaction on behalf of the ordering party. allOf: - $ref: '#/components/schemas/Party' DecisionSubstatus: type: string description: 'Substatus providing additional detail on the current state of the payment hold. | Enum Value | Description | |------------|-------------| | PENDING_ACTION_CLIENT | Payment is pending a decision by client. Payment held until decision is made, at which time it can be released or canceled depending on decision | | PENDING_ACTION_JPM | Payment is pending a decision by bank. Only bank can release or reject this payment | | APPROVED_CLIENT | Hold has been approved by client | | APPROVED_JPM | Hold has been approved by the bank | | REJECTED_FRAUD_CLIENT | Hold marked as fraud by client | | REJECTED_FRAUD_JPM | Fraud has been confirmed by bank | | REJECTED_AUTO_CANCELLED_JPM | Payment was automatically cancelled by JPM due to expiration | | REJECTED_TXN_NOT_NEEDED_CLIENT | Payment rejected as transaction is not needed by client | | REJECTED_TXN_NOT_NEEDED_JPM | Payment rejected as transaction is not needed by bank | | REJECTED_DUPLICATE_TXN_CLIENT | Payment rejected as duplicate transaction by client | | REJECTED_DUPLICATE_TXN_JPM | Payment rejected as duplicate transaction by bank | | REJECTED_INCORRECT_BENEFICIARY_CLIENT | Payment rejected due to incorrect beneficiary by client | | REJECTED_INCORRECT_BENEFICIARY_JPM | Payment rejected due to incorrect beneficiary by bank | ' enum: - PENDING_ACTION_CLIENT - PENDING_ACTION_JPM - APPROVED_CLIENT - APPROVED_JPM - REJECTED_FRAUD_CLIENT - REJECTED_FRAUD_JPM - REJECTED_AUTO_CANCELLED_JPM - REJECTED_TXN_NOT_NEEDED_CLIENT - REJECTED_TXN_NOT_NEEDED_JPM - REJECTED_DUPLICATE_TXN_CLIENT - REJECTED_DUPLICATE_TXN_JPM - REJECTED_INCORRECT_BENEFICIARY_CLIENT - REJECTED_INCORRECT_BENEFICIARY_JPM IntermediaryAgent: title: IntermediaryAgent type: object description: 'An agent between the debtor''s agent and the creditor''s agent. Usage: If more than one intermediary agent is present, then IntermediaryAgent1 identifies the agent between the DebtorAgent and the IntermediaryAgent2.' properties: name: type: string description: Name of the agent minLength: 1 maxLength: 140 financialInstitutionIds: type: array minItems: 1 maxItems: 3 items: $ref: '#/components/schemas/FinancialInstitutionId' postalAddress: $ref: '#/components/schemas/Address' BasicParty: title: BasicParty type: object description: A party is an entity involved in a financial transaction. This entity can be an individual, a corporation, or any other organization that participates in the transaction. properties: name: type: string minLength: 1 maxLength: 140 description: Party name postalAddress: $ref: '#/components/schemas/Address' dateAndPlaceOfBirth: type: object title: DateAndPlaceOfBirth description: Date and place of birth properties: birthDate: type: string format: date description: Date of birth city: type: string minLength: 1 maxLength: 35 description: City of birth country: $ref: '#/components/schemas/IsoCountryCode' countryOfResidence: $ref: '#/components/schemas/IsoCountryCode' IsoCurrencyCode: title: IsoCurrencyCode type: string description: ISO 4217 Alpha-3 Currency Code minLength: 3 maxLength: 3 pattern: ^[A-Z]{3}$ example: AUD OrganizationId: title: OrganizationId type: object required: - organizationId description: "Collection of registration information held against the party.\nIt can be used when the underlying payer is a Legal Entity. It should be used together with Ultimate Debtor Name and address, and it should contain the payment account number of the underlying payer. In case the transfer has not been initiated from a payment account, the value populated should be a unique transaction identifier of the underlying payer which permits the traceability of the transaction back to them.\n\nApplicable markets and rules: - Can be used for ultimateDebtor and ultimateCreditor for the following RTP markets:\n - SEPA \n - Mexico \n - UK\n - United States\n\n***Australia Faster Payments - Only to be used for ultimateCreditor. For Australia Faster Payments, only id and schemeName.proprietary fields are applicable\nWIRE Payments:\n - WHEM\n - LATAM\n - EMEA\n - APAC" properties: organizationId: type: string minLength: 1 maxLength: 35 description: 'Formally Issued Organization Identifier - **Note**: For AU Superannuation payment (category payment), populate with USI number for the Superannuation fund.' bic: type: string description: "Business Identifier Code, mean a unique code to identify \nany business as defined by the ISO9362 standard. " minLength: 8 maxLength: 11 lei: type: string description: Legal entity identifier minLength: 20 maxLength: 20 issuer: type: string description: Entity that assigns the identification minLength: 1 maxLength: 35 schemeName: description: Name of the identification scheme title: SchemeName type: object minProperties: 1 maxProperties: 1 properties: code: type: string description: Name of the identification scheme in a coded form minLength: 1 maxLength: 4 proprietary: type: string description: Specifies the type of scheme with a proprietary value. For AU Superannuation payment (category payment), populate "USI" minLength: 1 maxLength: 35 OrganizationIdentification: type: object title: Organization Identification description: Organization Identification Schemes required: - organizationIds properties: organizationIds: type: array minItems: 1 maxItems: 16 items: $ref: '#/components/schemas/OrganizationId' AddressType: title: AddressType type: string description: Type of address enum: - ADDR - BIZZ - DLVY - HOME - MLTO - PBOX example: HOME PaymentValue: title: PaymentValue description: A positive amount of value. type: object required: - currency - amount properties: currency: $ref: '#/components/schemas/IsoCurrencyCode' amount: $ref: '#/components/schemas/AmountDecimal' ErrorContext: title: ErrorContext x-tags: - common-error-model - common-components type: object required: - message properties: code: type: string description: JPMC Short code that identifies the error - publicly cataloged and documented minLength: 5 maxLength: 5 pattern: ^[0-9]+$ message: type: string description: Human readable textual description of the error minLength: 1 maxLength: 99 location: type: string title: The component of the request impacted, can either be 'body', 'query', 'header', or 'path' description: The location of the error occurred in the request. minLength: 1 maxLength: 99 enum: - BODY - PATH - QUERY - HEADER field: type: string description: The field which caused the error. Where the location of the error occurred is BODY, the field would contain the JSON Path expression minLength: 1 maxLength: 99 pattern: ^[\$0-9a-zA-Z-_.()\[\]{}'"\s@=>= startDateTime. Format - `YYYY-MM-DDThh:mm:ss`+/-time offset to UTC required: false schema: type: string format: date-time example: '2026-01-01T00:00:00+00:00' substatus: name: substatus in: query description: One or more hold sub-statuses. If status is used, substatus must not be provided. If multiple values are specified (comma-separated), treated as OR. If not provided, returns holds for any sub-status. required: false style: form explode: false schema: type: array minItems: 0 maxItems: 20 items: $ref: '#/components/schemas/DecisionSubstatus' examples: Pending Client Action: summary: Filter by pending client action value: - PENDING_ACTION_CLIENT Pending JPM Review: summary: Filter by pending JPM review value: - PENDING_ACTION_JPM Pending Bank Or Client Decision: summary: Not specified - using status instead value: [] Filter By Status And Substatus (Not Allowed): summary: Not allowed - mutually exclusive with status value: - REJECTED_TXN_NOT_NEEDED_CLIENT PageSize: name: pageSize in: query description: The number of records per page required: false schema: type: integer format: int32 minimum: 1 maximum: 100 default: 25 responses: 403-Forbidden: description: Forbidden. The client does not have the required permissions to access this resource. Verify that the correct entitlements and scopes have been granted. content: application/json: schema: $ref: '#/components/schemas/Error' examples: Security Failure Error: $ref: '#/components/examples/SecurityFailureError' 429-TooManyRequests: description: Too Many Requests - Rate limit exceeded. content: application/json: schema: $ref: '#/components/schemas/Error' examples: Too Many Requests: value: title: Too Many Requests httpStatus: 429 traceId: 0eca2e1a-74b7-44b7-9e66-4a6ec8336eb9 context: - code: '10109' message: Rate limit exceeded. Please retry after some time. 404-NotFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Not Found: $ref: '#/components/examples/NotFound' 503-ServiceUnavailable: description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/Error' examples: Service Unavailable Error: $ref: '#/components/examples/ServiceUnavailableError' 401-Unauthorized: description: Unauthorized - Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' examples: Unauthorized: value: title: Unauthorized httpStatus: 401 traceId: 0eca2e1a-74b7-44b7-9e66-4a6ec8336eb9 context: - code: '14001' message: Authentication credentials are missing or invalid x-jpmc-securityDefinitions: MutualTLS: type: x509 description: Mutual TLS authentication using client and server certificates. x-jpmc-security: - MutualTLS: []