Global Payments API

Streamline your global payment operations by initiating, tracking, and managing multiple payment types across international markets through a single, unified interface, so you can handle everything from real-time payments to ACH and card payouts without juggling different systems.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/global-payments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

jp-morgan-chase-global-payments-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%2Ftreasury%2Fglobal-payments%2Fglobal-payments%2Fglobal-payments-oas.md
# generated: '2026-07-28'
openapi: 3.0.0
info:
  title: Global Payments API
  version: 1.2.3
  description: Streamline your global payment operations by initiating, tracking, and managing multiple
    payment types across international markets through a single, unified interface, so you can handle
    everything from real-time payments to ACH and card payouts without juggling different systems.
  contact:
    name: JPMorgan Chase & Co. API Support
    email: imsd.security.operations@jpmorgan.com
    url: https://developer.payments.jpmorgan.com/contact/support
servers:
- url: https://apigateway.jpmorgan.com/tsapi/v1
  description: PRODUCTION - MTLS
- url: https://api-mtls.merchant.jpmorgan.com/tsapi/v1
  description: PRODUCTION - MTLS - Payment Card Industry
- url: https://apigatewaycat.jpmorgan.com/tsapi/v1
  description: CLIENT TESTING - MTLS
- url: https://apigatewaycat-pci.jpmorgan.com/tsapi/v1
  description: CLIENT TESTING - MTLS - Payment Card Industry
- url: https://api-mock.payments.jpmorgan.com/tsapi/v1
  description: JPM-PROD - Global Payments Sandbox
security:
- BearerAuth: []
tags:
- name: Payment Initiation
  description: API to initiate a payment
- name: Payment Information Retrieval
  description: APIs to retrieve status and details of a payment
paths:
  /payments:
    post:
      summary: Payments Initiation API
      operationId: initiatePayments
      description: Initiate Payments
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentInitationDetails'
            examples:
              CBPR RTP SEPA Ultimate Debtor Hybrid:
                $ref: '#/components/examples/PaymentInitiationSEPAMinimalUltimateDebtorHybridAddress'
              CBPR RTP SEPA Creditor:
                $ref: '#/components/examples/PaymentInitiationSEPAMinimalCreditorAddress'
              CBPR RTP SEPA Ultimate Creditor:
                $ref: '#/components/examples/PaymentInitiationSEPAMinimalUltimateCreditorAddress'
      callbacks:
        paymentInitiationStatus:
          '{client-calback-url}/status':
            post:
              requestBody:
                content:
                  application/json:
                    schema:
                      type: object
                      properties:
                        callbacks:
                          $ref: '#/components/schemas/Callbacks'
                required: true
              responses:
                '200':
                  description: OK
                  content:
                    application/json:
                      schema:
                        type: object
      responses:
        '202':
          $ref: '#/components/responses/202-Accepted'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '503':
          $ref: '#/components/responses/503-ServiceUnavailable'
      tags:
      - Payment Initiation
    get:
      summary: Retrieve payment details
      operationId: getPaymentDetails
      tags:
      - Payment Information Retrieval
      description: Retrieve details of your transaction by either `firmRootId` or `endToEndId`.
      parameters:
      - $ref: '#/components/parameters/EndToEndId'
      - $ref: '#/components/parameters/FirmRootId'
      responses:
        '200':
          $ref: '#/components/responses/200-Details-OK'
        '400':
          $ref: '#/components/responses/400-Query-BadRequest'
        '403':
          $ref: '#/components/responses/403-Query-Forbidden'
        '503':
          $ref: '#/components/responses/503-Query-ServiceUnavailable'
  /payments/status:
    get:
      summary: Retrieve payment status
      description: Retrieve status of your transaction by either `firmRootId` or `endToEndId`.
      operationId: getPaymentStatus
      parameters:
      - $ref: '#/components/parameters/EndToEndId'
      - $ref: '#/components/parameters/FirmRootId'
      responses:
        '200':
          $ref: '#/components/responses/200-Status-OK'
        '400':
          $ref: '#/components/responses/400-Query-BadRequest'
        '403':
          $ref: '#/components/responses/403-Query-Forbidden'
        '503':
          $ref: '#/components/responses/503-Query-ServiceUnavailable'
      tags:
      - Payment Information Retrieval
