Documents API
Manage your documents programmatically. Generate new documents and retrieve documents relevant to your accounts. This allows you to obtain important documentation with ease.
Manage your documents programmatically. Generate new documents and retrieve documents relevant to your accounts. This allows you to obtain important documentation with ease.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/documents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Jp Morgan Chase Documents API
contact:
name: JPMC Technical Services Support
version: '1.0'
description: 'Operations tagged Documents across 2 of this provider''s published API definitions: jp-morgan-chase-digital-onboarding-api-openapi.yml, jp-morgan-chase-documents-api-openapi.yml. Each path carries the servers of the definition it was published in.'
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
- url: https://api.payments.jpmorgan.com/embedded/v1
description: PRODUCTION - MTLS
- url: https://api-mock.payments.jpmorgan.com/embedded/v1
description: MOCK
- url: https://api-sandbox.payments.jpmorgan.com/embedded/v1
description: CLIENT TESTING - MTLS
tags:
- name: Documents
description: Manage document upload and retrieval.
paths:
/documents:
post:
parameters:
- $ref: '#/components/parameters/TokenInHeader'
- $ref: '#/components/parameters/IdempotencyKey'
summary: Upload document
description: 'This section allows the user to attach the binary file upload and meta-data associated with the document.
'
operationId: smbdo-uploadDocument
tags:
- Documents
requestBody:
description: 'This section allows the user to attach the binary file upload and meta-data associated with the document.
'
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
documentData:
description: The document metadata.
type: string
example: '{"documentType":"DRIVERS_LICENSE","documentRequestId":"50002"}'
required:
- file
- documentData
responses:
'201':
description: Upload Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentResponse'
examples:
DocumentsRes:
$ref: '#/components/examples/DocumentsResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'409':
$ref: '#/components/responses/409'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
security:
- Certs: []
Token: []
- Certs: []
- BearerAuth: []
get:
parameters:
- $ref: '#/components/parameters/TokenInHeader'
- $ref: '#/components/parameters/ClientIdQuery'
- $ref: '#/components/parameters/PartyIdQuery'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/PageSize'
tags:
- Documents
summary: List document details
description: 'Retrieves a list of document details.
'
operationId: smbdo-getAllDocumentDetails
responses:
'200':
description: Ok.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDocumentsResponse'
examples:
ListDocumentsRes:
$ref: '#/components/examples/ListDocumentsResponse'
'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'
security:
- Certs: []
Token: []
- Certs: []
- BearerAuth: []
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
/documents/{id}:
get:
parameters:
- $ref: '#/components/parameters/TokenInHeader'
- in: path
name: id
description: Unique document identifier.
example: 62d29548-f55a-458e-b9bb-ed32a6a05a1b
schema:
type: string
required: true
tags:
- Documents
summary: Get document details
description: 'Retrieve details of a document.
'
operationId: smbdo-getDocumentDetail
responses:
'200':
description: Ok.
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentResponse'
examples:
DocumentsRes:
$ref: '#/components/examples/DocumentsResponse'
'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'
security:
- Certs: []
Token: []
- Certs: []
- BearerAuth: []
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
/documents/{id}/file:
get:
parameters:
- $ref: '#/components/parameters/TokenInHeader'
- in: path
name: id
description: Unique Document identifier.
example: 745ed6ce-c9e4-4d89-a1f9-74865e12cfc6
schema:
type: string
required: true
tags:
- Documents
summary: Download a document
description: Download a document using its unique identifier.
operationId: smbdo-downloadDocument
responses:
'200':
description: Ok.
content:
application/pdf:
schema:
type: string
format: byte
image/png:
schema:
type: string
format: byte
image/jpeg:
schema:
type: string
format: byte
image/heic:
schema:
type: string
format: byte
application/csv:
schema:
type: string
application/json:
schema:
type: object
'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'
security:
- Certs: []
Token: []
- Certs: []
- BearerAuth: []
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
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
DocumentMetadataSmbdo:
type: object
properties:
key:
$ref: '#/components/schemas/DocumentMetadataKeyEnum'
value:
type: string
example: 73bd1c1d-6635-43ff-a8e5-b252926bdd9e
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.
DocumentResponse:
type: object
properties:
id:
type: string
format: uuid
documentType:
$ref: '#/components/schemas/DocumentTypeSmbdo'
metadata:
type: array
items:
$ref: '#/components/schemas/DocumentMetadataSmbdo'
minItems: 0
maxItems: 50
required:
- id
- documentType
- metadata
ListDocumentsResponse:
type: object
properties:
metadata:
$ref: '#/components/schemas/PageMetaData'
documentDetails:
type: array
items:
$ref: '#/components/schemas/DocumentResponse'
minItems: 0
maxItems: 100
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
DocumentMetadataKeyEnum:
type: string
enum:
- DOCUMENT_REQUEST_ID
- PARTY_ID
- FILE_EXTENSION
- COUNTRY
- STATUS
- UPLOAD_TIME
- UPLOADED_FILE_NAME
example: DOCUMENT_REQUEST_ID
ApiError:
type: object
required:
- title
- httpStatus
- error
properties:
title:
type: string
minLength: 1
maxLength: 512
description: Short humanly-readable title of the error
example: BAD REQUEST
httpStatus:
type: integer
minimum: 100
maximum: 599
format: int32
description: HTTP status code
example: 422
traceId:
type: string
minLength: 0
maxLength: 512
description: Internal assigned traced identifier
requestId:
type: string
minLength: 0
maxLength: 512
description: Client provided request identifier
context:
type: array
items:
$ref: '#/components/schemas/ApiErrorReasonV2'
description: Provides additional context and detail on the validation errors
minItems: 0
maxItems: 100
CreateDocumentResponse:
type: object
required:
- id
- type
properties:
id:
type: string
description: Unique document identifier
example: 89eb5ab2-d688-43be-9b6d-a21dc87750b1
type:
type: string
description: Document type (only ACCOUNT_CONFIRMATION_LETTER is currently supported)
example: ACCOUNT_CONFIRMATION_LETTER
parameters:
$ref: '#/components/schemas/DocumentParameters'
ApiErrorReasonV2:
type: object
description: Schema representing detailed reasons for an API error, including code, location, and message.
required:
- message
properties:
code:
type: string
example: '11000'
description: Short code that identifies the error - publicly cataloged and documented
minLength: 0
maxLength: 5
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
minLength: 0
maxLength: 512
message:
type: string
example: Client with ID 0031234567 does not exist.
description: Message describing the reason. This message can typically be displayed to your platform's users, except in cases specified otherwise
minLength: 0
maxLength: 2048
DocumentParameters:
type: object
properties:
accountId:
type: string
description: Unique account identifier
example: f5246c6eb2c742a19c9c79327a769708
FileDownloadData:
type: string
format: byte
description: Document binary data
CreateDocumentRequest:
type: object
required:
- type
properties:
type:
type: string
description: Document type (only ACCOUNT_CONFIRMATION_LETTER is currently supported)
example: ACCOUNT_CONFIRMATION_LETTER
parameters:
$ref: '#/components/schemas/DocumentParameters'
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
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
documentIdInPath:
name: id
in: path
description: Unique document identifier
schema:
type: string
required: true
example: 89eb5ab2-d688-43be-9b6d-a21dc87750b1
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.
'503_2':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error:
description: Service Unavailable
summary: Service Unavailable
value:
title: Service Unavailable
httpStatus: 503
error: SERVICE_UNAVAILABLE
'500_2':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error:
description: Internal Server Error
summary: Internal Server Error
value:
title: Internal Server Error
httpStatus: 500
error: INTERNAL_SERVER_ERROR
'404_2':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error:
description: Not Found
summary: Not Found
value:
title: Not Found
httpStatus: 404
error: NOT_FOUND
'400_2':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error:
description: Bad Request
summary: Bad Request
value:
title: Bad Request
httpStatus: 400
error: BAD_REQUEST
'401_2':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error:
description: Unauthorized
summary: Unauthorized
value:
title: Unauthorized Request
httpStatus: 401
error: UNAUTHORIZED
'403_2':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error:
description: Forbidden
summary: Forbidden
value:
title: Forbidden
httpStatus: 403
error: FORBIDDEN
examples:
DocumentsResponse:
summary: Document details for given document upload
description: Document details for document that was uploaded
value:
id: cd03133b-21e6-4d60-85aa-3eee61939b2e
documentType: PASSPORT
metadata:
- key: STATUS
value: ACTIVE
- key: UPLOADED_FILE_NAME
value: passport.png
- key: FILE_EXTENSION
value: png
- key: DOCUMENT_REQUEST_ID
value: '50000'
- key: UPLOAD_TIME
value: '2024-04-01T21:14:38.474Z'
ListDocumentsResponse:
summary: List of document details
description: A list of document details
value:
metadata:
page: 0
limit: 25
total: 1
documentDetails:
- id: 62d29548-f55a-458e-b9bb-ed32a6a05a1b
documentType: TERMS_CONDITIONS
metadata:
- key: DOCUMENT_REQUEST_ID
value: '3000001'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
x-refined-from:
- jp-morgan-chase-digital-onboarding-api-openapi.yml
- jp-morgan-chase-documents-api-openapi.yml
x-jpmc-securityDefinitions:
JPMC-OAuth2:
jpmc-claims:
jpmc-roles: []
x-jpmc-security:
- JPMC-OAuth2:
jpmc-claims:
jpmc-roles: []