Consumer Profile Management API
The consumer profile management API provides merchant functionality to create, store, update, and maintain customer or consumer profiles.
The consumer profile management API provides merchant functionality to create, store, update, and maintain customer or consumer profiles.
# Harvested verbatim from the J.P. Morgan Payments Developer Portal.
# method: searched
# source: https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Fconsumer-profile%2Fconsumer-profile-oas.md
# generated: '2026-07-28'
openapi: 3.0.1
info:
title: Consumer Profile Management 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
- name: Addresses
description: Addresses API
- name: Payment Methods
description: Payment Methods API
- name: Communication
description: Communication Update
- name: Health Check
description: Validate the health of the service.
paths:
/healthcheck:
get:
summary: Health check for CPM API
operationId: v1GetHealth
tags:
- Health Check
description: Healthcheck endpoint to validate that the service is running.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/healthCheckResource'
examples:
Create Consumer profile:
value:
status: UP
'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:
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'
/consumer-profiles/{consumer-profile-id}/payment-methods:
post:
summary: Add a new payment method to an existing consumer profile
operationId: v1PostConsumerProfilesPymt
tags:
- Payment Methods
description: Add a new payment method to an existing consumer profile.
parameters:
- name: consumer-profile-id
in: path
required: true
schema:
type: string
description: Identifies a unique occurrence of a merchant's customer profile
examples:
Create A New Payment Method:
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:
Create A New Payment Method:
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 A New Payment Method:
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 A New Payment Method:
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: Add a new Payment Method to an existing Consumer Profile
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/createPaymentMethod'
examples:
Create A New Payment Method:
value:
currency: USD
cardList:
- cardExpirationMonthYearNumber: 02/2025
accountNumber: '4234555678990919'
accountStatus: ACTIVE
cardType: DI
firstName: John
lastName: Doe
consumerProfileAddress:
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
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}/payment-methods/{payment-method-id}/default:
patch:
summary: Update a payment method to default on an existing consumer profile
operationId: v1PatchConsumerProfilesPymtIdDefault
tags:
- Payment Methods
description: Update a payment method to default on an existing consumer profile.
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 A Payment Method:
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 A Payment Method:
value: '993371390059'
- name: payment-method-id
in: path
required: true
schema:
type: string
description: Identifies a unique occurrence of the type of payment accepted by a level of the
hierarchy of the merchant acquiring account.
examples:
Update A Payment Method:
value: 63aaba29-4857-494a-82bc-2a80e1fa2b1e
- 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 A Payment Method:
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 A Payment Method:
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/consumerUpdatedProfileResponse'
'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}/payment-methods/{payment-method-id}:
patch:
summary: Update a payment method on an existing consumer profile
operationId: v1PatchConsumerProfilesPymtId
tags:
- Payment Methods
description: Update a payment method on a consumer profile using the payment method 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 A Payment Method:
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 A Payment Method:
value: '993371390059'
- name: payment-method-id
in: path
required: true
schema:
type: string
# --- truncated at 32 KB (185 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jp-morgan-chase/refs/heads/main/openapi/jp-morgan-chase-consumer-profile-management-api-openapi.yml