JPMorgan Chase Document requests API

View details of requests for documents.

Operations 3

GET /document-requests List document requests #
GET /document-requests/{id} Get document request #
POST /document-requests/{id}/submit Submit a document request #

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-document-requests-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-document-requests-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Digital Onboarding Document requests 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: Document requests
  description: View details of requests for documents.
paths:
  /document-requests:
    get:
      parameters:
      - $ref: '#/components/parameters/TokenInHeader'
      - $ref: '#/components/parameters/ClientIdQuery'
      - $ref: '#/components/parameters/PartyIdQuery'
      tags:
      - Document requests
      summary: List document requests
      description: 'Get a list of document requests.

        '
      operationId: smbdo-listDocumentRequests
      responses:
        '200':
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentRequestListResponse'
              examples:
                DocumentRequestListResponse:
                  $ref: '#/components/examples/DocumentRequestListResponse'
        '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'
  /document-requests/{id}:
    get:
      parameters:
      - $ref: '#/components/parameters/TokenInHeader'
      - name: id
        in: path
        description: Unique identifier for a document request.
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/DocumentRequestId'
        example: '50040'
      tags:
      - Document requests
      summary: Get document request
      description: Returns details for a document request using its unique identifier.
      operationId: smbdo-getDocumentRequest
      responses:
        '200':
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentRequestResponse'
              examples:
                DocumentRequestDriversLicenseUs:
                  $ref: '#/components/examples/DocumentRequestDriversLicenseUs'
        '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'
  /document-requests/{id}/submit:
    post:
      parameters:
      - $ref: '#/components/parameters/TokenInHeader'
      - $ref: '#/components/parameters/IdempotencyKey'
      - name: id
        in: path
        description: Unique identifier for a document request.
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/DocumentRequestId'
        example: '50040'
      tags:
      - Document requests
      summary: Submit a document request
      description: Submit a document request after documents that fulfill the request have been submitted.
      operationId: smbdo-submitDocumentRequest
      responses:
        '202':
          $ref: '#/components/responses/202'
        '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:
    DocumentTypeSmbdo:
      type: string
      description: Supported document types
      enum:
      - ANNUAL_FILINGS
      - ARTICLES_OF_ASSOCIATION
      - ARTICLES_OF_INCORPORATION
      - BANK_STATEMENT
      - BANKING_LICENSE
      - BEARER_SHARES_ATTESTATION
      - BENEFICIAL_OWNER_INFORMATION
      - BRAND_LOGO
      - BULK_MIGRATION
      - BUSINESS_LICENSE
      - BUSINESS_REGISTRATION_CERT
      - CERTIFICATE_OF_GOOD_STANDING
      - CERTIFICATE_OF_STATUS
      - COMMERCIAL_REGISTRY
      - CONSTITUTIONAL_DOCUMENT
      - CREDIT_CARD_STATEMENT
      - DETAILS_OF_DIRECTORS
      - DISCLOSURE_AND_CONSENT
      - DRIVERS_LICENSE
      - EIN
      - EVIDENCE
      - FILING_RECEIPT
      - GOV_ISSUED_ID_CARD
      - GOVERNMENT_REGISTERED_DOCUMENT
      - IDENTIFICATION_DOCUMENT
      - INCUMBENCY_CERTIFICATE
      - INSURANCE_DOCUMENT
      - IRS_DOCUMENT_TIN
      - JPMC_DISCLOSURE
      - LEGAL_DOCUMENTS
      - LLC_AGREEMENT
      - LOAN_ACCOUNT_STATEMENT
      - MAA
      - MOA
      - OFFERING_MEMO
      - OPERATING_AGREEMENT
      - OTHER_GOV_REGISTRATION_DOCS
      - OWNERSHIP_ATTESTATION
      - PARTNERSHIP_AGREEMENT
      - PASSPORT
      - SEC_FILINGS_10K
      - SIGNATURE_CARD
      - SSN_CARD
      - STANDARD_OPERATING_PROCEDURE
      - SUPPORT_CONTACT
      - TAX_DOCUMENT
      - TERMS_CONDITIONS
      - TRUST_AGREEMENT
      - TRUST_DEED
      - UTILITY_BILL
    DocumentRequestRequirement:
      type: object
      properties:
        documentTypes:
          type: array
          items:
            $ref: '#/components/schemas/DocumentTypeSmbdo'
          minItems: 1
          maxItems: 100
        level:
          type: string
          enum:
          - PRIMARY
          - SECONDARY
        minRequired:
          type: integer
          default: 0
          maximum: 10
          minimum: 0
      required:
      - documentTypes
    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.
    DocumentRequestId:
      description: Unique Document Request identifier.
      type: string
      maxLength: 30
    DocumentRequestResponse:
      type: object
      properties:
        clientId:
          $ref: '#/components/schemas/ClientId'
        country:
          deprecated: true
          type: string
          example: US
          description: Country code in ISO alpha-2 format. Deprecated for document requests.
          minLength: 2
          maxLength: 2
        createdAt:
          type: string
          format: date-time
          example: '2017-07-21T17:32:28.000Z'
        documentType:
          deprecated: true
          $ref: '#/components/schemas/DocumentTypeSmbdo'
        id:
          $ref: '#/components/schemas/DocumentRequestId'
        partyId:
          $ref: '#/components/schemas/PartyId'
        description:
          type: string
          description: Provides an accurate detailing of which documents and how many are being requested. A plain English description that will fulfill the document-request.
          example: "Please provide documents:\n - Signature Card"
        outstanding:
          $ref: '#/components/schemas/DocumentRequestOutstanding'
        requirements:
          description: All requirements must be fulfilled.
          type: array
          items:
            $ref: '#/components/schemas/DocumentRequestRequirement'
          minItems: 1
          maxItems: 10
        status:
          $ref: '#/components/schemas/DocumentRequestStatus'
        updatedAt:
          deprecated: true
          type: string
          format: date-time
          example: '2017-07-21T17:32:28.000Z'
        validForDays:
          $ref: '#/components/schemas/ValidForDays'
    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
    ClientId:
      description: A client's unique ID
      example: '9000000333'
      type: string
      maxLength: 10
    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
    DocumentRequestListResponse:
      type: object
      properties:
        documentRequests:
          type: array
          items:
            $ref: '#/components/schemas/DocumentRequestResponse'
          minItems: 0
          maxItems: 100
        metadata:
          $ref: '#/components/schemas/PageMetaData'
      required:
      - documentRequests
      - metadata
    ValidForDays:
      type: integer
      description: Number of days from the day of its creation that this request will expire.
      example: 5
      minimum: 1
      maximum: 180
    DocumentRequestOutstanding:
      description: Outstanding items on the document request.
      type: object
      properties:
        documentTypes:
          description: List of document types that should be uploaded to meet the requirements.
          type: array
          items:
            $ref: '#/components/schemas/DocumentTypeSmbdo'
          maxItems: 100
          minItems: 0
      required:
      - documentTypes
    PartyId:
      type: string
      maxLength: 10
      example: '2000005555'
      pattern: ^[0-9]{10}$
      description: 'Organization/Individual party id, that uniquely identifies the party.

        '
    DocumentRequestStatus:
      type: string
      enum:
      - ACTIVE
      - CLOSED
      - EXPIRED
  parameters:
    ClientIdQuery:
      name: clientId
      in: query
      description: Unique Client identifier.
      required: false
      example: '3000000001'
      schema:
        $ref: '#/components/schemas/ClientId'
    PartyIdQuery:
      name: partyId
      in: query
      description: Unique Party identifier.
      required: false
      example: '2000000555'
      schema:
        type: string
        maxLength: 10
    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
  examples:
    DocumentRequestListResponse:
      summary: List of document requests
      description: A list of document requests
      value:
        documentRequests:
        - id: '50006'
          country: US
          createdAt: '2022-11-18T12:28:11.232Z'
          description: "Please provide documents:\n - Signature Card"
          requirements:
          - documentTypes:
            - SIGNATURE_CARD
            level: PRIMARY
            minRequired: 1
          outstanding:
            documentTypes:
            - SIGNATURE_CARD
          partyId: '2000000555'
          status: ACTIVE
          updatedAt: '2022-11-18T12:28:11.232Z'
          validForDays: 120
        metadata:
          page: 0
          limit: 25
          total: 1
    DocumentRequestDriversLicenseUs:
      summary: Get document request - US driver's license
      description: Get document request - US driver's license
      value:
        id: '3000011675'
        country: US
        createdAt: '2022-11-18T12:28:11.232Z'
        description: "Please provide documents:\n - US driver's license"
        requirements:
        - documentTypes:
          - DRIVERS_LICENSE
          level: PRIMARY
          minRequired: 1
        outstanding:
          documentTypes:
          - DRIVERS_LICENSE
        partyId: '2000000111'
        status: ACTIVE
        updatedAt: '2022-11-18T12:28:11.232Z'
        validForDays: 5
  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
    '202':
      description: Request was accepted
      content:
        application/json:
          schema:
            type: object
            properties:
              acceptedAt:
                type: string
                format: date-time
            required:
            - acceptedAt
          examples:
            Accepted:
              description: Request Accepted
              summary: Request Accepted
              value:
                acceptedAt: '2024-07-21T17:32:28.000Z'
    '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.
  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