How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Digital Onboarding API

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.

Digital Onboarding API is one of 26 APIs that JPMorgan Chase publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Clients, Document requests, Documents, Party, and Questions. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 24 operations across 16 paths, organized into 7 resource areas, and defines 145 schemas. It is described by OpenAPI 3.0.1, at version 1.0.18.

Requests are made against 3 base URLs: https://api.payments.jpmorgan.com/onboarding/v1, https://api-sandbox.payments.jpmorgan.com/onboarding/v1, https://api-mock.payments.jpmorgan.com/onboarding/v1.

24 operations 16 paths 145 schemas 12 GET2 PATCH10 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
1.0.18
Base URL
https://api.payments.jpmorgan.com/onboarding/v1
Authentication
HTTP Bearer
Contact
JPMC Technical Services Support
Resource Areas
7

Authentication & Security 1

Digital Onboarding API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (BearerAuth). By default, every request must be authenticated.

Paths & Operations 24

Across 16 paths, the API surfaces 24 operations — 12 GET, 2 PATCH, 10 POST. They span 7 resource areas: Clients, Questions, Document requests, Documents, Party, Session, Recommendations. Each is listed below with its method, path, parameters, and response codes.

Clients 6

Onboard and manage clients.

GET
/clients
List clients
smbdo-listClients 3 params → 200400401403404500503
POST
/clients
Create client
smbdo-postClients 2 params body → 201400401403404409422500
GET
/clients/{id}
Get client
smbdo-getClient 2 params → 200400401403404500503
POST
/clients/{id}
Update client
smbdo-updateClientLegacy 3 params body → 200400401403404409422500
PATCH
/clients/{id}
Update client
smbdo-updateClient 3 params body → 200400401403404409422500
POST
/clients/{id}/verifications
Perform client verifications
smbdo-postClientVerifications 3 params body → 202400401403404409422500
Questions 2

View details about answering questions by id.

GET
/questions
List questions
smbdo-listQuestions 2 params → 200400401403404500503
GET
/questions/{id}
Get question
smbdo-getQuestion 2 params → 200400401403404500503
Document requests 3

View details of requests for documents.

GET
/document-requests
List document requests
smbdo-listDocumentRequests 3 params → 200400401403404500503
GET
/document-requests/{id}
Get document request
smbdo-getDocumentRequest 2 params → 200400401403404500503
POST
/document-requests/{id}/submit
Submit a document request
smbdo-submitDocumentRequest 3 params → 202400401403404409422500
Documents 4

Manage document upload and retrieval.

POST
/documents
Upload document
smbdo-uploadDocument 2 params body → 201400401403409422500503
GET
/documents
List document details
smbdo-getAllDocumentDetails 5 params → 200400401403404500503
GET
/documents/{id}
Get document details
smbdo-getDocumentDetail 2 params → 200400401403404500503
GET
/documents/{id}/file
Download a document
smbdo-downloadDocument 2 params → 200400401403404500503
Party 6

Create and manage legal parties.

GET
/parties
List parties
getAllParties 4 params → 200400401403404500503
POST
/parties
Create party
postParty 2 params body → 201400401403404409422500
GET
/parties/{partyId}
Get party
getParty 2 params → 200400401403404500503
POST
/parties/{partyId}
Update party
updatePartyLegacy 3 params body → 200400401403404409422500
PATCH
/parties/{partyId}
Update party
updateParty 3 params body → 200400401403404409422500
POST
/parties/{partyId}/validations
Start party validation
postPartyValidations 3 params → 202400401403404409422500
Session 2

Create session for clients or parties.

GET
/sessions
List sessions
smbdo-listSessions 4 params → 200400401403404500503
POST
/sessions
Create session.
smbdo-postSessions 2 params body → 201400401403404409422500
Recommendations 1

Generates recommendations based on the provided input.

POST
/recommendations
Generate Recommendations.
smbdo-postRecommendations 2 params body → 200401403404500503

Schemas 145

The contract defines 145 schemas that model the data the API accepts and returns. The most detailed are OrganizationDetails (22 properties), PartyResponse (17 properties), IndividualDetails (15 properties), NetworkRegistration (13 properties). Each schema is shown below with its type and property counts.

