JPMorgan Chase Session API

Create session for clients or parties.

Operations 2

GET /sessions List sessions #
POST /sessions Create session. #

Documentation

📖
Documentation
https://developer.payments.jpmorgan.com/api
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fembedded-finance-solutions%2Fembedded-payments%2Fonboarding-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Fconsumer-profile%2Fconsumer-profile-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Ftokenization%2Ftokenization-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Freporting%2Freporting-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ftreasury%2Freceivables%2Frequest-to-pay-api.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fonline-payments%2Fcheckout%2Fcheckout-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fdispute-management%2Fdispute-management-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ffraud-solutions%2Falerts-and-decisioning%2Foas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fproduct-configuration%2Fproduct-configuration-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2F3-d-secure%2F3-d-secure-1.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Faccount-updater%2Faccount-updater-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ftreasury%2Fglobal-payments%2Fglobal-payments%2Fglobal-payments-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fliquidity-account-solutions%2Fbda-balances%2Faccounts-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ffraud-solutions%2Fvalidation-services%2Fvalidation-services-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Fwallet-decryption%2Fwallet-decryption-oas.md

Specifications

Work with this as data

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-session-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 Specification

jp-morgan-chase-session-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Digital Onboarding Session API
  version: 1.0.18
  description: Streamline your client onboarding process to create, update, and manage clients, parties, documents, and due diligence requirements in a fully digital workflow so you can automate Know Your Customer (KYC), document collection, and compliance tasks directly from your own platform.
  contact:
    name: JPMC Technical Services Support
servers:
- url: https://api.payments.jpmorgan.com/onboarding/v1
  description: PRODUCTION-MTLS
- url: https://api-sandbox.payments.jpmorgan.com/onboarding/v1
  description: CLIENT TESTING-MTLS
- url: https://api-mock.payments.jpmorgan.com/onboarding/v1
  description: MOCK
security:
- Certs: []
  Token: []
- Certs: []
- BearerAuth: []
tags:
- name: Session
  description: Create session for clients or parties.
paths:
  /sessions:
    get:
      parameters:
      - $ref: '#/components/parameters/TokenInHeader'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageNumber'
      - name: targetId
        in: query
        required: true
        description: Id of the party or client
        example: '2000000001'
        schema:
          type: string
          maxLength: 10
      summary: List sessions
      description: Returns a list of sessions for a client.
      operationId: smbdo-listSessions
      tags:
      - Session
      responses:
        '200':
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSessionResponse'
              examples:
                ListSessionResponse:
                  $ref: '#/components/examples/ListSessionResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
    post:
      parameters:
      - $ref: '#/components/parameters/TokenInHeader'
      - $ref: '#/components/parameters/IdempotencyKey'
      tags:
      - Session
      summary: Create session.
      description: Create session.
      operationId: smbdo-postSessions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSessionRequest'
            examples:
              CreateSessionRequest:
                $ref: '#/components/examples/CreateSessionRequest'
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionResponse'
              examples:
                SessionResponse:
                  $ref: '#/components/examples/SessionResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '409':
          $ref: '#/components/responses/409'
        '422':
          $ref: '#/components/responses/422'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
