Transactions API

Create, track, and manage payments, such as ACH, wire, and real-time transfers, while easily filtering and retrieving transaction details by type, status, account, or date. This lets you automate fund movement and gain real-time visibility into your payment activity, all through a secure and flexible interface.

OpenAPI Specification

jp-morgan-chase-transactions-api-openapi.yml Raw ↑
# Harvested verbatim from the J.P. Morgan Payments Developer Portal.
# method: searched
# source: https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fembedded-finance-solutions%2Fembedded-payments%2Fembedded-payments%2Ftransactions.md
# generated: '2026-07-28'
openapi: 3.0.1
info:
  title: Transactions API
  version: 2.0.55
  description: Create, track, and manage payments, such as ACH, wire, and real-time transfers, while easily
    filtering and retrieving transaction details by type, status, account, or date. This lets you automate
    fund movement and gain real-time visibility into your payment activity, all through a secure and flexible
    interface.
  contact:
    name: JPMC Technical Services Support
servers:
- url: https://api.payments.jpmorgan.com/embedded/v2
  description: PRODUCTION - MTLS
- url: https://api-mock.payments.jpmorgan.com/embedded/v2
  description: MOCK
- url: https://api-sandbox.payments.jpmorgan.com/embedded/v2
  description: CLIENT TESTING - MTLS
tags:
- name: Transactions
  description: Initiate and track the movement of funds, including payments.
