JPMorgan Chase Questions API

View details about answering questions by id.

Operations 2

GET /questions List questions #
GET /questions/{id} Get question #

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-questions-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-questions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Digital Onboarding Questions 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: Questions
  description: View details about answering questions by id.
  x-displayName: Questions
paths:
  /questions:
    get:
      parameters:
      - $ref: '#/components/parameters/TokenInHeader'
      - $ref: '#/components/parameters/QuestionIdListInQuery'
      tags:
      - Questions
      summary: List questions
      description: 'Lists customer due diligence questions.

        '
      operationId: smbdo-listQuestions
      responses:
        '200':
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionListResponse'
              examples:
                QuestionListResponse:
                  $ref: '#/components/examples/QuestionListResponse'
        '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'
  /questions/{id}:
    get:
      parameters:
      - $ref: '#/components/parameters/TokenInHeader'
      - name: id
        in: path
        description: Unique Question identifier.
        required: true
        schema:
          type: string
          maxLength: 10
        example: '300001'
      tags:
      - Questions
      summary: Get question
      description: 'Get a customer due diligence question.

        '
      operationId: smbdo-getQuestion
      responses:
        '200':
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionResponse'
              examples:
                QuestionResponse:
                  $ref: '#/components/examples/QuestionResponse'
                DependentQuestionResponse:
                  $ref: '#/components/examples/DependentQuestionResponse'
        '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'
components:
  schemas:
    QuestionId:
      description: The ID uniquely identifying a question.
      type: string
      maxLength: 10
      example: '30024'
    ContentItem:
      description: Content displayed to a user for a given locale.
      type: object
      properties:
        description:
          type: string
        label:
          description: Exact text to be displayed to a user.
          type: string
        locale:
          $ref: '#/components/schemas/LocaleId'
      required:
      - label
      - locale
    QuestionListResponse:
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/PageMetaData'
        questions:
          type: array
          items:
            $ref: '#/components/schemas/QuestionResponse'
          minItems: 0
          maxItems: 100
    ResponseSchema:
      description: A subset of JSON Schema used to validate the response values.
      type: object
      properties:
        type:
          type: string
          enum:
          - array
        minItems:
          type: integer
        maxItems:
          type: integer
        items:
          $ref: '#/components/schemas/ResponseSchemaItem'
      example:
        type: array
        items:
          type: boolean
        minItems: 1
        maxItems: 1
    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.
    QuestionIdList:
      description: A list of question IDs.
      type: array
      items:
        $ref: '#/components/schemas/QuestionId'
      minItems: 0
      maxItems: 200
    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
    QuestionDescription:
      description: A description of the question.
      example: Individuals must additionally provide info regarding cash flow.
      type: string
    AnyValuesMatch:
      description: Describes the answer value that would require dependent questions.
      type: string
      maxLength: 255
      example: 'true'
    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
    QuestionResponse:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ContentItem'
          minItems: 1
          maxItems: 50
        defaultLocale:
          $ref: '#/components/schemas/LocaleId'
        description:
          $ref: '#/components/schemas/QuestionDescription'
        id:
          $ref: '#/components/schemas/QuestionId'
        parentQuestionId:
          $ref: '#/components/schemas/QuestionId'
        responseSchema:
          $ref: '#/components/schemas/ResponseSchema'
        subQuestions:
          type: array
          items:
            type: object
            properties:
              anyValuesMatch:
                $ref: '#/components/schemas/AnyValuesMatch'
              questionIds:
                $ref: '#/components/schemas/QuestionIdList'
          minItems: 0
    ResponseSchemaItem:
      description: A limited subset of JSON Schema used to validate the response value items.
      type: object
      properties:
        type:
          description: 'The data type for the response values. The `enum` type is deprecated, refer to the `enum` field instead.

            '
          type: string
          enum:
          - boolean
          - string
          - number
          - integer
          - enum
        minimum:
          type: number
        maximum:
          type: number
        exclusiveMinimum:
          type: boolean
        exclusiveMaximum:
          type: boolean
        minLength:
          type: integer
        maxLength:
          type: integer
        format:
          description: Only applicable to string, number, and integer.
          type: string
          enum:
          - float
          - double
          - int32
          - int64
          - date
        pattern:
          description: Only applicable to string.
          type: string
        enum:
          description: A list of options if the answer is restricted to a fixed set of values.
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 100
      required:
      - type
    LocaleId:
      description: The identifier for a language and location.
      type: string
      example: en-US
  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
    '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.
  examples:
    QuestionResponse:
      summary: Question response
      description: The response data for a question
      value:
        content:
        - label: Will you perform cash transactions?
          description: Individuals must additionally provide info regarding cash flow.
          locale: en-US
        defaultLocale: en-US
        description: Individuals must additionally provide info regarding cash flow.
        id: '300001'
        responseSchema:
          type: array
          items:
            type: boolean
          minItems: 1
          maxItems: 1
        subQuestions:
        - anyValuesMatch: 'true'
          questionIds:
          - '300002'
    QuestionListResponse:
      summary: List of questions
      description: A list of due diligence questions
      value:
        questions:
        - content:
          - label: Will you perform cash transactions?
            description: Individuals must additionally provide info regarding cash flow.
            locale: en-US
          defaultLocale: en-US
          description: Individuals must additionally provide info regarding cash flow.
          id: '300001'
          responseSchema:
            type: array
            items:
              type: boolean
            minItems: 1
            maxItems: 1
          subQuestions:
          - anyValuesMatch: 'true'
            questionIds:
            - '300002'
        - content:
          - label: If yes, will they exceed US$xx in aggregate on a monthly basis?
            description: Individuals must additionally provide info regarding cash flow.
            locale: en-US
          defaultLocale: en-US
          description: Individuals must additionally provide info regarding cash flow.
          id: '300002'
          parentQuestionId: '300001'
          responseSchema:
            type: array
            items:
              type: string
            minItems: 1
            maxItems: 1
          subQuestions: []
        - content:
          - label: 'Purpose of the account(s):'
            description: The purpose of the account(s) must be provided.
            locale: en-US
          defaultLocale: en-US
          description: The purpose of the account(s) must be provided.
          id: '300003'
          responseSchema:
            type: array
            items:
              type: string
            minItems: 1
            maxItems: 1
          subQuestions: []
        metadata:
          page: 0
          limit: 25
          total: 3
    DependentQuestionResponse:
      summary: Dependent question
      description: The response data for a dependent question
      value:
        content:
        - label: If yes, will they exceed US$xx in aggregate on a monthly basis?
          description: Individuals must additionally provide info regarding cash flow.
          locale: en-US
        defaultLocale: en-US
        description: Individuals must additionally provide info regarding cash flow.
        id: '300002'
        parentQuestionId: '300001'
        responseSchema:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 1
        subQuestions: []
  parameters:
    TokenInHeader:
      name: token
      in: header
      description: JWT Client token
      required: false
      schema:
        type: string
        minLength: 1
        maxLength: 8192
    QuestionIdListInQuery:
      name: questionIds
      in: query
      description: Comma-separated list of Question IDs.
      example: 30001,30002,30003
      required: false
      schema:
        type: string
        pattern: ^[0-9]{1,19}(,[0-9]{1,19})*$
        maxLength: 4096
  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