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/jp-morgan-chase-payment-initiation-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 form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Global Payments Payment Initiation 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
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
components:
schemas:
PrimaryAccountIdentification:
type: object
title: Primary Account Identification
required:
- accountId
properties:
accountId:
$ref: '#/components/schemas/AccountId'
accountType:
$ref: '#/components/schemas/AccountTypeEnum'
schemeName:
$ref: '#/components/schemas/SchemeName'
cardExpiryDate:
type: string
description: Mandatory for Push to Card. Acceptable format - YYMM
pattern: ^(?:[0-9]{2})(0[1-9]|1[0-2])$
UltimateDebtorName:
title: Ultimate Debtor Name
type: string
minLength: 0
maxLength: 140
description: '- Mandatory for US RTP
**Market specific maximum length limits** :-
| Market |Maximum Length|
|----------------- |----|
| **Push To Card**| 25 | '
AdditionalAlternateAccountIdentifier:
type: object
description: "A value that can be used as an alternative identifier for an account. \n- Each `identifier` entry **MUST** identify its context as assigned by the associated acount platform as an idType. "
properties:
idType:
type: string
description: "One or more values that can be used as alternative identifiers for an account. \n | Identifier Type | Description |\n | -------------------| ---------------------------------------------------------------|\n | PROGRAM_ID | A client program identifier.|\n | CUSTOM | A custom identifier that can be used to identify an account eg. `EMAIL`,`CARD_NUMBER` etc. *Should be used in conjunction with name field.*|"
enum:
- PROGRAM_ID
- CUSTOM
identifier:
$ref: '#/components/schemas/AlternateAccountIdentifier'
name:
type: string
minLength: 0
maxLength: 32
description: "Optional field to provide more context to the alternate account identifier type. With idType: `CUSTOM` it is recommended to provide a name for the identifier, for example:\n | Identifier Type | NAME |\n | -------------------|-------------|\n | CUSTOM |`EMAIL` |\n | CUSTOM |`CARD_NUMBER`|"
required:
- idType
- identifier
IndividualIdentification:
type: object
title: Individual Identification
description: Individual Identification Schemes
properties:
individualIds:
type: array
minItems: 1
maxItems: 5
items:
$ref: '#/components/schemas/IndividualId'
Error:
type: object
properties:
errorCode:
type: string
minLength: 0
maxLength: 32
errorDescription:
type: string
minLength: 0
maxLength: 1024
UltimateCreditor:
oneOf:
- $ref: '#/components/schemas/UltimateCreditorOrganization'
- $ref: '#/components/schemas/UltimateCreditorIndividual'
UltimateDebtor:
oneOf:
- $ref: '#/components/schemas/UltimateDebtorOrganization'
- $ref: '#/components/schemas/UltimateDebtorIndividual'
EndToEndId:
type: string
minLength: 0
maxLength: 128
Purpose:
type: object
description: "This field is mandatory for Singapore Faster Payments. Underlying reason for the payment transaction, eg., a charity payment, or a commercial agreement between the creditor and the debtor. \nNot applicable for :-\n UK FPS\n Push To Card"
properties:
code:
$ref: '#/components/schemas/ServiceLevelCode'
type:
type: string
enum:
- CODE
- PROPRIETARY
PaymentIdentifiers:
type: object
description: Payment Id
required:
- endToEndId
properties:
endToEndId:
type: string
minLength: 0
maxLength: 128
description: "Customer assigned reference to the transaction.\nMaximum length supported for each instrument and market :-\n\n**Credit Transfer Payments**\n|Payment Type| Market | Max Length |Format\n|------------|--------------|------------|-------------\n| RTP | UK | 31 |letters and numbers only\n| RTP | Singapore | 35 |letters and numbers only\n| RTP | Australia | 35 |letters and numbers only\n| RTP | Hong Kong | 35 |letters and numbers only\n| RTP | Indonesia | 35 |letters and numbers only\n| RTP | Brazil | 34 |letters and numbers only\n| RTP | Mexico | 16 |letters and numbers only\n| RTP | US | 31 |letters and numbers only\n| RTP | SEPA | 35 |letters and numbers only\n| Push To Card| US/Canada | 16 |letters and numbers only\n| ACH | Chile | 35 |\n| BLOCKCHAIN | Kinexys Digital Payments markets | 16 |letters and numbers only\n| Push To Wallet | PayPal/Venmo | 35 |letters and numbers only\n| Interac | JPM Canada markets | 35 |letters and numbers only\n| Zelle | US | 16 |letters and numbers only \n**Direct Debit Payments**\n|Payment Type| Market | Max Length |Format |\n|------------|--------------|------------|-------------------------|\n| RTP | Malaysia | 35 |Letters and numbers only |"
otherPaymentReferences:
type: object
description: 'The object becomes MANDATORY for below instrument and market when
transferType = ''DEBIT''
|Payment Type| Market | Max Length |Format |
|------------|--------------|------------|-------------------------|
| RTP | Malaysia | 35 |Letters and numbers only |'
properties:
paymentReferenceValue:
type: string
minLength: 0
maxLength: 128
description: Clearing house originating mandate identifier to be provided for Direct debit payments.
required:
- paymentReferenceValue
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"
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
RemittanceInformation:
type: object
title: Remittance Information
description: Mandatory for Malaysia Faster Payments, optional for other markets
properties:
unstructuredInformation:
type: array
minItems: 0
maxItems: 100
description: "**Maximum number of lines and characters supported per market/instrument** :-\n\n| Market |Maximum Line and Length limits|\n|--------|-----------------------------------|\n| UK FPS |1 line, 140 characters |\n| SEPA INSTANT |1 line, 140 characters |\n| US RTP | 1 line, 140 charaters |\n| Singapore RTP | 1 line, 140 characters | \n| Australia RTP | 2 lines, 140 characters | \n| Hong Kong RTP | 1 line, 140 characters |\n| Malaysia RTP | 1 line, 140 characters |\n|India IMPS | 1 line, 140 characters |\n| Brazil RTP | 1 line, 140 characters |\n| Mexico RTP | 210 characters |\n|Indonesia RTP | 1 line, 140 characters |\n| Push To Card US and Canada | 1 line, 16 characters (Numbers, alphabets, SPACE and special chars -./,$@& allowed) |\n| Blockchain (Kinexys Digital Payments) Payments | 1 line, 140 characters|\n| Zelle | 1 line, 200 characters (Numbers, alphabets, SPACE and special chars -./,$@& allowed) |"
items:
type: string
minLength: 0
maxLength: 512
structuredInformation:
type: array
minItems: 0
maxItems: 100
description: 'Applicable Faster Payment Markets -
Malaysia
US'
items:
$ref: '#/components/schemas/StructuredInformation'
foreignCurrency:
type: string
minLength: 3
maxLength: 3
description: Only applicable for Mexico Faster Payments
fx:
$ref: '#/components/schemas/FxApplied'
CountryOfResidence:
type: string
minLength: 2
maxLength: 2
description: 2 character `ISO country code` of residence. **Mandatory** for Interac payments.
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 '
Code:
type: string
minLength: 0
maxLength: 32
IndividualID:
type: object
description: "Can be used if the `organizationID` is not populated, when the underlying payer is an Individual. \n\nIt should be used together with `UltimateDebtorName` and `address`, and it should contain the payment account number of the underlying payer. \n\nIn case the transfer has not been initiated from a payment account, the value populated should be a unique transaction identifier of the underlying payer which permits the traceability of the transaction back to them.\n\n**Applicable RTP markets** :-\n - SEPA \n\n - Mexico \n\n - UK\n\n - US\n\n**ACH markets** :- \n - Chile"
properties:
id:
type: string
minLength: 0
maxLength: 512
description: 'Max length for ACH :-
Chile - 255'
issuer:
type: string
minLength: 0
maxLength: 128
description: 'Max length for ACH :-
Chile - 35'
schemeName:
description: type of scheme
type: object
minProperties: 1
maxProperties: 1
properties:
code:
$ref: '#/components/schemas/Code'
proprietary:
$ref: '#/components/schemas/Proprietary'
required:
- id
InitiatingParty:
title: Initiating Party
description: The initiating Party
oneOf:
- $ref: '#/components/schemas/OrganizationPartyDetails'
- $ref: '#/components/schemas/IndividualPartyDetails'
example:
organizationIds:
- organizationId: BANK
FirmRootId:
type: string
minLength: 0
maxLength: 128
UltimateCreditorName:
title: UltimateCreditorName
type: string
minLength: 0
maxLength: 140
description: Mandatory for US RTP & US FedNow
AdditionalCreditor:
type: object
properties:
name:
type: string
minLength: 0
maxLength: 128
CoreInitiatingParty:
type: object
title: CoreInitiatingParty
description: Initiating party details
required:
- name
properties:
name:
type: string
minLength: 1
maxLength: 140
description: Name of the party
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
- CHASBEBX
clearingSystemId:
type: object
description: "**Credit Transfer Payment**:- \n\n - Not applicable to UK, India, Singapore, Australia, Mexico Faster Payments.\n - **Mandatory** for US RTP\n\n**Direct Debit Payment**:-\n - **Mandatory** for Malaysia RTP"
properties:
id:
$ref: '#/components/schemas/AccountIdentification'
idType:
$ref: '#/components/schemas/IdType'
CreditorAccount:
oneOf:
- $ref: '#/components/schemas/PrimaryAccountIdentification'
- $ref: '#/components/schemas/AlternateAccountIdentification'
IdType:
type: string
minLength: 0
maxLength: 32
description: "**Credit Transfer Payment**\n Creditor Agent -\n Applicable and optional for Low value ACH payments (Chile).\n Applicable and mandatory for US RTP - USABA\n\n Debtor Agent -\n Applicable and mandatory for US RTP - USABA\n\n**Direct Debit Payment** \n\n Applicable and mandatory for Malaysia RTP - BIC"
Errors:
type: object
properties:
errorDetails:
type: array
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/Error'
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
FxApplied:
type: object
properties:
appliedRate:
$ref: '#/components/schemas/Decimal'
StructuredInformation:
type: object
properties:
creditReference:
type: string
description: Unique reference to unambiguously refer to the payment transaction.
minLength: 0
maxLength: 140
additionalRemittanceInformation:
type: string
minLength: 0
maxLength: 512
description: 'Applicable Faster Payment Markets -
Malaysia
Max length supported - 250 characters
US - mandatory if structuredInformation object is used '
invoicer:
$ref: '#/components/schemas/PartyIdentifier'
invoicee:
$ref: '#/components/schemas/PartyIdentifier'
deliveryDetails:
$ref: '#/components/schemas/DeliveryDetails'
OrganizationPartyDetails:
title: OrganizationPartyDetails
allOf:
- $ref: '#/components/schemas/OrganizationIdentification'
- $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:
type: object
required:
- id
description: "Can be used when the underlying payer is a Legal Entity. It should be used together with Ultimate Debtor Name and address, and it should contain the payment account number of the underlying payer.\n\nIn case the transfer has not been initiated from a payment account, the value populated should be a unique transaction identifier of the underlying payer which permits the traceability of the transaction back to them.\n\n**Applicable markets and rules:**\n\nCan be used for ultimateDebtor and ultimateCreditor for the following: \n\n- RTP markets :-\n \n - **SEPA** \n\n - **Mexico**\n\n - **UK**\n\n - **US**\n\n - **Australia Faster Payments** - Only to be used for `ultimateCreditor`. *In addition, only* `id` and schemeName.`proprietary` *fields are applicable*.\n \n \n- ACH markets :- \n - **Chile**\n \n "
properties:
id:
type: string
minLength: 0
maxLength: 512
description: "For AU Superannuation payment (category payment), populate with USI number for the Superannuation fund\n\nMax length for ACH :- \nChile - 255"
bic:
type: string
minLength: 0
maxLength: 128
issuer:
type: string
minLength: 0
maxLength: 128
description: 'Max length for ACH :-
Chile - 35'
schemeName:
description: 'type of scheme
Mandatory for SEPA Instant. Check proprietary field rules for more information.'
type: object
minProperties: 1
maxProperties: 1
properties:
code:
$ref: '#/components/schemas/Code'
proprietary:
$ref: '#/components/schemas/Proprietary'
AdditionalAlternateAccountIdentifiers:
type: array
description: One or more values that can be used as alternative identifiers for an account.
minItems: 0
maxItems: 10
items:
$ref: '#/components/schemas/AdditionalAlternateAccountIdentifier'
UltimateCreditorOrganization:
type: object
title: Ultimate Creditor Organization
description: ultimate creditor organization party details
required:
- organizationId
properties:
organizationId:
$ref: '#/components/schemas/OrganizationID'
ultimateCreditorName:
$ref: '#/components/schemas/UltimateCreditorName'
dateAndPlaceOfBirth:
$ref: '#/components/schemas/DateAndPlaceOfBirth'
countryOfResidence:
$ref: '#/components/schemas/CountryOfResidence'
postalAddress:
$ref: '#/components/schemas/PostalAddress'
AlternateAccountIdentification:
type: object
title: Alternate Account Identification
required:
- alternateAccountIdentifier
properties:
alternateAccountIdentifier:
$ref: '#/components/schemas/AlternateAccountIdentifier'
additionalAlternateIdentifiers:
$ref: '#/components/schemas/AdditionalAlternateAccountIdentifiers'
accountType:
$ref: '#/components/schemas/AccountTypeEnum'
schemeName:
$ref: '#/components/schemas/SchemeName'
cardExpiryDate:
type: string
description: Mandatory for Push to Card. Acceptable format - YYMM
pattern: ^(?:[0-9]{2})(0[1-9]|1[0-2])$
Decimal:
description: A String representation of a (potentially) decimal positive number.
type: string
minLength: 1
maxLength: 40
pattern: ^\d+(\.\d+)?$
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
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
UltimateDebtorIndividual:
type: object
title: Ultimate Debtor Individual
description: ultimate debtor individual party details
required:
- individualId
properties:
individualId:
$ref: '#/components/schemas/IndividualID'
ultimateDebtorName:
$ref: '#/components/schemas/UltimateDebtorName'
dateAndPlaceOfBirth:
$ref: '#/components/schemas/DateAndPlaceOfBirth'
countryOfResidence:
$ref: '#/components/schemas/CountryOfResidence'
postalAddress:
$ref: '#/components/schemas/PostalAddress'
additionalIdentifiers:
title: Additional Identifiers
type: array
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/AdditionalIdentifier'
AlternateAccountIdentifier:
type: string
minLength: 0
maxLength: 128
description: 'Alternate Account Identifier eg. email, program id, card number or other types of identifiers, used as a different means of identifying an account.
*Mandatory for the following payment types*:
| Payment Type | description |
|----------------------|-----------------------------------------------------------------------------|
| **Push To Card** | Use program id while specifying the debtor details. |
| | Use card number while specifying the creditor details. |'
ServiceLevelCode:
type: string
minLength: 0
maxLength: 32
description: service Level in coded form.
CreditorAgent:
type: object
description: "- Not applicable for Push To Card, Push To Wallet, Zelle and Interac\n- Mandatory for pay by account and optional for pay by proxy.\n- Mandatory for Mexico RTP if the creditor is a bank \n\n***NOTE: Creditor Agent is MANDATORY for RTP Direct Debit payments for all markets.***"
properties:
financialInstitutionId:
$ref: '#/components/schemas/CreditorFinancialInstitutionId'
additionalInstitutions:
type: array
description: '- Only applicable to UK Faster Payments. Instructing agent of the ultimate debtor. '
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/AdditionalInstitution'
required:
- financialInstitutionId
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
CategoryPurpose:
type: object
description: 'Mandatory RTP markets :-
Hong Kong - Mandatory'
properties:
code:
type: string
enum:
- SALA
- PENS
- TAXS
- SUPP
description: 'Not applicable for Hong Kong '
proprietary:
type: string
enum:
- CXSALA
- CXBSNS
- CXMRCH
- CXTOPU
- WEALTH_TRANSFER
- INVESTMENT
- PURCHASE
- OTHER
description: "Coded form\nHong Kong RTP\nFor credit transfers -\n\"CXSALA\" - Salary and Benefits Payment\n\"CXBSNS\" - General Business Payment\n\"CXMRCH\" - FPS Merchant Payment\n\"CXTOPU\" - Account Top-up Payment\n\nIndonesia RTP \nWEALTH_TRANSFER\nINVESTMENT\nPURCHASE\nOTHER\nCXSALA"
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 a
# --- truncated at 32 KB (73 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jp-morgan-chase/refs/heads/main/openapi/jp-morgan-chase-payment-initiation-api-openapi.yml