ApiError
object
5 properties 1 required
ApiErrorReason
object
4 properties 2 required
ApiErrorReasonV2
object
4 properties 1 required
PageMetaData
object
Page metadata.
3 properties
ClientId
string
A client's unique ID
PartyId
string
Organization/Individual party id, that uniquely identifies the party.
ClientProduct
string
Client Product Table: | Product | Description | | -- | -- | | EMBEDDEDPAYMENTS | Create and manage embedded bank accounts | | MERCHANTSERVICES | JPMorgan solut…
ClientProductList
array
A list of product selections.
DocumentId
string
The unique id generated by the system for the uploaded document, which can be used for future retrieval.
DocumentIdList
array
A list of document IDs.
DocumentRequestIdList
array
A list of document request IDs.
QuestionId
string
The ID uniquely identifying a question.
QuestionIdList
array
A list of question IDs.
PartyIdList
array
A list of party IDs.
Role
string
The party's role. - CLIENT: A party that is the business entity. Only one party under a client may have this role. No other role can be specified alongside CLI…
PartyRoleList
array
A list of party roles. - CLIENT: A party that is the business entity. Only one party under a client may have this role. No other role can be specified alongsid…
ClientStatus
string
The client's status.
ClientSummaryResponse
object
5 properties 5 required
ClientListResponse
object
Collection of clients.
2 properties 2 required
ApiErrorContext
object
Context of the API error.
4 properties 1 required
schemas-ApiError
object
An API error.
5 properties 2 required
AttesterFirstName
string
The first name of an individual.
AttesterMiddleName
string
The middle name of an individual.
AttesterLastName
string
The last name of an individual.
AttesterDesignation
string
The attester's held position in the client business.
Attester
object
The details of the attester.
4 properties 3 required
Attestation
object
The attesting of presented legal statements. Either "attester" or "attesterFullName" is required.
5 properties 3 required
ConsumerDevice
object
Consumer device information provided by the merchant. It is only returned when present in the create or update client requests.
2 properties
AccessList
array
List of user access descriptors.
Email
string
Email of the party. The email is validated against the [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822) format, which is 64 characters (local part) +…
ExternalId
string
ID in external system.
ParentPartyId
string
The parent party ID.
PartyType
string
The party type
AddressDto
object
An address.
6 properties 4 required
BirthDate
string
The date of birth (yyyy-MM-dd) of the individual in case of party type being an individual.
CountryCodeIsoAlpha2
string
Country code in ISO alpha-2 format.
FirstName
string
First name of the individual in case of party type being an individual like Owners, Controllers and Decision Makers. The format is enforced with the pattern '^…
MiddleName
string
Middle name of the individual in case of party type being an individual. The format is enforced with the pattern ^[a-zA-Z0-9\(\)\/\&\+\%\@\\;\,\.\:\ \-\']$.
LastName
string
Last name of the individual in case of party type being an individual like Owners, Controllers and Decision Makers. The format is enforced with the pattern ^[a…
NameSuffix
string
The name suffix used by the party
IndividualIdentity
object
An individual's identification. For MerchantServices product in Canada, individual party ID is optional.
5 properties 3 required
IndividualJobTitle
string
Job title in the case of party type being an INDIVIDUAL. Job title is a required field for controllers, beneficial owners, and decision makers. Allowed values…
IndividualJobTitleDescription
string
If jobTitle is Other, then job title description is required.
PhoneSmbdo
object
Phone number information of the party.
3 properties 2 required
NatureOfOwnership
string
Nature of ownership. Allowed values are: Direct, Indirect.
SocialMedia
object
2 properties 2 required
SocialMediaList
array
The entity's social media profiles.
SocialMediaUrl
string
Social media profile URL.
SoleOwner
boolean
IndividualDetails
object
Details of an individual.
15 properties
IndividualDetailsRequired
2 required
DbaName
string
An alternate name that the business is doing business under. Provide this if your business is registered with an alias. The format is enforced with the pattern…
EntitiesInOwnership
boolean
Entities in ownership means that one or more businesses own part of the business connected to the client.
OrganizationIndustryCategory
string
The industry category of the business connected to the client. For example, Accommodation and Food Services. You can use the [Industry Descriptor Reference](ht…
OrganizationIndustryType
string
The industry type of the business connected to the client. You can use the [Industry Descriptor Reference](https://developer.payments.jpmorgan.com/docs/embedde…
OrganizationIndustry
object
2 properties
MerchantCategoryCode
string
The merchant category code describing the merchant's industry.
OrganizationName
string
The organization's legal name. It is the official name of the person or entity that owns a company. Must be the name used on the legal party's government forms…
OrganizationDescription
string
The organization's description.
OrganizationType
string
This field specifies the legal structure or classification of the organization and identifies whether the entity is a Corporation, Sole Proprietorship, Non-Pro…
OrganizationIdentityDto
object
The tax ID of the organization.
5 properties 3 required
Website
string
Name/URL of the website
WebsiteAvailable
boolean
Whether the party has a website. False if opted out.
YearOfFormation
string
Year of company formation.
OrganizationDetails
object
Details of an organization.
22 properties
OrganizationDetailsRequired
2 required
DefaultLanguagePreferenceEnum
string
The default language preference of the party's user. It defines the initial language of user communications during client onboarding. Any changes to the user's…
CreatePartyRequestInline
object
Create a party within the clients payload.
9 properties
CreatePartyRequestInlineRequired
Create a party within the clients payload.
2 required
CreateClientRequestSmbdo
object
5 properties 1 required
ProfileStatus
string
PartyStatus
string
Active
boolean
Whether the party is active or not. False if inactive.
ValidationStatus
string
Status of a party validation. Missing fields result in NEEDSINFO.
ValidationType
string
The type of validation process. | Type | Description | | -- | -- | | ENTITYVALIDATION | Validation of the party identity. | | LIVENESSCHECK | Validation of the…
PartyField
object
A party field. It refers to either a missing field or a field that needs to be updated.
3 properties
ValidationResponse
array
List of validation info.
SettlementPaymentMethods
string
The method of payment used in network registration.
VisaDebitAcceptance
string
The type of Visa debit card acceptance. Required when VISA is selected.
NetworkRegistrationCurrencyCode
string
The merchant's preferred currency for transactions. Required when AMEXOPTBLUE is selected.
TransactionDeviceType
string
The mechanism used to provide details at the merchant's terminal for transactions. Required when DISCOVER is selected.
ServiceEstablishmentStatus
string
The American Express status code for the merchant if they are terminated or reinstated. The payment provider must provide this if the merchant was previously t…
DiscoverDebtRepayment
boolean
Indicates if the merchant will be accepting Discover cards as a part of Discover's consumer debt repayment program.
AmexOptBlueMarketing
boolean
Indicates whether the merchant has opted-in to American Express OptBlue marketing. - true – All Marketing (Merchant has not opted out of receiving marketing) -…
JcbAccepted
boolean
Indicates if the merchant will accept JCB cards. Required American Express OptBlue is selected in Australia, New Zealand, or Canada.
AmexSellerId
string
The ID that identifies the merchant account when processing with American Express OptBlue.
DiscoverMerchantId
string
The ID that identifies the merchant account when processing with Discover.
AmexOptBlueServiceEstablishmentNumber
string
Unique identifier assigned to a merchant/business that participates in the American Express OptBlue program
NetworkRegistration
object
Network registration configuration.
13 properties
PartyResponse
object
17 properties
ResponseValueList
array
The values of a question response. Each item is a string that will be validated according to the question's responseSchema.
ClientQuestionResponse
object
The client's response to a question.
2 properties
CustomerIdentityStatus
string
The status of the customer identification process.
ClientResults
object
The results of the client verification process.
1 property 1 required
ClientResponse
object
11 properties 5 required
ClientUpdatedResponse
object
1 property
UpdatePartyRequestInline
object
Update a party inline within the clients API by supplying its ID.
7 properties
AttestationRemoval
object
Describes which attestation to remove. An existing attestation with a matching documentId will be removed.
1 property 1 required
UpdateClientRequestSmbdo
object
6 properties
ClientVerificationRequest
object
1 property
ClientVerificationResponse
object
2 properties
LocaleId
string
The identifier for a language and location.
ContentItem
object
Content displayed to a user for a given locale.
3 properties 2 required
QuestionDescription
string
A description of the question.
ResponseSchemaItem
object
A limited subset of JSON Schema used to validate the response value items.
10 properties 1 required
ResponseSchema
object
A subset of JSON Schema used to validate the response values.
4 properties
AnyValuesMatch
string
Describes the answer value that would require dependent questions.
QuestionResponse
object
7 properties
QuestionListResponse
object
2 properties
DocumentTypeSmbdo
string
Supported document types
DocumentRequestId
string
Unique Document Request identifier.
DocumentRequestOutstanding
object
Outstanding items on the document request.
1 property 1 required
DocumentRequestRequirement
object
3 properties 1 required
DocumentRequestStatus
string
ValidForDays
integer
Number of days from the day of its creation that this request will expire.
DocumentRequestResponse
object
12 properties
DocumentRequestListResponse
object
2 properties 2 required
DocumentMetadataKeyEnum
string
DocumentMetadataSmbdo
object
2 properties
DocumentResponse
object
3 properties 3 required
ListDocumentsResponse
object
2 properties
RequestId
string
A user-generated unique request ID.
PostUploadDocument
object
Document upload request.
5 properties 4 required
DocumentUploadAccepted
object
Document upload response.
2 properties
Name
string
The name of the party. A party can be an individual or an organization.
PartySummaryResponse
object
Summary of party data in collection lookup.
11 properties
ListPartyResponse
object
A page of party summaries
2 properties
CreatePartyRequest
object
11 properties 2 required
UpdatePartyRequest
object
9 properties
ListSessionResponse
object
2 properties
CreateSessionRequest
object
2 properties 2 required
SessionResponse
object
List of sessions.
5 properties
SessionTarget
object
2 properties 2 required
SessionTargetId
string
The ID of the client or party.
SessionTargetType
string
Client or party type.
SessionId
string
ID to uniquely identify the session
SessionsType
string
PubliclyTraded
object
Provide details for stock exchange and ticker symbol if your organization is a publicly traded company. If your organization is a subsidiary use these fields t…
3 properties 2 required
RecommendationsRequest
object
2 properties 2 required
Values
array
Contains key-value pairs providing additional context.
RecommendationsResponse
object
3 properties
Resource
array
NaicsCodeResponse
object
2 properties
RecommendationDocumentResponse
object
2 properties
ResourceType
string
Represents an ENUM value that helps determine which recommendation needs to be performed.

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

jp-morgan-chase-digital-onboarding-api-openapi.yml Raw ↑

Other APIs JPMorgan Chase publishes across the network.

Consumer Profile Management API
Tokenization API
Reporting API
Notifications API
Request to Pay via QR Code API
Checkout API
Dispute Management API
Accounts API
Alerts and Decisioning API
Product Configuration API
Recipients API
Webhooks API
Where this information came from

This is an independent, third-party profile of Digital Onboarding API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.