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-consumer-profiles-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: Consumer Profile Management Consumer Profiles API
description: The consumer profile management API provides merchant functionality to create, store, update, and maintain customer or consumer profiles.
version: 2.4.2
contact:
name: Consumer Profile Management API Support
url: https://developer.payments.jpmorgan.com/contact
servers:
- url: https://profiles-api.merchant.jpmorgan.com/api/v2/mmp
description: PRODUCTION - OAUTH
- url: https://cat-profiles-api.merchant.jpmorgan.com/api/v2/mmp
description: CLIENT TESTING - OAUTH
- url: https://api-mock.payments.jpmorgan.com/api/v2/mmp
description: MOCK
security:
- BearerAuth: []
tags:
- name: Consumer Profiles
description: Consumer Profiles API
paths:
/consumer-profiles:
post:
summary: Create a consumer profile
operationId: v1PostConsumerProfiles
tags:
- Consumer Profiles
description: Create a consumer profile using the consumer details.
parameters:
- name: merchantIdentifier
in: header
required: true
schema:
type: string
description: Identifies a unique entity for transaction processing at the lowest level of the account hierarchy of the backend proprietary merchant acquiring processing platform. This level organizes transaction types for submission, funding, and reporting.
examples:
Create Consumer profile:
value: '993371390059'
- name: correlationIdentifier
in: header
schema:
type: string
description: A unique key produced by the initial entry of a customer by the originating source system, that will provide a linkage between independent events. This will allow events from multiple applications to be linked together to represent a single string of events or a customer contact experience. This field should be considered generic (aka ability to use for document event tracking) to allow correlation of events not specific to customer contacts. This is unique per customer experience and should be passed between applications.
examples:
Create Consumer profile:
value: 6d66f2e5-ad81-4848-9884-d5ff32ee7690
- name: requestIdentifier
in: header
schema:
type: string
description: Unique request identifier to track the request through application programming interface(API) .
- name: userIdentifier
in: header
schema:
type: string
description: The identifier (id) of the user who created the object or inserted the row. This could be the Firm’s Standard Identifier, or the identifier of a batch/functional process.
examples:
Create Consumer profile:
value: test
- name: applicationIdentifier
in: header
schema:
type: string
description: Identifies a unique occurrence of an application which can be a combination of in-house-developed software and/or vendor products that are designed to process, store or transmit the Firm's data.
requestBody:
description: Create a Consumer Profile
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/consumerProfile'
examples:
Create Consumer profile:
value:
externalConsumerProfileIdentifier: 3456789fghuj
cardOnFileReferenceNumber: '123'
profileStatus: ACTIVE
consumerProfileAddresses:
- firstName: John
lastName: Doe
consumerAssignedAddressName: Work
primaryAddressIndicator: true
addressType: SHIPPING
line1: 400 Elton Farm
line2: Apt 123
city: Glen Mills
state: PA
postalCode: '19342'
countryCode: USA
addressStatus: ACTIVE
profilePaymentMethod:
cardList:
- cardExpirationMonthYearNumber: 01/2025
accountNumber: '1234561111119999'
accountStatus: ACTIVE
cardType: MC
firstName: TestFirst
lastName: TestLast
communication:
phoneList:
- phoneNumber: '8888888828'
countryCode: '1'
phoneNumberType: Home
emailList:
- emailAddress: john.doe.x@gmail.com
emailAddressType: Home
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/consumerProfileResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/adfsError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'408':
description: Timeout Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
/consumer-profiles/{consumer-profile-id}:
patch:
summary: Update a consumer profile
operationId: v1PatchConsumerProfiles
tags:
- Consumer Profiles
description: Update a consumer profile using the consumer profile ID.
parameters:
- name: consumer-profile-id
in: path
required: true
schema:
type: string
description: Identifies a unique occurrence of a merchant's customer profile
examples:
Update Consumer profile:
value: PACJGQ
- name: merchantIdentifier
in: header
required: true
schema:
type: string
description: Identifies a unique entity for transaction processing at the lowest level of the account hierarchy of the backend proprietary merchant acquiring processing platform. This level organizes transaction types for submission, funding, and reporting.
examples:
Update Consumer profile:
value: '993371390059'
- name: correlationIdentifier
in: header
schema:
type: string
description: A unique key produced by the initial entry of a customer by the originating source system, that will provide a linkage between independent events. This will allow events from multiple applications to be linked together to represent a single string of events or a customer contact experience. This field should be considered generic (aka ability to use for document event tracking) to allow correlation of events not specific to customer contacts. This is unique per customer experience and should be passed between applications.
examples:
Update Consumer profile:
value: 6d66f2e5-ad81-4848-9884-d5ff32ee7690
- name: requestIdentifier
in: header
schema:
type: string
description: Unique request identifier to track the request through application programming interface(API) .
- name: userIdentifier
in: header
schema:
type: string
description: The identifier (id) of the user who created the object or inserted the row. This could be the Firm’s Standard Identifier, or the identifier of a batch/functional process.
examples:
Update Consumer profile:
value: test
- name: applicationIdentifier
in: header
schema:
type: string
description: Identifies a unique occurrence of an application which can be a combination of in-house-developed software and/or vendor products that are designed to process, store or transmit the Firm's data.
requestBody:
description: Update a Consumer Profile
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/updateConsumerProfile'
examples:
Update Consumer profile:
value:
cardOnFileReferenceNumber: 3456789fghuj
firstName: John
lastName: Doe
profileStatus: ACTIVE
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/consumerProfileResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/adfsError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'408':
description: Timeout Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
get:
summary: Retrieve a consumer profile
operationId: v1GetConsumerProfiles
tags:
- Consumer Profiles
description: Retrieve a consumer profile using the consumer profile ID.
parameters:
- name: consumer-profile-id
in: path
required: true
schema:
type: string
description: Identifies a unique occurrence of a merchant's customer profile
examples:
Success:
value: PACJGQ
- name: merchantIdentifier
in: header
required: true
schema:
type: string
description: Identifies a unique entity for transaction processing at the lowest level of the account hierarchy of the backend proprietary merchant acquiring processing platform. This level organizes transaction types for submission, funding, and reporting.
examples:
Success:
value: '993371390059'
- name: correlationIdentifier
in: header
schema:
type: string
description: A unique key produced by the initial entry of a customer by the originating source system, that will provide a linkage between independent events. This will allow events from multiple applications to be linked together to represent a single string of events or a customer contact experience. This field should be considered generic (aka ability to use for document event tracking) to allow correlation of events not specific to customer contacts. This is unique per customer experience and should be passed between applications.
examples:
Success:
value: 6d66f2e5-ad81-4848-9884-d5ff32ee7690
- name: requestIdentifier
in: header
schema:
type: string
description: Unique request identifier to track the request through application programming interface(API) .
- name: applicationIdentifier
in: header
schema:
type: string
description: Identifies a unique occurrence of an application which can be a combination of in-house-developed software and/or vendor products that are designed to process, store or transmit the Firm's data.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/consumerProfileResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/adfsError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'408':
description: Timeout Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
delete:
summary: Delete a consumer profile
operationId: v1DeleteConsumerProfiles
tags:
- Consumer Profiles
description: Delete a consumer profile using the consumer profile ID.
parameters:
- name: consumer-profile-id
in: path
required: true
schema:
type: string
description: Identifies a unique occurrence of a merchant's customer profile
examples:
Success:
value: PACJGQ
- name: merchantIdentifier
in: header
required: true
schema:
type: string
description: Identifies a unique entity for transaction processing at the lowest level of the account hierarchy of the backend proprietary merchant acquiring processing platform. This level organizes transaction types for submission, funding, and reporting.
examples:
Success:
value: '993371390059'
- name: correlationIdentifier
in: header
schema:
type: string
description: A unique key produced by the initial entry of a customer by the originating source system, that will provide a linkage between independent events. This will allow events from multiple applications to be linked together to represent a single string of events or a customer contact experience. This field should be considered generic (aka ability to use for document event tracking) to allow correlation of events not specific to customer contacts. This is unique per customer experience and should be passed between applications.
examples:
Success:
value: 6d66f2e5-ad81-4848-9884-d5ff32ee7690
- name: requestIdentifier
in: header
schema:
type: string
description: Unique request identifier to track the request through application programming interface(API) .
- name: userIdentifier
in: header
schema:
type: string
description: The identifier (id) of the user who created the object or inserted the row. This could be the Firm’s Standard Identifier, or the identifier of a batch/functional process.
examples:
Success:
value: test
- name: applicationIdentifier
in: header
schema:
type: string
description: Identifies a unique occurrence of an application which can be a combination of in-house-developed software and/or vendor products that are designed to process, store or transmit the Firm's data.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
examples:
Success:
value:
responseStatus: SUCCESS
responseCode: ACCEPTED
responseMessage: Request Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/adfsError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'408':
description: Timeout Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
components:
schemas:
middleName:
description: 'That part of an individual''s name generally positioned between the first and family names, as a second given name or a maternal surname. (NOTE: in some instances, an individual may have multiple middle names)'
type: string
pattern: '[\p{L}\p{P}0-9'' ]*$'
maxLength: 70
example: James
phone:
description: Phone Information
type: object
required:
- phoneNumber
- countryCode
properties:
phoneNumber:
description: 'A locator whose value identifies the formatted numeric address for routing voice or data communications via telephony, to reach a party. NOTE: Telephone number formats may vary; this field can include domestic and international telephone numbers.'
type: string
countryCode:
description: The telephone dialing prefix for a member country in the International Telecommunication Union (ITU) that is defined by the ITU-T E.164 standard. The code is a combination of one, two or three digits identifying a specific country, countries in an integrated numbering plan, or a specific geographic area.
type: string
phoneNumberType:
description: Codifies the type of formatted numeric address for routing voice or data communications via telephony to reach a party.
type: string
communicationIdentifier:
description: Internal Identifier generated by firm for each phone information for a consumer stored in the system.
type: string
readOnly: true
sepa:
description: Sepa Payment Information
type: object
properties:
paymentMethodId:
$ref: '#/components/schemas/paymentMethodId'
last4AccountNumber:
$ref: '#/components/schemas/last4AccountNumber'
internationalBankAccountNumber:
description: Identifies the International Bank Account Number (IBAN) for the account. IBAN is an internationally agreed system of identifying bank accounts across national borders to facilitate the communication and processing of cross border transactions with a reduced risk of transcription errors. Based on ISO 13616 standards, the IBAN consists of up to 34 alphanumeric characters, comprising a country code, two check digits and a long and detailed bank account-number. The check digits enable a sanity check of the bank account number to confirm its integrity before submitting a transaction.
type: string
writeOnly: true
internationalBusinessIdentifierCode:
description: Codifies the unique value that identifies a particular bank in the worldwide economy. The 8 to 11 digit code is based on ISO 9362 standards. This code has several aliases including SWIFT Code, SWIFT Bank Code and Bank Identification Code (BIC). ISO 9362:2014 specifies the elements and structure of a universal identifier code for financial and non-financial institutions where an international identifier is required to facilitate automated processing of information for financial services. The BIC is used for addressing messages, routing business transactions and identifying business parties. This Standard applies to organizations and excludes individual persons.
type: string
accountStatus:
$ref: '#/components/schemas/accountStatus'
mandateList:
type: array
minItems: 0
description: List of mandate information
items:
$ref: '#/components/schemas/mandate'
firstName:
$ref: '#/components/schemas/firstName'
middleName:
$ref: '#/components/schemas/middleName'
lastName:
$ref: '#/components/schemas/lastName'
consumerProfileAddress:
$ref: '#/components/schemas/consumerProfileAddress'
addressIdentifier:
$ref: '#/components/schemas/addressIdentifier'
state:
description: 'Classifies a geographic area that represents a first level, legal and political subdivision of a country; it should be in the ISO 3166-2 format. For Example: the parish "Andorra la Vella" in Andorra will be represented as 07. similarly the province "Bengo" in Angola will be represented as "BGO". state Texas in USA is represnted as "TX" etc.,'
type: string
pattern: ^[A-Za-z0-9]+([\s-]+[A-Za-z0-9]+)*$
minLength: 1
maxLength: 3
example: PA
consumerPreferredPaymentNetwork:
description: The consumer’s chosen card network to route eligible transactions when multiple networks are available. Valid Values are VI,MC, CB
type: string
enum:
- VI
- MC
- CB
createTimestamp:
description: Designates the hour, minute and second in a specific day when the record was created.
type: string
readOnly: true
encryptedPayload:
description: Encrypted message details have been rendered unreadable by general means through the application of a given set of instructions and a key.
type: string
example: IzxSm6YWehmlLvk5HY/rsl4hhWuorOG7R6ERP0fqzTokMhS5JtyAU8ajPIu/aHcbOxYQOhvk/K+3n6N7SbEKgSuT100YFmeIKh3IkSLa4u1/1Y4Z9y5bqZFPxd8IcQnuR8HZKgJDHCXQzDDYP4JBMtqZQzRztzsIfa4eoOnGuZCc2s+WxGap4iv92vPj8tAHonvSE9t0ByUCBLgfvu25GR0eJb6UM8nBvxP2/qBSElOuyLo80enrZ6tlp3xtpBEV8oeOc9iLSmalayfD7JQxZXd2cWA/sZPWn4VGIj7Dt05NYE/iFZrw2VOa2hOJ4/4dOGS1KJzhw+RPRufhadAF96k7O3LwbMphcM9sZLN/Y/LSqVFGzIq6ZlrnOwcxzvjNqw4ccNl4v3eehL4TRRgfF3LirV56BeADzJmq0pB3W/vu
cardExpirationMonthYearNumber:
description: A number in the form of Month/Year that is displayed on a card (Debit/Credit). This number is used for the date which is no longer in effect for transactions being processed at the Point of Sale.
type: string
pattern: (0[1-9]|1[0-2])[/][0-9][0-9][0-9][0-9]
example: 02/2024
accountStatus:
description: Codifies the current status of the card.
type: string
example: ACTIVE
enum:
- ACTIVE
- INACTIVE
- PENDING
- ERRORED
- SUSPENDED
- VERIFICATION_FAILED
consumerAssignedAddressName:
description: A short label defined by the consumer that will allow them to refer to the address by name. E.g Home , Office , JohnDoe_Home
type: string
pattern: ^[^<>]*$
maxLength: 75
paymentMethodId:
description: Identifies a unique occurrence of the type of payment accepted by a level of the hierarchy of the merchant acquiring account.
type: string
readOnly: true
responseStatus:
description: Request result status.
type: string
readOnly: true
example: SUCCESS
enum:
- SUCCESS
- ERROR
consumerProfileAddress:
description: Address Information used for consumer profile
type: object
writeOnly: true
properties:
firstName:
$ref: '#/components/schemas/firstName'
lastName:
$ref: '#/components/schemas/lastName'
consumerAssignedAddressName:
$ref: '#/components/schemas/consumerAssignedAddressName'
primaryAddressIndicator:
$ref: '#/components/schemas/primaryAddressIndicator'
addressType:
$ref: '#/components/schemas/addressType'
line1:
$ref: '#/components/schemas/line1'
line2:
$ref: '#/components/schemas/line2'
city:
$ref: '#/components/schemas/city'
state:
$ref: '#/components/schemas/state'
postalCode:
$ref: '#/components/schemas/postalCode'
countryCode:
$ref: '#/components/schemas/countryCode'
addressStatus:
$ref: '#/components/schemas/addressStatus'
message:
description: Provides textual description of a problem that has occurred and which is preventing the system from completing a task. Messages can be a confirmation, warning or notification, and can trigger the system to apply a customized default value or override to a field, record or file, halt or postpone processing, or skip or reject the entry generating the problem. Messages can be displayed on-screen in the user interface or in reporting.
type: string
financialInstitutionRoutingNumber:
description: Identifies the routing and transit number assigned by an administrative body to formally identify a chartered financial institution (bank) within a given country or common financial market for performing domestic transfers of funds to or from that institution's client accounts. Within the United States, this is known as the American Bankers Association Routing Number, and within Australia, this is known as a Bank State Branch Number. This common data element will house those two examples, along with the equivalent for any other country or financial market.
type: string
first6CardNumber:
description: Identifies the first six digits of the primary account number of a credit, debit or pre-paid card. As of 2017, this does not necessarily align to the Issuer Identification Number (IIN). IIN is also referred to as Bank Identification Number (BIN).
type: string
readOnly: true
lastName:
description: 'That part of an individual’s name generally placed at the end of the given name. The last name is also known as the surname or family name. (Note: name conventions may be different based on practices in different countries. Some countries use two or more last names; in other countries, the family name is placed before a person’s given name; in some countries, it is common for people to have only one name or a mononym.)'
type: string
pattern: '[\p{L}\p{P}0-9'' ]*$'
maxLength: 70
example: Babbitt
line1:
description: 'A portion of a party''s address which is the line of the unstructured (unparsed) geographic street address containing any of the following: house number, street name, street direction, street type, dwelling type and number, PO Box number, rural delivery route number.'
type: string
pattern: ^[^<>{}]*$
maxLength: 100
example: 400 Elton Farm
encryptedPaymentHeader:
description: Header information used on digital payment methods such as ApplePay, GooglePay and Paze in the Encrypted format.
type: object
properties:
ephemeralPublicKey:
description: Provides textual information about a cipher key for exchanging data via an associated string or byte image. This is a public key generated by the merchant and shared with Firm. In this context, this key is called ephemeral for its short life span.
type: string
publicKeyHash:
description: This is the hash output using a hash function for the Ephemeral Public Key.
type: string
example: MUwkjyUBpyRiZTVMUrIzA6+SIrr9mV8nNct6YO0rGNg=
walletTransactionId:
description: Identifies a unique occurrence of a transaction.
type: string
walletApplicationData:
description: Contain the data provided by merchant to the wallet provider.
type: string
fullName:
description: Name of accoundholder business name.
type: string
pattern: '[\p{L}\p{P}0-9'' ]*$'
maxLength: 70
externalConsumerProfileIdentifier:
description: 'Identifies a unique occurrence of a consumer maintained by the merchant or a vendor. Consumer profile contains information relevant to processing transactions such as name, address, account and payment methods information.Alpha characters are always stored in UPPERCASE. The valid characters include: • abcdefghijklmnopqrstuvwxyz • ABCDEFGHIJKLMNOPQRSTUVWXYZ • 0123456789 • - , $ @ & and a space character Notes: • A space character cannot be the leading character. • An ampersand must be sent as & • Double ampersands (&&) are not supported.'
type: string
maxLength: 36
writeOnly: true
validationMessage:
description: Object containing information about transaction validation.
type: object
required:
- code
- message
properties:
code:
$ref: '#/components/schemas/code'
message:
$ref: '#/components/schemas/message'
entity:
description: The name given to the module or program where the error was generated.
type: string
requestId:
description: Unique request identifier to track the request through application programming interface(API) .
type: string
postalCode:
description: The portion of a party’s address that is the encoded representation of a geographic area to facilitate mail delivery services.
type: string
pattern: ^[a-zA-Z0-9]+([-\s]*)[a-zA-Z0-9]+$
minLength: 3
maxLength: 12
example: '19342'
consumerProfileResponse:
description: Consumer Profile Response Object
type: object
properties:
requestId:
$ref: '#/components/schemas/requestId'
consumerProfileId:
description: Identifies a unique occurrence of a consumer maintained in the firm as requested by merchant. Consumer profile contains information relevant to processing transactions such as name, address, account and payment methods information.
type: string
readOnly: true
consumerProfileUniqueId:
$ref: '#/components/schemas/consumerProfileUniqueId'
cardOnFileReferenceNumber:
description: Identifies a cardholder account profile which allows cardholder data (including, but not limited to, an account number or payment token) to be stor
# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jp-morgan-chase/refs/heads/main/openapi/jp-morgan-chase-consumer-profiles-api-openapi.yml