paths:
  /transactions:
    get:
      summary: List transactions
      description: Lists transactions for a specific client, which can be filtered using optional parameters.
      operationId: listTransactionsV2
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/token'
      - in: query
        name: type
        schema:
          type: array
          items:
            $ref: '#/components/schemas/RequestTransactionTypeV2'
          minItems: 0
        description: Filters for types of transaction. Use a comma separated list to send the transaction
          types you require.
        required: false
        examples:
          completed:
            summary: ACH type
            value:
            - ACH
          completedAndPending:
            summary: ACH and TRANSFER type
            value:
            - ACH
            - TRANSFER
      - in: query
        name: status
        schema:
          type: array
          items:
            $ref: '#/components/schemas/RequestTransactionStatus'
          minItems: 0
        description: Filters by comma separated list of statuses for transactions.
        required: false
        examples:
          completed:
            summary: Completed status
            value:
            - COMPLETED
          completedAndPending:
            summary: Completed and Pending statuses
            value:
            - COMPLETED
            - PENDING
      - in: query
        name: accountId
        example: ae86b765e14741c5a44acc570af517ab
        schema:
          type: string
        description: Filters by the Embedded Finance account id connected to the transaction.
        required: false
      - in: query
        name: amountEquals
        example: '100'
        schema:
          type: string
        description: Filters by an exact amount.
        required: false
      - in: query
        name: amountGreaterThan
        example: '100'
        schema:
          type: string
        description: Filters by amounts greater than a specified value.
        required: false
      - in: query
        name: amountLessThan
        example: '100'
        schema:
          type: string
        description: Filters by amounts less than a specified value.
        required: false
      - in: query
        name: dateEquals
        example: '2022-01-01'
        schema:
          type: string
        description: Filters transactions by an exact date.
        required: false
      - in: query
        name: dateGreaterThan
        example: '2022-01-01'
        schema:
          type: string
        description: Filters for transactions made after this payment date.
        required: false
      - in: query
        name: dateLessThan
        example: '2022-01-01'
        schema:
          type: string
        description: Filters for transactions made before this payment date.
        required: false
      - in: query
        name: dateTimeGreaterThan
        example: '2022-01-01T00:00:00.000Z'
        schema:
          type: string
          format: date-time
        description: Filters for transactions created after this date and time.
        required: false
      - in: query
        name: dateTimeLessThan
        example: '2022-01-01T00:00:00.000Z'
        schema:
          type: string
          format: date-time
        description: Filters for transactions created before this date and time.
        required: false
      - in: query
        name: recipientId
        example: 616d93a1-ce53-4c71-b03b-02a11396db28
        schema:
          type: string
        description: Filters for transactions from/to this recipientId.
        required: false
      - in: query
        name: transactionReferenceId
        example: inv-pay-1234
        schema:
          type: string
        description: Filters for a transaction that matches a specific transaction reference ID provided
          by the client.
        required: false
      - $ref: '#/components/parameters/clientIdInQuery'
      responses:
        '200':
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTransactionsSearchResponseV2'
              examples:
                GetTransactionsRes:
                  $ref: '#/components/examples/GetTransactionsRes'
        '400':
          $ref: '#/components/responses/400V2'
        '401':
          $ref: '#/components/responses/401V2'
        '403':
          $ref: '#/components/responses/403V2'
        '404':
          $ref: '#/components/responses/404V2'
        '500':
          $ref: '#/components/responses/500V2'
        '503':
          $ref: '#/components/responses/503V2'
    post:
      summary: Create transaction
      description: Creates a new transaction, such as a payment via ACH, Wire or Real Time Payments (RTP).
      operationId: createTransactionV2
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/token'
      requestBody:
        required: true
        description: Contains the required information to create a payment transaction.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostTransactionRequestV2'
            examples:
              Post a payment to a registered recipient using ACH:
                summary: Create Transaction - ACH Payout
                description: Create Transaction - ACH PayOut
                value:
                  transactionReferenceId: hisSuUVnakPD9qSA
                  amount: 3100
                  currency: USD
                  type: ACH
                  recipientId: 616d93a1-ce53-4c71-b03b-02a11396db39
                  debtorAccountId: d3371713f14e423f82065c9486ebe15b
                  memo: Memo for Transaction for 1000010400
              Post a payment to a registered recipient using RTP:
                summary: Create Transaction - RTP Payout
                description: Create Transaction - RTP PayOut
                value:
                  transactionReferenceId: 5wQN9wSJl4rugac4
                  amount: 3100
                  currency: USD
                  type: RTP
                  recipientId: 616d93a1-ce53-4c71-b03b-02a11396db39
                  debtorAccountId: d3371713f14e423f82065c9486ebe15b
                  memo: Memo for Transaction for 1000010400
              Post a payment to a registered recipient using WIRE:
                summary: Create Transaction - WIRE Payout
                description: Create Transaction - WIRE PayOut
                value:
                  transactionReferenceId: iIbqZdlNuuogLaBo
                  amount: 3100
                  currency: USD
                  type: WIRE
                  recipientId: 616d93a1-ce53-4c71-b03b-02a11396db39
                  debtorAccountId: d3371713f14e423f82065c9486ebe15b
                  memo: Memo for Transaction for 1000010400
              Post a payment to an unregistered recipient using ACH:
                summary: Create Transaction - Payout with recipient details
                description: Create Transaction - Payout with recipient details
                value:
                  transactionReferenceId: uilRuUUkakPD9qGF
                  amount: 3100
                  currency: USD
                  type: ACH
                  recipient:
                    partyDetails:
                      address:
                        addressLine1: 345 Wouda St
                        addressLine2: Malibu Point
                        addressLine3: Greater Woking
                        city: Springfield
                        countryCode: US
                        state: ND
                        postalCode: '58008'
                      type: INDIVIDUAL
                      firstName: Jon
                      lastName: Smith
                      businessName: Widget Co.
                      contacts:
                      - contactType: PHONE
                        countryCode: '+1'
                        value: '6316215110'
                    account:
                      number: '021000021'
                      type: CHECKING
                      routingCodeType: USABA
                      routingNumber: '021000021'
                      countryCode: US
                  debtorAccountId: d3371713f14e423f82065c9486ebe15b
                  memo: Memo for Transaction for 1000010400
              Transfer funds from one account to another:
                summary: Create Transaction - V2V
                description: Create Transaction - V2V
                value:
                  transactionReferenceId: 39d222165fb1488c896b940321550f77
                  amount: 3100
                  type: TRANSFER
                  currency: USD
                  creditorAccountId: 616d4c7102a11396db39hjfsd88980
                  debtorAccountId: d3371713f14e423f82065c9486ebe15b
              Post an Fx payment to a registered recipient using ACH:
                summary: Create Fx Transaction - ACH Payout
                description: Create Fx Transaction - ACH PayOut
                value:
                  transactionReferenceId: fx1SuUVnakPD9qFX
                  amount: 3100
                  currency: USD
                  targetCurrency: AUD
                  type: ACH
                  recipientId: 616d93a1-ce53-4c71-b03b-02a11396db39
                  debtorAccountId: d3371713f14e423f82065c9486ebe15b
                  memo: Memo for Transaction for 1000010400
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponseV2'
              examples:
                CreateTransactionRes:
                  $ref: '#/components/examples/CreateTransactionPayoutACHRes'
                CreateTransactionPayoutWIRERes:
                  $ref: '#/components/examples/CreateTransactionPayoutRTPRes'
                CreateTransactionPayoutRTPRes:
                  $ref: '#/components/examples/CreateTransactionPayoutWIRERes'
                CreateTransactionV2VRes:
                  $ref: '#/components/examples/CreateTransactionV2VRes'
                CreateTransactionPayOutBookRes:
                  $ref: '#/components/examples/CreateTransactionPayOutBookRes'
                CreateTransactionPayIntoRes:
                  $ref: '#/components/examples/CreateTransactionPayIntoRes'
                CreateTransactionFxACHRes:
                  $ref: '#/components/examples/CreateTransactionFxACHRes'
        '400':
          $ref: '#/components/responses/400V2'
        '401':
          $ref: '#/components/responses/401V2'
        '403':
          $ref: '#/components/responses/403V2'
        '404':
          $ref: '#/components/responses/404V2'
        '500':
          $ref: '#/components/responses/500V2'
        '503':
          $ref: '#/components/responses/503V2'
  /transactions/{id}:
    get:
      summary: Get transaction
      description: Returns details for a specific transaction using its unique identifier.
      operationId: getTransactionV2
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/token'
      - name: id
        in: path
        description: Unique identifier for a transaction.
        required: true
        example: m6p8kqkk5hjne3
        schema:
          type: string
      responses:
        '200':
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionGetResponseV2'
              examples:
                GetTransactionByIdRes:
                  $ref: '#/components/examples/GetTransactionByIdRes'
        '400':
          $ref: '#/components/responses/400V2'
        '401':
          $ref: '#/components/responses/401V2'
        '403':
          $ref: '#/components/responses/403V2'
        '404':
          $ref: '#/components/responses/404V2'
        '500':
          $ref: '#/components/responses/500V2'
        '503':
          $ref: '#/components/responses/503V2'