components:
  schemas:
    ListSessionResponse:
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/PageMetaData'
        sessions:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/SessionResponse'
    SessionTargetType:
      description: 'Client or party type.

        '
      type: string
      enum:
      - CLIENT
      - PARTY
    SessionTargetId:
      type: string
      maxLength: 10
      example: '3000005555'
      pattern: ^[0-9]*$
      description: 'The ID of the client or party.

        '
    ApiErrorContext:
      description: Context of the API error.
      type: object
      required:
      - message
      properties:
        code:
          type: string
          description: Short code that identifies the error - publicly cataloged and documented
          example: '11000'
        location:
          type: string
          enum:
          - BODY
          - QUERY
          - PATH
          - HEADER
          example: BODY
          description: Part of the request which is responsible for the reason
        field:
          type: string
          description: The location of the property or parameter in error
        message:
          type: string
          example: The server can not find the requested resource.
          description: Message describing the reason.
    SessionResponse:
      description: List of sessions.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/SessionId'
        type:
          $ref: '#/components/schemas/SessionsType'
        target:
          $ref: '#/components/schemas/SessionTarget'
        url:
          type: string
          description: The URL to redirect to for the embedded UI session transfer.
        token:
          type: string
          description: The token to be used for the session transfer.
    SessionTarget:
      type: object
      required:
      - id
      - type
      properties:
        id:
          $ref: '#/components/schemas/SessionTargetId'
        type:
          $ref: '#/components/schemas/SessionTargetType'
    schemas-ApiError:
      description: An API error.
      type: object
      required:
      - title
      - httpStatus
      properties:
        title:
          type: string
          description: Short humanly-readable title of the error
          example: BAD_REQUEST
        httpStatus:
          type: integer
          description: HTTP status code
          example: 422
        traceId:
          type: string
          description: Internal assigned traced identifier
        requestId:
          type: string
          description: Client provided request identifier
        context:
          type: array
          items:
            $ref: '#/components/schemas/ApiErrorContext'
          description: Provides additional context and detail on the errors
          minItems: 0
          maxItems: 100
    SessionsType:
      type: string
      enum:
      - EMBEDDED_UI
    PageMetaData:
      description: Page metadata.
      type: object
      properties:
        page:
          type: integer
          format: int32
          example: 0
          description: 'Page number.

            '
          minimum: 0
          maximum: 2147483647
        limit:
          type: integer
          format: int32
          example: 25
          description: 'Number of records per page.

            '
          minimum: 1
          maximum: 25
        total:
          type: integer
          format: int64
          example: 340
          description: 'Total number of items.

            '
          minimum: 0
          maximum: 9999999999
    SessionId:
      type: string
      maxLength: 10
      example: '9000005555'
      pattern: ^[0-9]*$
      description: 'ID to uniquely identify the session

        '
    CreateSessionRequest:
      type: object
      required:
      - type
      - target
      properties:
        type:
          $ref: '#/components/schemas/SessionsType'
        target:
          $ref: '#/components/schemas/SessionTarget'
  responses:
    '403':
      description: Forbidden - Unauthorized Access
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/schemas-ApiError'
          example:
            title: Forbidden
            httpStatus: 403
            context:
            - message: Platform is not authorized to access client.
    '500':
      description: Internal Server Error - Generic Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/schemas-ApiError'
          example:
            title: Internal Server Error
            httpStatus: 500
            context:
            - message: Something went wrong. Please try again later.
    '400':
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/schemas-ApiError'
          example:
            title: Invalid Data
            httpStatus: 400
            context:
            - code: '10104'
              message: Client with ID [3000005555] does not exist.
              location: BODY
              field: clientId
    '401':
      description: Unauthenticated
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/schemas-ApiError'
          example:
            title: Unauthorized
            httpStatus: 401
            context:
            - message: Provided token does not follow required JWT format. It may also be missing mandatory parts
    '409':
      description: Conflict - Concurrent request detected
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/schemas-ApiError'
          example:
            title: Conflict
            httpStatus: 409
            context:
            - message: Concurrent request detected for clientId [3000005555]. Please try again later.
    '503':
      description: Service Unavailable - API Processing Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/schemas-ApiError'
          example:
            title: Service Unavailable
            httpStatus: 503
            context:
            - message: Service unavailable.
    '404':
      description: No data found for the criteria specified
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/schemas-ApiError'
          example:
            title: Not Found
            httpStatus: 404
            context:
            - message: Party with ID [2000000555] not found.
    '422':
      description: Request could not be processed due to semantic errors. Check error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/schemas-ApiError'
          example:
            title: Unprocessable Entity
            httpStatus: 422
            context:
            - message: Unable to perform Client Verification for clientId [3000005555] due to its Status.
  examples:
    ListSessionResponse:
      summary: List of sessions
      description: Retrieve list of sessions.
      value:
        metadata:
          page: 0
          limit: 25
          total: 2
        sessions:
        - id: '9000005555'
          type: EMBEDDED_UI
          target:
            id: '3000000001'
            type: CLIENT
          url: https://url.jpmorgan.com/t/17465629080405AI41
          token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ2aXJ0dWFsY2FyZF9xYTAxX
        - id: '9000005556'
          type: EMBEDDED_UI
          target:
            id: '3000000001'
            type: CLIENT
          url: https://url.jpmorgan.com/t/22465629080405AI41
          token: eyJfgGciOiJIUzUxMiJ9.eyJzdWIiOiJ2aXJ0dWFsY2FyZF9xrtDFG
    CreateSessionRequest:
      summary: Create Session Request
      description: Create session.
      value:
        type: EMBEDDED_UI
        target:
          id: '3000000001'
          type: CLIENT
    SessionResponse:
      summary: Create Session
      description: Create session response.
      value:
        id: '9000005555'
        type: EMBEDDED_UI
        target:
          id: '3000000001'
          type: CLIENT
        url: https://url.jpmorgan.com/t/17465629080405AI41
        token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ2aXJ0dWFsY2FyZF9xYTAxX
  parameters:
    PageSize:
      name: limit
      in: query
      description: Number of records per page.
      required: false
      schema:
        type: integer
        format: int32
        minimum: 1
        maximum: 25
        default: 25
    PageNumber:
      name: page
      in: query
      description: Page number.
      required: false
      schema:
        type: integer
        format: int32
        default: 0
        minimum: 0
        maximum: 2147483647
    TokenInHeader:
      name: token
      in: header
      description: JWT Client token
      required: false
      schema:
        type: string
        minLength: 1
        maxLength: 8192
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      description: 'Client generated unique idempotency key used in recognizing consecutive retries of the same request

        **Usage of V4 UUIDs is recommended.**'
      required: false
      schema:
        title: Idempotency Key
        description: 'A unique string that enables the API support idempotency by safely retrying requests without accidentally

          performing the same operation twice.'
        type: string
        minLength: 1
        maxLength: 36
        example: 1b036f9c-8c84-4ce6-b1dd-5979472945a1
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
x-jpmc-securityDefinitions:
  JPMC-OAuth2:
    jpmc-claims:
      jpmc-roles:
      - 111789_SMBDO_PAYFAC_ACCESS: API access role claim
x-jpmc-security:
- JPMC-OAuth2:
    jpmc-claims:
      jpmc-roles:
      - 111789_SMBDO_CLIENT_ACCESS: API access role claim