Pay By Bank PIS

## Pay By Bank v1 - PIS API --- > J.P. Morgan as a registered Third Party Provider (**TPP**) of Open Banking services, > offers a seamless integration platform for Pay by Bank such that: > - clients can initiate payments (serving as a Payment Initiation Service Provider, or **PISP**) >

OpenAPI Specification

jp-morgan-chase-pay-by-bank-pis-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%2Fpay-by-bank%2Fpis-oas.md
# generated: '2026-07-28'
openapi: 3.0.0
info:
  title: Pay By Bank PIS
  version: 1.1.4
  description: "## Pay By Bank v1 - PIS API\n\n---\n\n> J.P. Morgan as a registered Third Party Provider\
    \ (**TPP**) of Open Banking services,\n> offers a seamless integration platform for Pay by Bank such\
    \ that:\n> - clients can initiate payments (serving as a Payment Initiation Service Provider, or **PISP**)\
    \ \n>"
  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-mock.payments.jpmorgan.com/tsapi/v1
  description: MOCK
tags:
- name: PIS
  description: Payment Initiation Services
- name: Refunds
  description: Refund initiation services.
paths:
  /pisp/providers:
    post:
      summary: Request for Providers
      description: "- Clients can request a list of ASPSPs reachable using J.P. Morgan's PISP\nservices\
        \ in each country.\n- For the purposes of this API, ASPSPs are referred to as 'Providers.' \n\
        - The request for retrieving a particular country's list of supported providers must contain the\
        \ correct country code."
      tags:
      - PIS
      operationId: retrievePISProviders
      parameters:
      - $ref: '#/components/parameters/ContentType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PispProvidersRequest'
            examples:
              ExamplePispProvidersRequest:
                $ref: '#/components/examples/PispProvidersRequestExample'
        required: false
      x-examples:
      - name: ExamplePispProvidersRequest
        description: Example country code
        parameters:
          body:
            countryCode: XF
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PispProvidersResponse'
              examples:
                ExamplePispProvidersResponse:
                  $ref: '#/components/examples/PispProvidersResponseExample'
        '400':
          description: "Bad Request\n\n**The following table lists and describes the error codes applicable**\n\
            \n| Error Code | Meaning                                       |\n|------------|-----------------------------------------------|\n\
            | PISP-001   |Customer does not exist within our system      |    \n| PISP-003   |Invalid\
            \ JSON format                            |"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidJSONFormatExample:
                  $ref: '#/components/examples/InvalidJSONFormatExample'
        '403':
          description: 'Forbidden


            **The following table lists and describes the error codes applicable**


            | Error Code | Meaning             |

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

            | PISP-006   |Unauthorized access  |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidJSONFormatExample:
                  $ref: '#/components/examples/UnauthorizedAccessExample'
        '500':
          description: 'Internal server error


            **The following table lists and describes the error codes applicable**


            | Error Code | Meaning                   |

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

            | PISP-002   |Internal server error      |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: "Service Unavailable\n\n**The following table lists and describes the error codes\
            \ applicable**\n\n| Error Code | Meaning                                                 \
            \   |\n|------------|------------------------------------------------------------|\n| PISP-004\
            \   |System exception                                            |    \n| PISP-005   |No customer\
            \ exists associated with paymentId: `<paymentID>` |\n| PISP-017   |The JSON request is incorrectly\
            \ formed                      |\n| PISP-017   |Customer is locked                        \
            \                  |\n| PISP-017   |We do not support the received provider_mode         \
            \       |\n| PISP-017   |The return_to URL exceeds 2040 characters.                  |\n|\
            \ PISP-017   |Invalid payment attributes.                                 |\n| PISP-017  \
            \ |Certificate not found.                                      |\n| PISP-017   |Action not\
            \ supported                                        |\n| PISP-017   |The accessed provider\
            \ is inactive at the moment             |\n| PISP-017   |The provider is temporary unavailable.\
            \                      |\n| PISP-017   |Payment already authorized                       \
            \           |\n| PISP-017   |Sending a provider_code that is not present in our system   |\n\
            | PISP-017   |Failed to create the payment                                |\n| PISP-017  \
            \ |The customer tried to initiate a payment with invalid credentials|\n| PISP-017   |Payment\
            \ already finished.                                   |"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /pisp/payment/request:
    post:
      summary: Request for Payment Initiation
      description: This request initiates a payment on a PSU's behalf.
      tags:
      - PIS
      operationId: createPaymentIntent
      parameters:
      - $ref: '#/components/parameters/ContentType'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Payment'
            examples:
              ExampleSEPAPaymentRequest:
                $ref: '#/components/examples/SEPAPaymentRequestExample'
              ExampleFPSPaymentRequest:
                $ref: '#/components/examples/FPSPaymentRequestExample'
              ExampleBACSPaymentRequest:
                $ref: '#/components/examples/BACSPaymentRequestExample'
              ExampleCHAPSPaymentRequest:
                $ref: '#/components/examples/CHAPSPaymentRequestExample'
      x-examples:
      - name: ExampleSEPAPaymentRequest
        description: Example Request for an SEPA payment
        parameters:
          body:
            customer_id: 00ef7b8enca1elA1tm6bmyphhgk3
            country_code: DE
            provider_code: berliner_sparkasse_oauth_client_de
            payee_description: MusicCorpDE
            template_identifier: SEPA
            return_to: https://www.merchant.com/signup/redirectRequestLanding?action=nextAction&skipMoneyballModeRedirect=true&authURL=1695271209906.YsdmtRcveemWqg%252BQFVHNwRJO8B0%3D&flwssn=fb616054-ae67-4767-81a9-fb4d0f9976c0&nftoken=BQAbAAEBECYycrotnMdMPM%2BW6p7%2BWC%2BAoKPmq4VIBpWZVXQlGJnjdG0QZXjPij2O0eICZncDDLrE2n%2FMLxZvSBxYfto72m9nvCUjz0pZlnd%2Fcf1UnJStNNky3qwZbKMAJP2PeosCnbQ8fXIifdfaMcXZKZEKCSaOX1LpCM1Xx0kB6yfmT1FuTV5NlaphUclni%2FYt7BNVqC4tyjPAM9uUkqCPMBZzxgw%2FGeUBV2kXdmfct9EtE5PMGms%3D&redirectStrategy=open-banking
            payment_attributes:
              end_to_end_id: '20018300321270540'
              creditor_name: MusicCorp
              creditor_iban: DEXXXXXXXXXXXXXXXXXXXX
              debtor_iban: DEXXXXXXXXXXXXXXXXXXXX
              description: For goods
              amount: '17.99'
              currency_code: EUR
              mode: Normal
      - name: ExampleFPSPaymentRequest
        description: Example Request for an FPS payment
        parameters:
          body:
            customer_id: 00ef7b8enca1elA1tm6bmyphhgk3
            country_code: DE
            provider_code: berliner_sparkasse_oauth_client_de
            payee_description: MusicCorpDE
            template_identifier: SEPA
            return_to: https://www.merchant.com/signup/redirectRequestLanding?action=nextAction&skipMoneyballModeRedirect=true&authURL=1695271209906.YsdmtRcveemWqg%252BQFVHNwRJO8B0%3D&flwssn=fb616054-ae67-4767-81a9-fb4d0f9976c0&nftoken=BQAbAAEBECYycrotnMdMPM%2BW6p7%2BWC%2BAoKPmq4VIBpWZVXQlGJnjdG0QZXjPij2O0eICZncDDLrE2n%2FMLxZvSBxYfto72m9nvCUjz0pZlnd%2Fcf1UnJStNNky3qwZbKMAJP2PeosCnbQ8fXIifdfaMcXZKZEKCSaOX1LpCM1Xx0kB6yfmT1FuTV5NlaphUclni%2FYt7BNVqC4tyjPAM9uUkqCPMBZzxgw%2FGeUBV2kXdmfct9EtE5PMGms%3D&redirectStrategy=open-banking
            payment_attributes:
              end_to_end_id: '20018300321270540'
              creditor_name: MusicCorp
              creditor_iban: DEXXXXXXXXXXXXXXXXXXXX
              debtor_iban: DEXXXXXXXXXXXXXXXXXXXX
              description: For goods
              amount: '17.99'
              currency_code: EUR
              mode: Normal
      - name: ExampleBACSPaymentRequest
        description: Example Request for a BACS payment
        parameters:
          body:
            customer_id: D310252
            country_code: GB
            provider_code: barclays_oauth_client_gb
            payee_description: barclays PVT 10-25-23
            template_identifier: BACS
            return_to: https://sites.obtest.com/sites/cib
            payment_attributes:
              end_to_end_id: PISP_1025_PVT_002
              creditor_name: John Smith
              creditor_sort_code: XXX242
              creditor_account_number: XXXXX035
              description: For Goods
              amount: '100.00'
              currency_code: GBP
      - name: ExampleCHAPSPaymentRequest
        description: Example Request for a CHAPS payment
        parameters:
          body:
            customer_id: D310252
            country_code: GB
            provider_code: barclays_oauth_client_gb
            payee_description: barclays PVT 10-25-23
            template_identifier: CHAPS
            return_to: https://sites.obtest.com/sites/cib
            payment_attributes:
              end_to_end_id: PISP_1025_PVT_002
              creditor_name: John Smith
              creditor_sort_code: XXX242
              creditor_account_number: XXXXX035
              description: For Goods
              amount: '100.00'
              currency_code: GBP
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
              examples:
                ExamplePaymentResponse:
                  $ref: '#/components/examples/PaymentResponseExample'
        '400':
          description: "Bad Request\n\n**The following table lists and describes the error codes applicable**\n\
            \n| Error Code | Meaning                                       |\n|------------|-----------------------------------------------|\n\
            | PISP-001   |Customer does not exist within our system      |    \n| PISP-003   |Invalid\
            \ JSON format                            |"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidJSONFormatExample:
                  $ref: '#/components/examples/InvalidJSONFormatExample'
        '403':
          description: 'Forbidden


            **The following table lists and describes the error codes applicable**


            | Error Code | Meaning             |

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

            | PISP-006   |Unauthorized access  |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidJSONFormatExample:
                  $ref: '#/components/examples/UnauthorizedAccessExample'
        '500':
          description: 'Internal server error


            **The following table lists and describes the error codes applicable**


            | Error Code | Meaning                   |

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

            | PISP-002   |Internal server error      |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: "Service Unavailable\n\n**The following table lists and describes the error codes\
            \ applicable**\n\n| Error Code | Meaning                                                 \
            \   |\n|------------|------------------------------------------------------------|\n| PISP-004\
            \   |System exception                                            |    \n| PISP-005   |No customer\
            \ exists associated with paymentId: `<paymentID>` |\n| PISP-017   |The JSON request is incorrectly\
            \ formed                      |\n| PISP-017   |Customer is locked                        \
            \                  |\n| PISP-017   |We do not support the received provider_mode         \
            \       |\n| PISP-017   |The return_to URL exceeds 2040 characters.                  |\n|\
            \ PISP-017   |Invalid payment attributes.                                 |\n| PISP-017  \
            \ |Certificate not found.                                      |\n| PISP-017   |Action not\
            \ supported                                        |\n| PISP-017   |The accessed provider\
            \ is inactive at the moment             |\n| PISP-017   |The provider is temporary unavailable.\
            \                      |\n| PISP-017   |Payment already authorized                       \
            \           |\n| PISP-017   |Sending a provider_code that is not present in our system   |\n\
            | PISP-017   |Failed to create the payment                                |\n| PISP-017  \
            \ |The customer tried to initiate a payment with invalid credentials|\n| PISP-017   |Payment\
            \ already finished.                                   |"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /pisp/payment/authorize:
    post:
      summary: Request for Payment Authorization
      description: "This request is used to authorize a payment.    \n\n**NOTE: The request payload MUST\
        \ be digitally signed and encrypted using the Signing Certificate**"
      operationId: createPaymentAuthorization
      tags:
      - PIS
      parameters:
      - $ref: '#/components/parameters/ContentType'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentAuthorizationRequest'
            examples:
              ExamplePaymentAuthorizeRequest:
                $ref: '#/components/examples/PaymentAuthorizationRequestExample'
      x-examples:
      - name: ExamplePaymentAuthorizeRequest
        description: Example Request for payment Authorization
        parameters:
          body:
            paymentId: '1105291498426995690'
            authToken: a8a96b6fa3932885be4a46162fd7a0c1579e65a0803e4946a67dae5279dc0c13&end_to_end_id=00000002
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentAuthStatusResponse'
              examples:
                ExamplePaymentAuthorizationresponse:
                  $ref: '#/components/examples/PaymentAuthStatusResponseExample'
        '400':
          description: "Bad Request\n\n**The following table lists and describes the error codes applicable**\n\
            \n| Error Code | Meaning                                       |\n|------------|-----------------------------------------------|\n\
            | PISP-001   |Customer does not exist within our system      |    \n| PISP-003   |Invalid\
            \ JSON format                            |"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidJSONFormatExample:
                  $ref: '#/components/examples/InvalidJSONFormatExample'
        '403':
          description: 'Forbidden


            **The following table lists and describes the error codes applicable**


            | Error Code | Meaning             |

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

            | PISP-006   |Unauthorized access  |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidJSONFormatExample:
                  $ref: '#/components/examples/UnauthorizedAccessExample'
        '500':
          description: 'Internal server error


            **The following table lists and describes the error codes applicable**


            | Error Code | Meaning                   |

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

            | PISP-002   |Internal server error      |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: "Service Unavailable\n\n**The following table lists and describes the error codes\
            \ applicable**\n\n| Error Code | Meaning                                                 \
            \   |\n|------------|------------------------------------------------------------|\n| PISP-004\
            \   |System exception                                            |    \n| PISP-005   |No customer\
            \ exists associated with paymentId: `<paymentID>` |\n| PISP-017   |The JSON request is incorrectly\
            \ formed                      |\n| PISP-017   |Customer is locked                        \
            \                  |\n| PISP-017   |We do not support the received provider_mode         \
            \       |\n| PISP-017   |The return_to URL exceeds 2040 characters.                  |\n|\
            \ PISP-017   |Invalid payment attributes.                                 |\n| PISP-017  \
            \ |Certificate not found.                                      |\n| PISP-017   |Action not\
            \ supported                                        |\n| PISP-017   |The accessed provider\
            \ is inactive at the moment             |\n| PISP-017   |The provider is temporary unavailable.\
            \                      |\n| PISP-017   |Payment already authorized                       \
            \           |\n| PISP-017   |Sending a provider_code that is not present in our system   |\n\
            | PISP-017   |Failed to create the payment                                |\n| PISP-017  \
            \ |The customer tried to initiate a payment with invalid credentials|\n| PISP-017   |Payment\
            \ already finished.                                   |"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /pisp/payment/status:
    post:
      summary: Request for Payment Status
      description: 'This request retrieves the current status of a previously initiated

        payment.'
      operationId: retrievePaymentStatus
      tags:
      - PIS
      parameters:
      - $ref: '#/components/parameters/ContentType'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentStatusRequest'
            examples:
              ExamplePaymentStatusRequest:
                $ref: '#/components/examples/PaymentStatusRequestExample'
      x-examples:
      - name: ExamplePaymentStatusRequest
        description: Example Payment Status Request
        parameters:
          body:
            customer_id: '1105291496237568999'
            payment_id: '1104531176632095201'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentAuthStatusResponse'
              examples:
                ExamplesPaymentStatusResponse:
                  $ref: '#/components/examples/PaymentAuthStatusResponseExample'
        '400':
          description: "Bad Request\n\n**The following table lists and describes the error codes applicable**\n\
            \n| Error Code | Meaning                                       |\n|------------|-----------------------------------------------|\n\
            | PISP-001   |Customer does not exist within our system      |    \n| PISP-003   |Invalid\
            \ JSON format                            |"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidJSONFormatExample:
                  $ref: '#/components/examples/InvalidJSONFormatExample'
        '403':
          description: 'Forbidden


            **The following table lists and describes the error codes applicable**


            | Error Code | Meaning             |

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

            | PISP-006   |Unauthorized access  |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidJSONFormatExample:
                  $ref: '#/components/examples/UnauthorizedAccessExample'
        '500':
          description: 'Internal server error


            **The following table lists and describes the error codes applicable**


            | Error Code | Meaning                   |

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

            | PISP-002   |Internal server error      |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: "Service Unavailable\n\n**The following table lists and describes the error codes\
            \ applicable**\n\n| Error Code | Meaning                                                 \
            \   |\n|------------|------------------------------------------------------------|\n| PISP-004\
            \   |System exception                                            |    \n| PISP-005   |No customer\
            \ exists associated with paymentId: `<paymentID>` |\n| PISP-017   |The JSON request is incorrectly\
            \ formed                      |\n| PISP-017   |Customer is locked                        \
            \                  |\n| PISP-017   |We do not support the received provider_mode         \
            \       |\n| PISP-017   |The return_to URL exceeds 2040 characters.                  |\n|\
            \ PISP-017   |Invalid payment attributes.                                 |\n| PISP-017  \
            \ |Certificate not found.                                      |\n| PISP-017   |Action not\
            \ supported                                        |\n| PISP-017   |The accessed provider\
            \ is inactive at the moment             |\n| PISP-017   |The provider is temporary unavailable.\
            \                      |\n| PISP-017   |Payment already authorized                       \
            \           |\n| PISP-017   |Sending a provider_code that is not present in our system   |\n\
            | PISP-017   |Failed to create the payment                                |\n| PISP-017  \
            \ |The customer tried to initiate a payment with invalid credentials|\n| PISP-017   |Payment\
            \ already finished.                                   |"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /pisp/payments/refunds:
    post:
      summary: Request for Payment refunds
      description: This request initiates a refund on the payments made before
      operationId: createRefunds
      tags:
      - Refunds
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundsRequest'
        required: true
      x-examples:
      - name: PSD2 Payment Refunds
        description: Refund request payload
        parameters:
          body:
            paymentIdentifiers:
              endToEndId: '123123123'
              paymentId: '1401642'
            amount:
              amount: 100
              currency: GBP
            reason: REQUESTED_BY_CUSTOMER
            mode: INSTANT
      responses:
        '202':
          description: Refund has been accepted for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundsResponse'
        '400':
          description: "Bad Request.\n\n**List of Error codes and Rule definitions. errorDescription is\n\
            dynamically generated hence not shown here.\nRefer the table below**\n|  Error Code | Meaning\
            \                                              |\n|-------------|------------------------------------------------------|\n\
            |  10001       | Mandatory field is missing or invalid               |\n|  10002       | Minimum\
            \ length validation failure                   |\n|  10003       | Maximum length validation\
            \ failure                   |\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|  12000       | System Error          \
            \                              | \n|  13000       | Uncategorized Error                  \
            \               | \n\n**Standard API Gateway Error codes and descriptions** \n\n|  Error Code\
            \  | Meaning                      |\n|--------------|------------------------------|\n|  GCA-030\
            \     | API Processing Error         |"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsInit'
        '403':
          description: 'Forbidden.


            |  Error Code  | Meaning                                    |

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

            |  GCA-001     | Client is not eligible for the API Service |

            |  GCA-003     | Client is not eligible for the API Service |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '503':
          description: 'Service Unavailable.


            |  Error Code  | Meaning           |

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

            |  GCA-099    | System Unavailable |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
  /pisp/payments/refunds/{refundId}:
    get:
      summary: Retrieve refund status
      description: This request retrieves the refund status and details based on the given refund Id
      tags:
      - Refunds
      operationId: getRefunds
      parameters:
      - $ref: '#/components/parameters/RefundId'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundsResponse'
        '400':
          description: "Bad Request.\n\n**List of Error codes and Rule definitions. errorDescription is\n\
            dynamically generated hence not shown here**\n|  Error Code | Meaning                    \
            \                          |\n|-------------|------------------------------------------------------|\n\
            |  10001       | Mandatory field is missing or invalid               |\n|  10002       | Minimum\
            \ length validation failure                   |\n|  10003       | Maximum length validation\
            \ failure                   |\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|  12000       | System Error          \
            \                              | \n|  13000       | Uncategorized Error                  \
            \               | \n\n**Standard API Gateway Error codes and descriptions** \n\n|  Error Code\
            \  | Meaning                      |\n|--------------|------------------------------|\n|  GCA-030\
            \     | API Processing Error         |"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsInit'
        '403':
          description: 'Forbidden.


            |  Error Code  | Meaning                                    |

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

            |  GCA-001     | Client is not eligible for the API Service |

            |  GCA-003     | Client is not eligible for the API Service |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '503':
          description: 'Service Unavailable.


            |  Error Code  | Meaning           |

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

            |  GCA-099    | System Unavailable |'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
  /aisp/providers:
    post:
      deprecated: true
      summary: Request for Providers
      description: '<!-- theme: warning-->

        > Deprecated

        >

        > Sunset: 30 May 2026

        - This request retrieves a list of ASPSPs reachable using J.P. Morgan''s AISP services in each
        country.

        - For the purposes of this API, ASPSPs are referred to as Providers.

        - The request for retrieving a particular country''s list of supported Providers must contain
        the correct country code'
      tags:
      - AIS
      operationId: retrieveAISProviders
      parameters:
      - $ref: '#/components/parameters/ContentType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProvidersRequest'
        required: false
      x-examples:
      - name: ExampleProvidersRequest
        description: Example request to retrieve providers
        parameters:
          body:
            countryCode: XF
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProvidersResponse'
              examples:
                ExamplesProvidersResponse:
                  $ref: '#/components/examples/ProvidersResponseExample'
        '400':
          description: 'Bad Request.


            **The following table lists and describes the error codes applicable**

            | Error Code | Meaning                                                                                              |

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

            | AISP-001   |Values are missing for properties: `<properties>`                                                     |

            | AISP-002   |Invalid consent scopes: `<invalid_scopes>`                                                            |

            | AISP-003   |Invalid JSON format                                                                        

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