components:
  parameters:
    token:
      name: token
      in: header
      description: JWT Client token
      required: false
      schema:
        type: string
        minLength: 0
    clientIdInQuery:
      name: clientId
      in: query
      description: Unique Client identifier
      required: false
      example: '9000000001'
      schema:
        type: string
        pattern: ^\d{10}$
        minLength: 10
        maxLength: 10
  schemas:
    RequestTransactionTypeV2:
      description: The types of transaction that the client is allowed to search by.
      type: string
      enum:
      - RTP
      - WIRE
      - ACH
      - TRANSFER
      - REVERSAL
      - RETURN
      - OTHER
      - CARD
      - FEE
      example: ACH
    RequestTransactionStatus:
      description: The statuses of the transaction that the client is allowed to search by.
      type: string
      enum:
      - PENDING
      - CANCELED
      - COMPLETED
      - COMPLETED_WITH_EXCEPTIONS
      - REJECTED
      - RETURNED
      - PARTIALLY_COMPLETED
      - UNDEFINED
      example: PENDING
    CurrencyCode:
      type: string
      enum:
      - USD
      description: Three letter currency code based on ISO 4217 standard
      example: USD
    PageMetaData:
      type: object
      properties:
        page:
          type: integer
          minimum: 0
          format: int32
          example: 1
          description: 'Page Number.

            '
        limit:
          type: integer
          minimum: 0
          format: int32
          example: 30
          description: 'Number of records per page.

            '
        total_items:
          type: integer
          minimum: 0
          format: int32
          example: 1
          description: 'Total number of items.

            '
    TransactionGetResponseV2FxInformation:
      description: Foreign exchange information for cross-border transactions.
      type: object
      properties:
        rateId:
          type: string
          description: Unique identifier for the foreign exchange rate
          example: R1C8E57DF6964F981D6DDB5EEf78D8
        contractId:
          type: string
          description: Unique identifier for the foreign exchange contract
          example: '917490357'
        exchangeRate:
          type: string
          description: The exchange rate applied to the transaction
          example: '1.44'
        clientSpread:
          type: string
          description: The rate at which you charge for an FX transfer. You must express this as a decimal
            figure. For example, if you take a commission of 10%, the spread is expressed as 0.1
          example: '0.5'
    TransactionStatus:
      description: "The current status of the transaction as it is processed:\n * `PENDING` - The transaction\
        \ is still being processed.\n * `CANCELED` - The transaction has been canceled.\n * `COMPLETED`\
        \ - The transaction has been completed.\n * `COMPLETED_WITH_EXCEPTIONS` - The transaction has\
        \ completed, but not all of the requested criteria has been fulfilled.\n * `REJECTED` - The transaction\
        \ has been rejected and will not be completed.\n * `RETURNED` - The payment rail failed to deliver\
        \ funds to the recipient, so the payment was returned to the originator. \n * `UNDEFINED` - The\
        \ status of this transaction cannot be found.\n"
      type: string
      enum:
      - PENDING
      - CANCELED
      - COMPLETED
      - COMPLETED_WITH_EXCEPTIONS
      - COMPLETED_NOT_IN_TARGET_WALLET
      - REJECTED
      - RETURNED
      - PARTIALLY_COMPLETED
      - UNDEFINED
      example: PENDING
    TransactionGetResponseBase:
      type: object
      required:
      - id
      - currency
      - paymentDate
      - type
      - status
      properties:
        id:
          type: string
          description: The resource Id of your transaction to use when looking up details of this transaction.
          example: '123434534'
        transactionReferenceId:
          description: Transaction reference id provided by client
          type: string
          example: inv-pay-1234
        originatingId:
          description: Shows the resource ID of the original transaction when a transaction is reversed
            or returned.
          type: string
          example: ff1b6152-3ea7-4c59-b4ae-606c6497cd52
        ledgerBalance:
          description: The ledger balance shows the total of all settled transactions at the time the
            request is made. Transactions which are in a pending state and transactions of type hold are
            excluded from this balance. The ledger balance is updated only when a transaction is settled.
          type: number
          example: 10000
        debtorClientId:
          type: string
          example: '0030000131'
          description: The clientId of the client whose account is to be debited.
        debtorAccountId:
          description: The Id of the on-us account that the transaction amount will be/has been debited
            from.
          type: string
          example: dc2eda9084bf40b7a1d8baa8c5e0ea0ax
        debtorName:
          description: The name of the account holder making the payment. This is either the name of the
            account holder's business or their first and last name.
          type: string
          example: JPMC C2
        debtorAccountNumber:
          description: The last 4 digits of the debtor account number - PRN or DDA. The digits are preceded
            by ... to show that the account number has been masked.
          type: string
          example: '...6044'
        creditorClientId:
          type: string
          example: '0030000131'
          description: The clientId of the client whose account is to be credited.
        creditorAccountId:
          description: The Id of the on-us account that the transaction amount will be/has been credited
            to.
          type: string
          example: dc2eda9084bf40b7a1d8baa8c5e0ea0ax
        creditorAccountNumber:
          description: The last 4 digits of the creditor account number - PRN or DDA. The digits are preceded
            by ... to show that the account number has been masked.
          type: string
          example: '...6044'
        creditorName:
          description: The name of the account holder receiving the payment. This is either the name of
            the account holder's business or their first and last name.
          type: string
          example: JPMC
        recipientId:
          description: The resource Id of the recipient that was used in this transaction.  Further details
            of the recipient can be found via the /recipient API
          type: string
          example: a8eb71c9-7bbb-41f2-8d9e-b0f5
        amount:
          description: The value of the transaction
          type: number
          example: 100
        targetAmount:
          description: This is the transaction value in currency (referred by `targetCurrency`) which
            is credited to the creditor
          type: number
          example: 100
        currency:
          description: The currency of the transaction
          type: string
          example: USD
        targetCurrency:
          description: This denotes the currency of the creditor account i.e destination currency to where
            the funds are moved
          type: string
          example: CAD
        memo:
          description: Transaction information that states its purpose for easier tracking
          type: string
          example: Invoice 1234
        paymentDate:
          description: The scheduled date for the payment to be initiated
          type: string
          format: date
          example: '2022-01-01'
        createdAt:
          description: The date and time the transaction was created.
          type: string
          format: date-time
          example: '2023-02-22T15:05:46.952Z'
        effectiveDate:
          description: The date when the payment completes, accounting for weekends and bank holidays.
          type: string
          format: date
          example: '2023-02-22'
        postingVersion:
          description: A measure of how many times an account has been updated by a new transaction. The
            posting version is incremented by 1 whenever there's a an event on the account. It can be
            used to track the order in which transactions have occurred, so you can present the user with
            the most recent transactions first.
          type: integer
          example: 1
        localInstrumentCode:
          description: The code that was used when creating the transaction.
          type: string
          example: PPD
        fxInformation:
          $ref: '#/components/schemas/TransactionGetResponseV2FxInformation'
        status:
          $ref: '#/components/schemas/TransactionStatus'
    PaymentTypeResponse:
      description: 'The transaction type indicates the nature of the transaction. Valid values are:


        | Value | Description |

        |-------|-------------|

        | `RTP` | Realtime Transactions |

        | `ACH` | ACH Transactions |

        | `WIRE` | Wire Transactions |

        | `TRANSFER` | Transactions internal to JPMorgan |

        | `REVERSAL` | Transaction reversal (cannot be initiated through the API) |

        | `RETURN` | Transaction return (cannot be initiated through the API) |

        | `OTHER` | Other transaction types (cannot be initiated through the API) |

        | `CARD` | Push to Card Transactions |

        | `FEE` | Fee transactions (cannot be initiated through the API) |


        **Note:** Certain types cannot be initiated through the API and, as a result, are excluded from
        the transaction request type field.

        '
      type: string
      nullable: false
      enum:
      - RTP
      - WIRE
      - ACH
      - TRANSFER
      - REVERSAL
      - RETURN
      - OTHER
      - CARD
      - FEE
      example: ACH
    OriginatingTransactionType:
      description: The transaction type of the originating transaction that incurred a 'FEE' or 'RETURN'
        transaction. This is only available for transactions of type 'FEE' or 'RETURN'. * ACH_PAYOUT -
        the original transaction was a payout made by ACH payment route. * RTP_PAYOUT - the original transaction
        was a payout made by ACH payment route. * WIRE_PAYOUT - the original transaction was a payout
        made by WIRE payment route. * DEBIT_CARD_REQUEST - the original transaction was a debit card request.
        * FEE - the original transaction was a fee that was reversed.
      type: string
      enum:
      - ACH_PAYOUT
      - RTP_PAYOUT
      - WIRE_PAYOUT
      - DEBIT_CARD_REQUEST
      - FEE
      example: ACH_PAYOUT
    TransactionsSearchResponseV2:
      allOf:
      - $ref: '#/components/schemas/TransactionGetResponseBase'
      - type: object
        properties:
          type:
            $ref: '#/components/schemas/PaymentTypeResponse'
          originatingTransactionType:
            $ref: '#/components/schemas/OriginatingTransactionType'
          ledgerBalance:
            description: The ledger balance shows the total of all settled transactions at the time the
              request is made. Transactions which are in a pending state and transactions of type hold
              are excluded from this balance. The ledger balance is updated only when a transaction is
              settled.
            type: number
            example: 10000
          postingVersion:
            description: A measure of how many times an account has been updated by a new transaction.
              The posting version is incremented by 1 whenever there's a an event on the account. It can
              be used to track the order in which transactions have occurred, so you can present the user
              with the most recent transactions first.
            type: integer
            example: 1
    ListTransactionsSearchResponseV2:
      type: object
      required:
      - metadata
      - items
      properties:
        metadata:
          $ref: '#/components/schemas/PageMetaData'
        items:
          type: array
          nullable: false
          description: List of transactions meeting the request criteria
          items:
            $ref: '#/components/schemas/TransactionsSearchResponseV2'
          minItems: 0
    ApiErrorReasonV2:
      type: object
      description: Schema representing detailed reasons for an API error, including code, location, and
        message.
      required:
      - message
      properties:
        code:
          type: string
          example: '11000'
          description: Short code that identifies the error - publicly cataloged and documented
          minLength: 0
          maxLength: 5
        location:
          type: string
          enum:
          - BODY
          - QUERY
          - PATH
          - HEADER
          example: BODY
          description: Part of the request which is responsible for the reason
        field:
          type: string
          description: The location of the property or parameter in error
          minLength: 0
          maxLength: 512
        message:
          type: string
          example: Client with ID 0031234567 does not exist.
          description: Message describing the reason. This message can typically be displayed to your
            platform's users, except in cases specified otherwise
          minLength: 0
          maxLength: 2048
    ApiErrorV2:
      type: object
      description: Schema representing a version 2 API error, including title, HTTP status, and additional
        context.
      required:
      - title
      properties:
        title:
          type: string
          description: Short humanly-readable title of the error
          example: BAD_REQUEST
          minLength: 1
          maxLength: 512
        httpStatus:
          type: integer
          description: HTTP status code
          minimum: 100
          maximum: 599
          format: int32
          example: 400
        traceId:
          type: string
          description: Internal assigned traced identifier
          minLength: 0
          maxLength: 512
        requestId:
          type: string
          description: Client provided request identifier
          minLength: 0
          maxLength: 512
        context:
          type: array
          items:
            $ref: '#/components/schemas/ApiErrorReasonV2'
          description: Provides additional context and detail on the validation errors
          minItems: 0
          maxItems: 100
    PaymentType:
      description: 'The type of transaction being initiated. Valid values are:


        | Value | Description |

        |-------|-------------|

        | `RTP` | Realtime Transactions |

        | `ACH` | ACH Transactions |

        | `WIRE` | Wire Transactions |

        | `TRANSFER` | Transactions internal to JPMorgan |

        | `CARD` | Push to Card Transactions |

        '
      type: string
      nullable: false
      enum:
      - RTP
      - WIRE
      - ACH
      - TRANSFER
      - CARD
      example: ACH
    TargetCurrency:
      type: string
      enum:
      - AED
      - AUD
      - BGN
      - BRL
      - CAD
      - CHF
      - CNY
      - CZK
      - DKK
      - EUR
      - GBP
      - HKD
      - HUF
      - ILS
      - INR
      - ISK
      - JPY
      - KES
      - KRW
      - MXN
      - MYR
      - NOK
      - NZD
      - PEN
      - PHP
      - PLN
      - RON
      - SEK
      - SGD
      - TWD
      - USD
      - VND
      - ZAR
      description: The creditor account / recipient currency for a foreign exchange transaction
      example: CAD
    PostTransactionV2FxInformation:
      description: Foreign exchange information for cross-border transactions.
      type: object
      properties:
        rateId:
          type: string
          description: Unique identifier for the foreign exchange rate
          example: R1C8E57DF6964F981D6DDB5EEf78D8
        clientSpread:
          type: string
          description: The rate at which you charge for an FX transfer. You must express this as a decimal
            figure. For example, if you take a commission of 10%, the spread is expressed as 0.1
          example: '0.5'
        purposeCode:
          type: string
          description: The code relating to the purpose of the payment. This is often required by countries
            into which money is being paid.
          example: P0102
    CountryCode:
      type: string
      enum:
      - US
      description: Two letter country code based on ISO 3166 standard
      example: US
    RecipientAddress:
      description: Address details for the recipient. Mandatory for payments using the RTP payment type.
      type: object
      required:
      - addressLine1
      - city
      - countryCode
      properties:
        addressType:
          type: string
          example: Principal place of business
          description: Type of address e.g. 'Primary Residence' | 'Principal place of business'.
        addressLine1:
          type: string
          minLength: 1
          maxLength: 34
          pattern: ^(.|\s)*\S(.|\s)*$
          example: 90 Bedford Street
          description: First line of address; required and must not be a PO Box.
        addressLine2:
          type: string
          minLength: 0
          maxLength: 34
          example: Apt 2E
          description: Second line of address; not required.
        addressLine3:
          type: string
          minLength: 0
          maxLength: 34
          description: Third line of address; not required.
        buildingNumber:
          type: string
          minLength: 0
          maxLength: 16
          description: Building name or number if address is in a building
        city:
          type: string
          minLength: 1
          maxLength: 34
          pattern: ^(.|\s)*\S(.|\s)*$
          example: New York
          description: Address city.
        state:
          type: string
          maxLength: 30
          example: NY
          description: State code in alpha-2 format. State is mandatory for countries like United States.
        postalCode:
          type: string
          maxLength: 10
          example: '10014'
          description: Postal/ZIP code.
        countryCode:
          $ref: '#/components/schemas/CountryCode'
    PartyType:
      type: string
      enum:
      - INDIVIDUAL
      - ORGANIZATION
      nullable: false
      example: INDIVIDUAL
    RecipientContact:
      type: object
      required:
      - contactType
      - value
      properties:
        contactType:
          type: string
          nullable: false
          enum:
          - EMAIL
          - WEBSITE
          - PHONE
          description: Type of contact information being provided
          example: PHONE
        countryCode:
          type: string
          pattern: ^\+[1-9]\d{0,2}$
          description: 'E.164 format compatible telephone country code

            Mandatory for contactType PHONE

            '
          example: '+1'
        value:
          type: string
          nullable: false
          minLength: 1
          maxLength: 2048
          pattern: ^(.|\s)*\S(.|\s)*$
          description: "Contact information corresponding to contactType: \nPHONE - E.164-compliant telephone\
         

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jp-morgan-chase/refs/heads/main/openapi/jp-morgan-chase-transactions-api-openapi.yml