Consumer Profile Management API

The consumer profile management API provides merchant functionality to create, store, update, and maintain customer or consumer profiles.

OpenAPI Specification

jp-morgan-chase-consumer-profile-management-api-openapi.yml Raw ↑
# Harvested verbatim from the J.P. Morgan Payments Developer Portal.
# method: searched
# source: https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%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