components:
  x-jpmc-securitySchemes:
    MutualTLS:
      type: x509
      description: Mutual TLS authentication using client and server certificates.
  schemas:
    PaymentInitationDetails:
      type: object
      required:
      - payments
      properties:
        payments:
          $ref: '#/components/schemas/Payments'
    Payments:
      type: object
      required:
      - requestedExecutionDate
      - paymentIdentifiers
      - paymentAmount
      - paymentCurrency
      - debtor
      - debtorAgent
      - creditor
      - transferType
      properties:
        possibleDuplicateMessage:
          type: boolean
          description: Optional field to indicate a duplicate payment
        requestedExecutionDate:
          type: string
          pattern: '[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])'
          minLength: 0
          maxLength: 10
          description: Requested date on which/by which the transaction should be executed ISO Date format.
            (YYYY-MM-DD)
        paymentIdentifiers:
          $ref: '#/components/schemas/PaymentIdentifiers'
        paymentCurrency:
          type: string
          minLength: 3
          maxLength: 3
          description: 3- character ISO currency code e.g. `SGD`, `GBP`, `AUD`, `EUR`, `MXN`, `CLP`
        paymentAmount:
          type: number
          description: "Amount should be more than 0.`01` with maximum of two decimal places allowed.\n\
            \n**NOTE**: For Chile ACH, decimals are not accepted.\n\n**Maximum amount allowed per market/instrument**\
            \ :-\n\n  - **UK FPS** - GBP 1,000,000\n\n  - **SEPA INSTANT**  - EUR 100,000"
          example: 1000
        paymentType:
          $ref: '#/components/schemas/PaymentType'
        debtor:
          $ref: '#/components/schemas/Debtor'
        debtorAgent:
          $ref: '#/components/schemas/DebtorAgent'
        creditorAgent:
          $ref: '#/components/schemas/CreditorAgent'
        creditor:
          $ref: '#/components/schemas/Creditor'
        additionalParties:
          $ref: '#/components/schemas/AdditionalParties'
        transferType:
          type: string
          enum:
          - CREDIT
          - DEBIT
          description: "To indicate the transaction is a credit transfer or direct debit\ntransfer. This\
            \ indicator also determines the originator and receiver\nis the debit and credit side of this\
            \ transaction. \n\n**Supported value per market/instrument** :-\n  | Market |Value|\n  | --------------------|-------|\n\
            \  |  UK Faster Payments |CREDIT |\n  |  SEPA  INSTANT      |CREDIT |\n  |  US RTP       \
            \      |CREDIT |\n  |Singapore Faster Payments | CREDIT|\n  |Australia Faster Payments | CREDIT|\n\
            \  |Singapore Faster Payments | CREDIT|\n  |Hong Kong Faster Payments |CREDIT|\n  |Malaysia\
            \ Faster Payments  | CREDIT and DEBIT|\n  |Indonesia RTP             |CREDIT|\n  |Brazil RTP\
            \                |CREDIT|\n  |US RTP                    |CREDIT|\n  |Push To Card        \
            \      |CREDIT|\n  |ACH Chile Low Value       |CREDIT|\n  |Blockchain (Kinexys Digital Payments)\
            \ Payments | CREDIT|\n  |Push To Wallet (PayPal/Venmo)       |CREDIT|\n  |Interac (Canada)\
            \      |CREDIT|\n  |Zelle      |CREDIT|"
        purpose:
          $ref: '#/components/schemas/Purpose'
        categoryPurpose:
          $ref: '#/components/schemas/CategoryPurpose'
        remittanceInformation:
          $ref: '#/components/schemas/RemittanceInformation'
        taxInformation:
          $ref: '#/components/schemas/TaxInformation'
        secureVerification:
          type: array
          description: Applies only for Interac proxy payments
          minItems: 0
          maxItems: 100
          items:
            $ref: '#/components/schemas/SecureVerification'
        paymentExpiryDate:
          type: string
          format: date-time
          description: Applies only for Interac proxy Payments. Format expected - YYYY-MM-DDThh:mm:ss+/-time
            offset to UTC
        chargeBearer:
          type: string
          enum:
          - CREDITOR
          - DEBTOR
    SecureVerification:
      type: object
      properties:
        key:
          type: string
          minLength: 0
          maxLength: 256
          description: Key identifies the security question
        secret:
          type: string
          minLength: 0
          maxLength: 256
          description: Authenticate the key using secret answer to the question
    AdditionalParties:
      type: object
      title: Additional Parties
      description: Additional parties involved in the money movement.
      properties:
        initiatingParty:
          $ref: '#/components/schemas/InitiatingParty'
      minProperties: 1
      maxProperties: 1
    InitiatingParty:
      title: Initiating Party
      description: The initiating Party
      oneOf:
      - $ref: '#/components/schemas/OrganizationPartyDetails'
      - $ref: '#/components/schemas/IndividualPartyDetails'
      example:
        organizationIds:
        - organizationId: BANK
    OrganizationPartyDetails:
      title: OrganizationPartyDetails
      allOf:
      - $ref: '#/components/schemas/OrganizationIdentification'
      - $ref: '#/components/schemas/CoreInitiatingParty'
    IndividualPartyDetails:
      title: IndividualPartyDetails
      allOf:
      - $ref: '#/components/schemas/IndividualIdentification'
      - $ref: '#/components/schemas/CoreInitiatingParty'
    OrganizationIdentification:
      type: object
      title: Organization Identification
      description: Organization Identification Schemes
      properties:
        organizationIds:
          type: array
          minItems: 1
          maxItems: 5
          items:
            $ref: '#/components/schemas/OrganizationId'
    OrganizationId:
      title: OrganizationId
      type: object
      description: 'Collection of registration information held against the party.

        It can be used when the underlying payer is a Legal Entity.'
      minProperties: 1
      maxProperties: 4
      properties:
        organizationId:
          type: string
          description: Formally Issued Organization Identifier
          minLength: 1
          maxLength: 35
        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
        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
              minLength: 1
              maxLength: 35
    IndividualId:
      type: object
      title: IndividualId
      minProperties: 1
      maxProperties: 3
      description: Can be used if organization ID is not populated, when the underlying payer is an Individual.
      properties:
        individualId:
          type: string
          description: Unique and unambiguous identification of an individual
          minLength: 1
          maxLength: 35
        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.
              minLength: 1
              maxLength: 35
    CoreInitiatingParty:
      type: object
      title: CoreInitiatingParty
      description: Initiating party details
      required:
      - name
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 140
          description: Name of the party
    IndividualIdentification:
      type: object
      title: Individual Identification
      description: Individual Identification Schemes
      properties:
        individualIds:
          type: array
          minItems: 1
          maxItems: 5
          items:
            $ref: '#/components/schemas/IndividualId'
    TaxInformation:
      type: object
      description: 'mandatory for Brazil PIX and Chile Low value ACH payments

        Optional for Mexico RTP'
      properties:
        taxAmount:
          type: number
          description: Applicable only for Mexico RTP
          example: 1000
        creditorTaxInformation:
          type: object
          properties:
            taxId:
              type: string
              minLength: 0
              maxLength: 512
              description: 'Maximum lengths allowed per instrument/market :-

                ACH Chile - 35'
            taxpayerCategory:
              type: string
              enum:
              - INDIVIDUAL
              - CORPORATE
          required:
          - taxId
          - taxpayerCategory
        debtorTaxInformation:
          type: object
          required:
          - taxId
          properties:
            taxId:
              type: string
    PaymentType:
      type: string
      enum:
      - ACH.TRF
      - RTP
      - BLOCKCHAIN
      description: "Mandatory for RTP, ACH payments and and Kinexys Digital Payments.\n\nTo Specify the\
        \ payment type, use:\n\n  - **RTP** for Faster Payments\n\n  - **ACH.TRF** for Chile ACH Payments\n\
        \n  - **BLOCKCHAIN** for payments via Kinexys Digital Payments"
    DateAndPlaceOfBirth:
      type: object
      properties:
        birthDate:
          type: string
          pattern: '[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])'
        cityOfBirth:
          type: string
          minLength: 0
          maxLength: 35
        countryOfBirth:
          type: string
          minLength: 2
          maxLength: 2
    Callbacks:
      type: array
      description: "List of Error codes and Rule definitions. errorDescription is\ndynamically generated\
        \ hence not shown here.\n\n    | Error Code        |            Rule Definition              \
        \            |  \n    |-------------------|-----------------------------------------------------|\n\
        \    | `10001`           | Mandatory field is missing or invalid               | \n    | `10002`\
        \           | Minimum length validation failure                   | \n    | `10003`          \
        \ | Maximum length validation failure                   | \n    | `10004`           | Date validation\
        \ failure                             |  \n    | `10005`           | Amount validation failure\
        \ ~ value more than maximum |  \n    | `10006`           | Amount validation failure ~ value less\
        \ than minimum |  \n    | `10007`           | Amount validation failure ~ value is not a number\
        \   |  \n    | `10008`           | Validation failure ~ unexpected value provided      |  \n \
        \   | `10009`           | Invalid Id provided                                 |  \n    | `10010`\
        \           | Personal information validation failure             |  \n    | `11000`         \
        \  | Clearing/Regulatory failure                         |  \n    | `12000`           | System\
        \ error                                        | \n    | `13000`           | Uncategorized error\
        \                                 |  "
      minItems: 0
      maxItems: 100
      items:
        type: object
        properties:
          endToEndId:
            type: string
            minLength: 0
            maxLength: 128
          firmRootId:
            type: string
            minLength: 0
            maxLength: 128
          clearingSystemReference:
            type: string
            minLength: 0
            maxLength: 128
            description: The clearing system reference
          createDateTime:
            type: string
          paymentStatus:
            type: string
            enum:
            - PENDING
            - PENDING_POSTING
            - COMPLETED
            - COMPLETED_CREDITED
            - REJECTED
            - RETURNED
            - WAREHOUSED
            - BLOCKED
            - PENDING_JPM_REVIEW
            description: "Status of the payment.\n\nPENDING - Payment is pending processing\n\nPENDING_POSTING\
              \ - Payment is yet to be posted in the beneficiary\naccount\n\nCOMPLETED - Payment has successfully\
              \ completed\n\nCOMPLETED_CREDITED - Status indicating the beneficiary's account\nhas been\
              \ credited\n\nREJECTED - Payment has been rejected. Please refer to the\nexception object\
              \ for error details\n\nRETURNED - Payment has been retured to the debtor party\n\nWAREHOUSED\
              \ - Payment request was successfully received. The request will be processed in the next\
              \ available window, typically the next calendar day\n\nBLOCKED - Payment blocked due to\
              \ sanctions issue \n\nPENDING_JPM_REVIEW - Payment is pending JPMorgan review\n\n\nRTP Flows\
              \ (All Markets) - \n\nPENDING -> COMPLETED  \n\nPENDING -> REJECTED\n\n\nAdditional Flows(RTP)->\
              \ \n\nUS  - \n\nPENDING -> PENDING_POSTING -> COMPLETED\n\nPENDING -> BLOCKED\n\n\nHong\
              \ Kong - \n\nPENDING -> COMPLETED -> COMPLETED_CREDITED\n\n\nPush To Card Flows - \n\nPENDING\
              \ -> COMPLETED\n\nPENDING -> REJECTED\n\nPENDING -> COMPLETED -> RETURNED\n\n\nACH Flows\
              \ (Chile) - \n\nPENDING -> COMPLETED \n\nPENDING - REJECTED\n\n\nBlockchain (Kinexys Digital\
              \ Payments) Flows - \n\nPENDING -> PENDING_POSTING -> COMPLETED \n\nPENDING -> REJECTED"
          exceptions:
            type: array
            minItems: 0
            maxItems: 100
            items:
              type: object
              properties:
                errorCode:
                  type: string
                  minLength: 0
                  maxLength: 32
                errorDescription:
                  type: string
                  minLength: 0
                  maxLength: 1024
                ruleDefinition:
                  type: string
                  minLength: 0
                  maxLength: 128
                externalCode:
                  type: string
                  minLength: 0
                  maxLength: 32
                externalDescription:
                  type: string
                  minLength: 0
                  maxLength: 1024
                  description: This field is currently not available for client usage *****
          fx:
            $ref: '#/components/schemas/FxApplied'
          paymentRedirected:
            $ref: '#/components/schemas/PaymentRedirected'
    PaymentRedirected:
      type: object
      description: Object capturing details of a payment that has been redirected to another account Applicable
        to UK FPS
      properties:
        isPaymentRedirected:
          type: boolean
          description: Flag to indicate if a payment has been redirected to another account
        redirectedAccountId:
          type: string
          minLength: 0
          maxLength: 128
          description: Account id to which payment is redirected
        redirectedBankId:
          type: string
          description: Bank identifier of the redirected account id.
    FxApplied:
      type: object
      properties:
        appliedRate:
          $ref: '#/components/schemas/Decimal'
    PaymentStatus:
      type: object
      properties:
        paymentStatus:
          $ref: '#/components/schemas/CoreStatus'
    CoreStatus:
      type: object
      properties:
        createDateTime:
          type: string
        status:
          type: string
          enum:
          - PENDING
          - PENDING_POSTING
          - COMPLETED
          - COMPLETED_CREDITED
          - REJECTED
          - RETURNED
          - WAREHOUSED
          - BLOCKED
          - PENDING_JPM_REVIEW
          description: "Status of the payment.\n\nPENDING - Payment is pending processing\n\nPENDING_POSTING\
            \ - Payment is yet to be posted in the beneficiary\naccount\n\nCOMPLETED - Payment has successfully\
            \ completed\n\nCOMPLETED_CREDITED - Status indicating the beneficiary's account has\nbeen\
            \ credited\n\nREJECTED - Payment has been rejected. Please refer to the exception\nobject\
            \ for error details\n\nRETURNED - Payment has been retured to the debtor party\n\nWAREHOUSED\
            \ - Payment request was successfully received. The request will be processed in the next available\
            \ window, typically the next calendar day\n\nBLOCKED - Payment blocked due to sanctions issue\
            \ \n\nPENDING_JPM_REVIEW - Payment is pending JPMorgan review\n\nRTP Flows (All Markets) -\
            \ \n\nPENDING -> COMPLETED  \n\nPENDING -> REJECTED\n\n\nAdditional Flows(RTP)-> \n\nUS  -\
            \ \n\nPENDING -> PENDING_POSTING -> COMPLETED\n\nPENDING -> BLOCKED\n\n\nHong Kong - \n\n\
            PENDING -> COMPLETED -> COMPLETED_CREDITED\n\n\nPush To Card Flows - \n\nPENDING -> COMPLETED\n\
            \nPENDING -> REJECTED\n\nPENDING -> COMPLETED -> RETURNED\n\n\nBlockchain (Kinexys Digital\
            \ Payments) Flows - \n\nPENDING -> PENDING_POSTING -> COMPLETED \n\nPENDING -> REJECTED"
        fx:
          $ref: '#/components/schemas/FxApplied'
        clearingSystemReference:
          type: string
          minLength: 0
          maxLength: 256
        exception:
          type: array
          minItems: 0
          maxItems: 100
          items:
            type: object
            properties:
              errorCode:
                type: string
                minLength: 0
                maxLength: 32
              errorDescription:
                type: string
                minLength: 0
                maxLength: 1024
              ruleDefinition:
                type: string
                minLength: 0
                maxLength: 128
              externalCode:
                type: string
                minLength: 0
                maxLength: 32
              externalDescription:
                type: string
                minLength: 0
                maxLength: 1024
                description: This field is currently not available for client usage *****
        paymentRedirected:
          $ref: '#/components/schemas/PaymentRedirected'
    ServiceLevelCode:
      type: string
      minLength: 0
      maxLength: 32
      description: service Level in coded form.
    PostalAddress:
      type: object
      description: "Address of the party\n\n- For **UK FPS** it is recommended that the combined length\
        \ of all structured\nfields should be less than 140 characters\n\n- **SEPA Instant** :\n\n  -\
        \ `creditor`, `ultimateCreditor` and `ultimateDebtor` - unstructured address field, up to 2 lines,\
        \ 70 characters each including spaces.\n\n  - **FOLLOWING 2023 RULEBOOK GO LIVE IN MARCH 2024**\
        \ \n    - Structured address fields will be supported\n    - If client elects to use the structured\
        \ address fields populate:\n      - Address Line + Country + Town Name *OR*\n      - Town Name\
        \ + Country *OR*\n      - (Postal Address fields except Address Line) + Town Name + Country\n\n\
        \  - **THE FOLLOWING SEPA RULEBOOK GUIDELINES GO LIVE IN NOVEMBER 2026:**\n    - Fully unstructured\
        \ (free-text) postal addresses will be not supported.\n    - Town Name and Country are mandatory\
        \ when Postal Address is present.\n\n*For ultimateDebtor postalAddress is only required for cross-border\
        \ flows to be compliant with FTR regulation, not required for intra-EEA flows*\n\n**Push To Card**\
        \ - Include buildingNumber and streetName"
      properties:
        addressType:
          type: string
          enum:
          - ADDR
          - BIZZ
          - DLVY
          - HOME
          - MLTO
          - PBOX
          description: "| Address Type  |            Description                                     \
            \          |  \n|---------------|----------------------------------------------------------------------|\n\
            | `ADDR`        | Postal Address is the complete postal address.                       | \n\
            | `BIZZ`        | Business Address is the business address.                            | \n\
            | `DLVY`        | DeliveryTo Address is the address to which delivery is to take place.| \
            \ \n| `HOME`        | Residential Address is the home address.                           \
            \  |  \n| `MLTO`        | MailTo Address is the address to which mail is sent.           \
            \      | \n| `PBOX`        | PO Box Address is a postal office (PO) box.                 \
            \         | "
        streetName:
          type: string
          description: 'Name of street. Mandatory for US RTP

            Maximum length applicable :-

            Push To Card - 35'
          minLength: 0
          maxLength: 70
        buildingNumber:
          type: string
          description: 'Building name or number.

            Maximum length applicable :-

            Push To Card - 35'
          minLength: 0
          maxLength: 16
        postalCode:
          type: string
          description: 'Zip code. Mandatory for Wallet Payments and US RTP

            Maximum length applicable :-

            Push To Card - 9'
          minLength: 0
          maxLength: 16
        townName:
          type: string
          description: 'Name of the town. Mandatory for US RTP and SEPA Instant.

            Maximum length applicable :-

            Push To Card - 25'
          minLength: 0
          maxLength: 35
        countrySubDvsn:
          type: string
          minLength: 0
          maxLength: 35
          description: Mandatory for US RTP
        country:
          type: string
          description: '2 character ISO country code.

            Mandatory for Wallet Payments, US RTP, SEPA Instant and Interac'
          minLength: 2
          maxLength: 2
        addressLine:
          type: array
          minItems: 0
          maxItems: 100
          items:
            type: string
            minLength: 0
            maxLength: 1024
          description: "Not applicable to Wallet Payments. Free form text address lines Up\nto 4 lines.\n\
            \n**Maximum number of characters allowed per instrument/market** :-\n\n  | Market        \
            \  | Max Lines and length limits    |\n  | ----------------|--------------------------------|\n\
            \  | **UK FPS**      |4 lines, 140 characters including spaces |\n  | **SEPA INSTANT**| 2\
            \ lines, 70 characters each including spaces |\n  | **Brazil RTP** |7 lines, 70 characters\
            \          |\n  | **Chile ACH**   |2 lines, 35 characters + 1 additional line containing 32\
            \ characters|"
    AccountType:
      type: string
      description: '- Mandatory for SEPA Instant - Use IBAN

        - Mandatory for Blockchain Payments (Kinexys Digital Payments)- DDA, BDA (Blockchain Deposit

        Account)

        - Field not applicable to Alternate Payments (Cards)'
      enum:
      - DDA
      - VAM
      - IBAN
      - BDA
      - CACC
      - SVGS
      - CARD
      - LIMITED_DDA
      - EMBEDDED_DDA
      - WALLET
    AccountCurrency:
      type: string
      minLength: 3
      maxLength: 3
      pattern: ^[A-Z]{3}$
      description: 'Originator account currency in 3 character ISO currency code. Field not applicable
        to Alternate Payments (Cards)

        UK FPS - GBP only

        SEPA INSTANT - EUR only '
    AccountIdentification:
      type: string
      minLength: 0
      maxLength: 128
      description: '**Maximum length supported for each instrument and market** :-

        | Market |Maximum length limits|

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

        |  US RTP       |9 (**Routing and Transit Number**: alphabetic characters may be present)|

        |  SEPA INSTANT |8 (numeric only)  |

        |  Brazil RTP   |8                 |

        |  UK FPS       |6 (numeric only)  |'
    CountryOfResidence:
      type: string
      minLength: 2
      maxLength: 2
      description: 2 character `ISO country code` of residence. **Mandatory** for Interac payments.
    PaymentInitiationResponse:
      type: object
      properties:
        paymentInitiationResponse:
          type: object
          properties:
            endToEndId:
              $ref: '#/components/schemas/EndToEndId'
            firmRootId:
              $ref: '#/components/schemas/FirmRootId'
    EndToEndId:
      type: string
      minLength: 0
      maxLength: 128
    FirmRootId:
      type: string
      minLength: 0
      maxLength: 128
    ErrorsInit:
      type: object
      properties:
        endToEndId:
          type: string
          minLength: 0
          maxLength: 128
        errorDetails:
          type: array
          minItems: 0
          maxItems: 100
          items:
            $ref: '#/components/schemas/ErrorDetails'
    ErrorDetails:
      type: object
      properties:
        errorCode:
          type: string
          minLength: 0
          maxLength: 32
        errorDescription:
          type: string
          minLength: 0
          maxLength: 1024
        ruleDefinition:
          type: string
          minLength: 0
          maxLength: 128
    Error:
      type: object
      properties:
        errorCode:
          type: string
          minLength: 0
          maxLength: 32
        errorDescription:
          type: string
          minLength: 0
          maxLength: 1024
    Errors:
      type: object
      properties:
        errorDetails:
          type: array
          minItems: 0
          maxItems: 100
          items:
            $ref: '#/components/schemas/Error'
    DebtorFinancialInstitutionId:
      type: object
      description: Financial institution identifier of debtor
      properties:
        bic:
          type: string
          description: "**Credit Transfer Payment** Not applicable for **US RTP**\n\n**Mandatory RTP markets**:-\n\
            \n  | Market     |\n  |------------|\n  |  UK        |\n  |  India     |\n  |  Singapore |\n\
            \  |Australia   |\n  |Malaysia    |\n  |Hong Kong   |\n  |SEPA INSTANT|\n  |Brazil      |\n\
            \  |Mexico      |\n\n**Alternate Payments**:-\n  - **Push To Card**: US/Canada\n  - **Interac**:\
            \ Canada\n  - **Push To Wallet: Venmo/PayPal \n  - ** Zelle\n\n**ACH**:- \n  - Chile\n\n**Mandatory\
            \ Blockchain (Kinexys Digital Payments) Payment markets**:-\n  - US\n  - SEPA"
          enum:
          - CHASGB2L
          - CHASINBX
          - CHASAU2X
          - CHASSGSG
          - CHASUS33
          - CHASMYKX
          - CHASHKHH
          - CHASBRSP
          - CHASDEFX
          - CHASLULX
          - CHASNL2X
          - CHASIE4L
          - CHASMXMX
          - CHASCATT
          - CHASIDJX
          - CHASUS33MCY
          - CHASDEFXONX
          - CHASCLRM
          - CHASFRPP
          - CHASITMX
          - CHASESM3
          - CHASBE

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