openapi: 3.2.0 info: title: Digital Onboarding Clients 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: Clients description: Onboard and manage clients. paths: /clients: get: parameters: - $ref: '#/components/parameters/TokenInHeader' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' summary: List clients description: Returns a list of clients associated with your platform. operationId: smbdo-listClients tags: - Clients responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/ClientListResponse' examples: ClientListResponse: $ref: '#/components/examples/ClientListResponse' '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' summary: Create client description: Creates a client. operationId: smbdo-postClients tags: - Clients requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateClientRequestSmbdo' examples: CreateClient: $ref: '#/components/examples/CreateClient' CreateClientForCAMerchantServices: $ref: '#/components/examples/CreateClientForCAMerchantServices' responses: '201': description: Created. content: application/json: schema: $ref: '#/components/schemas/ClientUpdatedResponse' examples: CreateClientResponse: $ref: '#/components/examples/CreateClientResponse' '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' /clients/{id}: get: parameters: - $ref: '#/components/parameters/TokenInHeader' - name: id in: path description: Unique identifier for a client. required: true style: simple schema: type: string maxLength: 10 example: '1000010400' summary: Get client description: Retrieve client details by its ID. operationId: smbdo-getClient tags: - Clients responses: '200': description: Created. content: application/json: schema: $ref: '#/components/schemas/ClientResponse' examples: GetClientResponse: $ref: '#/components/examples/GetClientResponse' '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' - name: id in: path description: Unique identifier for a client. required: true style: simple schema: type: string maxLength: 10 example: '1000010400' summary: Update client description: Updates a client. operationId: smbdo-updateClientLegacy tags: - Clients requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateClientRequestSmbdo' examples: UpdateClient: $ref: '#/components/examples/UpdateClient' UpdateClientCA: $ref: '#/components/examples/UpdateClientCA' responses: '200': description: OK. content: application/json: schema: $ref: '#/components/schemas/ClientUpdatedResponse' examples: UpdateClientResponse: $ref: '#/components/examples/UpdateClientResponse' '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' patch: parameters: - $ref: '#/components/parameters/TokenInHeader' - $ref: '#/components/parameters/IdempotencyKey' - name: id in: path description: Unique identifier for a client. required: true style: simple schema: type: string maxLength: 10 example: '1000010400' summary: Update client description: Updates a client. operationId: smbdo-updateClient tags: - Clients requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateClientRequestSmbdo' examples: UpdateClient: $ref: '#/components/examples/UpdateClient' UpdateClientCA: $ref: '#/components/examples/UpdateClientCA' responses: '200': description: OK. content: application/json: schema: $ref: '#/components/schemas/ClientUpdatedResponse' examples: UpdateClientResponse: $ref: '#/components/examples/UpdateClientResponse' '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' /clients/{id}/verifications: post: parameters: - $ref: '#/components/parameters/TokenInHeader' - $ref: '#/components/parameters/IdempotencyKey' - name: id in: path description: Unique identifier for a client. required: true style: simple schema: type: string maxLength: 10 example: '1000010400' summary: Perform client verifications description: Performs client verifications operationId: smbdo-postClientVerifications tags: - Clients requestBody: content: application/json: schema: $ref: '#/components/schemas/ClientVerificationRequest' examples: ClientVerificationRequest: $ref: '#/components/examples/ClientVerificationRequest' ClientVerificationRequestWithConsumerDevice: $ref: '#/components/examples/ClientVerificationRequestWithConsumerDevice' responses: '202': $ref: '#/components/responses/202_verifications' '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: ClientProductList: description: A list of product selections. type: array items: $ref: '#/components/schemas/ClientProduct' minItems: 1 maxItems: 50 SocialMediaList: description: The entity's social media profiles. deprecated: true type: array items: $ref: '#/components/schemas/SocialMedia' minItems: 0 maxItems: 3 BirthDate: type: string format: date example: '1983-02-08' description: 'The date of birth (yyyy-MM-dd) of the individual in case of party type being an individual. ' OrganizationDetailsRequired: allOf: - $ref: '#/components/schemas/OrganizationDetails' required: - organizationName - organizationType SoleOwner: type: boolean ClientVerificationResponse: type: object properties: acceptedAt: description: The timestamp when the request to start verification was accepted. type: string format: date-time consumerDevice: $ref: '#/components/schemas/ConsumerDevice' IndividualDetailsRequired: allOf: - $ref: '#/components/schemas/IndividualDetails' required: - firstName - lastName NameSuffix: type: string minLength: 1 maxLength: 5 description: The name suffix used by the party QuestionIdList: description: A list of question IDs. type: array items: $ref: '#/components/schemas/QuestionId' minItems: 0 maxItems: 200 AmexOptBlueServiceEstablishmentNumber: description: 'Unique identifier assigned to a merchant/business that participates in the American Express OptBlue program ' type: string JcbAccepted: description: 'Indicates if the merchant will accept JCB cards. Required American Express OptBlue is selected in Australia, New Zealand, or Canada. ' type: boolean UpdatePartyRequestInline: description: Update a party inline within the clients API by supplying its ID. type: object properties: access: $ref: '#/components/schemas/AccessList' id: $ref: '#/components/schemas/PartyId' email: $ref: '#/components/schemas/Email' roles: $ref: '#/components/schemas/PartyRoleList' individualDetails: $ref: '#/components/schemas/IndividualDetails' organizationDetails: $ref: '#/components/schemas/OrganizationDetails' preferences: description: The preferences of the party. type: object properties: defaultLanguage: $ref: '#/components/schemas/DefaultLanguagePreferenceEnum' ExternalId: type: string minLength: 1 maxLength: 50 description: ID in external system. ClientQuestionResponse: description: The client's response to a question. type: object properties: questionId: $ref: '#/components/schemas/QuestionId' values: $ref: '#/components/schemas/ResponseValueList' MiddleName: type: string minLength: 1 maxLength: 30 example: More description: 'Middle name of the individual in case of party type being an individual. The format is enforced with the pattern `^[a-zA-Z0-9\(\)_\/\&\+\%\@\#\;\,\.\:\ \-\'']*$`. ' OrganizationName: type: string example: Feltz Printing Service description: '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 and business paperwork ' minLength: 1 maxLength: 500 NetworkRegistrationCurrencyCode: description: 'The merchant''s preferred currency for transactions. Required when AMEX_OPT_BLUE is selected. ' type: string enum: - GBP - USD - CAD - EUR PartyType: type: string description: The party type enum: - INDIVIDUAL - ORGANIZATION VisaDebitAcceptance: type: string description: The type of Visa debit card acceptance. Required when VISA is selected. enum: - DEBIT_NOT_ACCEPTED - DEBIT_ACCEPTED_CARD_PRESENT - DEBIT_ACCEPTED_CARD_NOT_PRESENT - DEBIT_ACCEPTED_ALL x-enum-varnames: - DEBIT_NOT_ACCEPTED - DEBIT_ACCEPTED_CARD_PRESENT - DEBIT_ACCEPTED_CARD_NOT_PRESENT - DEBIT_ACCEPTED_ALL IndividualJobTitleDescription: type: string example: Acting CEO minLength: 0 maxLength: 50 description: 'If `jobTitle` is Other, then job title description is required. ' ResponseValueList: description: 'The values of a question response. Each item is a string that will be validated according to the question''s responseSchema. ' type: array items: type: string minItems: 1 maxItems: 20 OrganizationIdentityDto: type: object description: The tax ID of the organization. properties: description: deprecated: true description: Description of the ID. type: string minLength: 1 maxLength: 255 idType: description: The ID type type: string enum: - EIN - BUSINESS_REGISTRATION_ID - BUSINESS_NUMBER - BUSINESS_REGISTRATION_NUMBER value: description: Please enter a valid Government ID value. EIN must be of 9 numeric digits for US. The length for other Government ID values >= 1 characters<= 100 characters type: string pattern: ^[A-Za-z0-9\-\/\.\s\+&]*$ minLength: 1 maxLength: 100 issuer: type: string description: Issuing authority example: US minLength: 2 maxLength: 2 expiryDate: type: string format: date deprecated: true required: - idType - value - issuer ValidationType: description: 'The type of validation process. | Type | Description | | -- | -- | | ENTITY_VALIDATION | Validation of the party identity. | | LIVENESS_CHECK | Validation of the liveliness of an individual party. This validation can be completed with a LIVENESS_CHECK-type party session. | ' type: string enum: - ENTITY_VALIDATION - LIVENESS_CHECK 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. ClientUpdatedResponse: allOf: - $ref: '#/components/schemas/ClientResponse' type: object properties: consumerDevice: $ref: '#/components/schemas/ConsumerDevice' Attestation: description: The attesting of presented legal statements. Either "attester" or "attesterFullName" is required. type: object properties: attester: $ref: '#/components/schemas/Attester' attesterFullName: deprecated: true description: The full name of an individual. type: string attestationTime: type: string format: date-time example: '2017-07-21T17:32:28.000Z' documentId: $ref: '#/components/schemas/DocumentId' ipAddress: description: IPv4 Address. type: string format: ipv4 required: - attestationTime - documentId - ipAddress AttestationRemoval: description: Describes which attestation to remove. An existing attestation with a matching `documentId` will be removed. type: object properties: documentId: $ref: '#/components/schemas/DocumentId' required: - documentId ClientResponse: type: object properties: attestations: type: array deprecated: true items: $ref: '#/components/schemas/Attestation' minItems: 0 maxItems: 10 consumerDevice: $ref: '#/components/schemas/ConsumerDevice' createdAt: type: string format: date-time description: Date and time when the client was created id: $ref: '#/components/schemas/ClientId' parties: type: array items: $ref: '#/components/schemas/PartyResponse' minItems: 0 partyId: $ref: '#/components/schemas/PartyId' products: $ref: '#/components/schemas/ClientProductList' outstanding: type: object properties: attestationDocumentIds: $ref: '#/components/schemas/DocumentIdList' documentRequestIds: $ref: '#/components/schemas/DocumentRequestIdList' questionIds: $ref: '#/components/schemas/QuestionIdList' partyIds: $ref: '#/components/schemas/PartyIdList' partyRoles: $ref: '#/components/schemas/PartyRoleList' questionResponses: type: array items: $ref: '#/components/schemas/ClientQuestionResponse' minItems: 0 maxItems: 200 results: $ref: '#/components/schemas/ClientResults' status: $ref: '#/components/schemas/ClientStatus' required: - id - partyId - products - outstanding - status IndividualJobTitle: type: string example: CEO description: '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 are: `CEO`, `CFO`, `COO`, `President`, `Chairman`, `Senior Branch Manager`, `Other`. ' minLength: 1 maxLength: 40 PartyRoleList: description: '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 alongside `CLIENT`. - `CONTROLLER`: Individuals with significant responsibility to control, manage, or direct a legal entity customer, including an executive officer or senior manager or any other individual who regularly performs similar functions. - `BENEFICIAL_OWNER`: Individual who either directly or indirectly holds ultimate ownership (>=25%) of the equity interest of the customer through all intermediary ownership layers. - `DIRECTOR`: Key senior officers who, for corporations, are generally the CEO, CFO, COO, Chairman, President, or anyone performing a similar function. For privately held companies, these controllers are generally the senior management team. - `PRIMARY_CONTACT`: The primary contact of the business entity. - `DECISION_MAKER`: Deprecated. - `AUTHORIZED_USER`: Individuals empowered to perform operational tasks, make decisions, and interact with the entity''s systems on behalf of the organization. ' type: array items: $ref: '#/components/schemas/Role' minItems: 0 maxItems: 10 PubliclyTraded: title: Public Trading description: '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 to provide details of the parent organization. If your organization is listed on multiple stock exchanges provide the highest priority listing by order: - "XNYS" for the New York Stock Exchange or "XNAS" for NASDAQ. - One of the exchanges listed in [Publicly Traded Companies](https://developer.payments.jpmorgan.com/docs/commerce/optimization-protection/capabilities/digital-onboarding/how-to/publicly-traded-companies) - Other ' type: object properties: tickerSymbol: description: The official ticker symbol assigned to the organization for the provided "stockExchange" field. This typically consists of 3 to 6 uppercase letters. type: string minLength: 1 maxLength: 10 pattern: ^[A-Z0-9]*$ stockExchange: description: 'Supported options are "XNYS", "XNAS", one of the symbols listed on [Publicly Traded Companies](https://developer.payments.jpmorgan.com/docs/commerce/optimization-protection/capabilities/digital-onboarding/how-to/publicly-traded-companies) or "Other". The stock exchange symbol used by the organization which is registered with the provided "tickerSymbol". This field is case-sensitive. ' type: string minLength: 1 maxLength: 10 pattern: ^[A-Za-z]*$ stockExchangeName: description: 'If "stockExchange" is "Other", use this field to provide the name of the stock exchange. ' type: string minLength: 1 maxLength: 100 pattern: ^.*$ required: - tickerSymbol - stockExchange MerchantCategoryCode: type: string description: The merchant category code describing the merchant's industry. minLength: 4 maxLength: 4 example: '5411' OrganizationDetails: description: Details of an organization. type: object properties: addresses: type: array items: $ref: '#/components/schemas/AddressDto' minItems: 1 maxItems: 5 associatedCountries: type: array items: $ref: '#/components/schemas/CountryCodeIsoAlpha2' minItems: 0 maxItems: 100 countryOfFormation: $ref: '#/components/schemas/CountryCodeIsoAlpha2' dbaName: $ref: '#/components/schemas/DbaName' entitiesInOwnership: $ref: '#/components/schemas/EntitiesInOwnership' industryCategory: $ref: '#/components/schemas/OrganizationIndustryCategory' industryType: $ref: '#/components/schemas/OrganizationIndustryType' industry: $ref: '#/components/schemas/OrganizationIndustry' jurisdiction: $ref: '#/components/schemas/CountryCodeIsoAlpha2' deprecated: true mcc: $ref: '#/components/schemas/MerchantCategoryCode' secondaryMccList: type: array description: 'The list of additional merchant category codes describing industries that the business is in. ' items: $ref: '#/components/schemas/MerchantCategoryCode' minItems: 0 maxItems: 10 socialMedia: $ref: '#/components/schemas/SocialMediaList' organizationName: $ref: '#/components/schemas/OrganizationName' organizationDescription: $ref: '#/components/schemas/OrganizationDescription' organizationType: $ref: '#/components/schemas/OrganizationType' organizationIds: type: array items: $ref: '#/components/schemas/OrganizationIdentityDto' minItems: 0 maxItems: 6 phone: $ref: '#/components/schemas/PhoneSmbdo' website: $ref: '#/components/schemas/Website' websiteAvailable: $ref: '#/components/schemas/WebsiteAvailable' yearOfFormation: $ref: '#/components/schemas/YearOfFormation' isSubsidiary: type: boolean description: 'Is your organization a subsidiary of a publicly traded company or not. This field is required when "publiclyTraded" block is provided in organization details. If this field is given in payload (true | false), then the "publiclyTraded" will be required as well. ' publiclyTraded: $ref: '#/components/schemas/PubliclyTraded' 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 IndividualDetails: description: Details of an individual. type: object properties: addresses: type: array items: $ref: '#/components/schemas/AddressDto' minItems: 1 maxItems: 5 birthDate: $ref: '#/components/schemas/BirthDate' countryOfResidence: $ref: '#/components/schemas/CountryCodeIsoAlpha2' firstName: $ref: '#/components/schemas/FirstName' middleName: $ref: '#/components/schemas/MiddleName' lastName: $ref: '#/components/schemas/LastName' nameSuffix: $ref: '#/components/schemas/NameSuffix' individualIds: description: An individual's identification. For Merchant_Services product in Canada, individual party ID is optional. type: array items: $ref: '#/components/schemas/IndividualIdentity' minItems: 0 maxItems: 16 jobTitle: $ref: '#/components/schemas/IndividualJobTitle' jobTitleDescription: $ref: '#/components/schemas/IndividualJobTitleDescription' phone: $ref: '#/components/schemas/PhoneSmbdo' natureOfOwnership: $ref: '#/components/schemas/NatureOfOwnership' socialMedia: $ref: '#/components/schemas/SocialMediaList' socialMediaUrl: $ref: '#/components/schemas/SocialMediaUrl' soleOwner: $ref: '#/components/schemas/SoleOwner' deprecated: true ValidationResponse: description: List of validation info. type: array items: type: object properties: validationStatus: $ref: '#/components/schemas/ValidationStatus' validationType: $ref: '#/components/schemas/ValidationType' comments: type: string description: Comments/basic response related to the workflow step of validation response. deprecated: true fields: type: array items: $ref: '#/components/schemas/PartyField' minItems: 0 maxItems: 100 identities: type: array deprecated: true items: type: string minItems: 0 maxItems: 10 documentRequestIds: type: array items: type: string maxLength: 30 description: The id of the document request. minItems: 0 maxItems: 10 minItems: 0 maxItems: 10 ServiceEstablishmentStatus: type: string description: '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 terminated and AMEX_OPT_BLUE is a selected method of payment. ' enum: - D_CANCELLED - N_CANCELLED - R_REINSTATED Role: type: string description: '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 `CLIENT`. - `CONTROLLER`: Individuals with significant responsibility to control, manage, or direct a legal entity customer, including an executive officer or senior manager or any other individual who regularly performs similar functions. - `BENEFICIAL_OWNER`: Individual who either directly or indirectly holds ultimate ownership (>=25%) of the equity interest of the customer through all intermediary ownership layers. - `DIRECTOR`: Key senior officers who, for corporations, are generally the CEO, CFO, COO, Chairman, President, or anyone performing a similar function. For privately held companies, these controllers are generally the senior management team. - `PRIMARY_CONTACT`: The primary contact of the business entity. - `DECISION_MAKER`: Deprecated. - `AUTHORIZED_USER`: Individuals empowered to perform operational tasks, make decisions, and interact with the entity''s systems on behalf of the organization. ' enum: - AUTHORIZED_USER - BENEFICIAL_OWNER - CLIENT - CONTROLLER - DECISION_MAKER - PRIMARY_CONTACT - DIRECTOR ClientStatus: description: The client's status. type: string enum: - APPROVED - DECLINED - INFORMATION_REQUESTED - NEW - REVIEW_IN_PROGRESS - SUSPENDED - TERMINATED PartyResponse: type: object properties: access: $ref: '#/components/schemas/AccessList' id: $ref: '#/components/schemas/PartyId' createdAt: type: string format: date-time example: '2017-07-21T17:32:28.000Z' email: $ref: '#/components/schemas/Email' externalId: $ref: '#/components/schemas/ExternalId' partyType: $ref: '#/components/schemas/PartyType' parentPartyId: $ref: '#/components/schemas/ParentPartyId' parentExternalId: $ref: '#/components/schemas/ExternalId' preferences: description: The preferences of the party. type: object properties: defaultLanguage: $ref: '#/components/schemas/DefaultLanguagePreferenceEnum' profileStatus: $ref: '#/components/schemas/ProfileStatus' roles: $ref: '#/components/schemas/PartyRoleList' status: $ref: '#/components/schemas/PartyStatus' active: $ref: '#/components/schemas/Active' validationResponse: $ref: '#/components/schemas/ValidationResponse' individualDetails: $ref: '#/components/schemas/IndividualDetails' organizationDetails: $ref: '#/components/schemas/OrganizationDetails' networkRegistration: $ref: '#/components/schemas/NetworkRegistration' AmexSellerId: description: 'The ID that identifies the merchant account when processing with American Express OptBlue. ' type: string YearOfFormation: description: Year of company formation. type: string pattern: \d{4} minLength: 4 maxLength: 4 OrganizationType: type: string description: 'This field specifies the legal structure or classification of the organization and identifies whether the entity is a Corporation, Sole Proprietorship, Non-Profit, or Government Body. Note: The values `PARTNERSHIP` and `PUBLICLY_TRADED_COMPANY` are deprecated and should not be used. ' enum: - LIMITED_LIABILITY_PARTNERSHIP - LIMITED_PARTNERSHIP - GENERAL_PARTNERSHIP - LIMITED_LIABILITY_COMPANY - C_CORPORATION - S_CORPORATION - PARTNERSHIP - PUBLICLY_TRADED_COMPANY - NON_PROFIT_CORPORATION - GOVERNMENT_ENTITY - SOLE_PROPRIETORSHIP - UNINCORPORATED_ASSOCIATION ProfileStatus: type: string enum: - NEW - REVIEW_IN_PROGRESS - INFORMATION_REQUESTED - APPROVED - DECLINED - SUSPENDED - TERMINATED ClientResults: description: The results of the client verification process. type: object properties: customerIdentityStatus: $ref: '#/components/schemas/CustomerIdentityStatus' required: - customerIdentityStatus AmexOptBlueMarketing: type: boolean description: 'Indicates whether the merchant has opted-in to American Express OptBlue marketing. - `true` – All Marketing (Merchant has not opted out of receiving marketing) - `false` – No Marketing (Merchant has opted out of receiving marketing) ' QuestionId: description: The ID uniquely identifying a question. type: string maxLength: 10 example: '30024' AttesterDesignation: description: The attester's held position in the client business. type: string maxLength: 255 example: Executive Secretary ParentPartyId: type: string minLength: 10 maxLength: 10 description: 'The parent party ID. ' ClientVerificationRequest: type: object properties: consumerDevice: $ref: '#/components/schemas/ConsumerDevice' OrganizationIndustry: type: object properties: codeType: type: string enum: - NAICS code: type: string example: '111140' description: Value of the industry code such as a 9 digit NAICS code minLength: 1 maxLength: 24 Active: type: boolean description: Whether the party is active or not. False if inactive. example: true LastName: type: string minLength: 1 maxLength: 40 example: Paprocki description: '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-zA-Z0-9\(\)_\/\&\+\%\@\#\;\,\.\:\ \-\'']*$`. ' CustomerIdentityStatus: description: The status of the customer identification process. type: string enum: - APPROVED - INFORMATION_REQUESTED - NOT_STARTED - REVIEW_IN_PROGRESS ClientListResponse: description: Collection of clients. type: object properties: metadata: $ref: '#/components/schemas/PageMetaData' clients: type: array items: $ref: '#/components/schemas/ClientSummaryResponse' minItems: 0 maxItems: 100 required: - metadata - clients ClientSummaryResponse: type: object properties: id: $ref: '#/components/schemas/ClientId' partyId: $ref: '#/components/schemas/PartyId' products: $ref: '#/components/schemas/ClientProductList' outstanding: type: object properties: attestationDocumentIds: $ref: '#/components/schemas/DocumentIdList' documentRequestIds: $ref: '#/components/schemas/DocumentRequestIdList' questionIds: $ref: '#/components/schemas/QuestionIdList' partyIds: $ref: '#/components/schemas/PartyIdList' partyRoles: $ref: '#/components/schemas/PartyRoleList' status: $ref: '#/components/schemas/ClientStatus' required: - id - partyId - products - outstanding - status UpdateClientRequestSmbdo: type: object properties: addAttestations: type: array deprecated: true items: $ref: '#/components/schemas/Attestation' minItems: 1 maxItems: 10 addProducts: $ref: '#/components/schemas/ClientProductList' addParties: description: 'Create a party by setting `parentPartyId` to the client''s root party. `partyType` and `roles` are required when creating a new party. ' type: array items: allOf: - $ref: '#/components/schemas/CreatePartyRequestInline' - $ref: '#/components/schemas/UpdatePartyRequestInline' minItems: 0 minLength: 1 maxLength: 10 consumerDevice: $ref: '#/components/schemas/ConsumerDevice' questionResponses: type: array items: $ref: '#/components/schemas/ClientQuestionResponse' minItems: 0 maxItems: 200 removeAttestations: type: array deprecated: true items: $ref: '#/components/schemas/AttestationRemoval' minItems: 1 maxItems: 10 PartyStatus: deprecated: true type: string enum: - ACTIVE - INACTIVE PhoneSmbdo: type: object required: - countryCode - phoneNumber properties: phoneType: type: string enum: - BUSINESS_PHONE - MOBILE_PHONE - ALTERNATE_PHONE countryCode: description: 'The phone number dialing code prefix for the country. The `+` symbol is optional, maximum 3 digits (e.g. `+852`). ' type: string example: '+1' minLength: 1 maxLength: 4 phoneNumber: description: The phone number value. type: string example: '7785462944' minLength: 7 maxLength: 14 description: Phone number information of the party. SocialMedia: type: object properties: profilePlatform: description: 'The platform of the social media profile. | Platform | Description | | -- | -- | | FACEBOOK | Facebook, the social media profile at facebook.com. | | INSTAGRAM | Instagram, the social media profile at instagram.com. | | X | X (formerly known as Twitter), the social media profile at x.com. | ' type: string enum: - FACEBOOK - INSTAGRAM - X username: description: The social media username. This field should contain only alphanumeric characters and underscores. example: john_doe123 type: string maxLength: 50 minLength: 1 required: - profilePlatform - username DocumentId: description: 'The unique id generated by the system for the uploaded document, which can be used for future retrieval. ' type: string format: uuid example: abcd1c1d-6635-43ff-a8e5-b252926bddef FirstName: type: string minLength: 1 maxLength: 40 example: Lenna description: '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 `''^[a-zA-Z0-9\(\)_\/\&\+\%\@\#\;\,\.\:\ \-\'']*$''`. ' ConsumerDevice: description: Consumer device information provided by the merchant. It is only returned when present in the create or update client requests. type: object properties: ipAddress: description: IPv4 address of the consumer device. type: string format: ipv4 sessionId: description: 'The unique session identifier of the device that was created by the client. It can be up to 128 characters long and can contain only the following characters: uppercase and lowercase Roman letters, digits, underscore characters, and hyphens (a–z, A–Z, 0–9, _, -). The session ID should contain at least 16 bytes of randomly generated data. ' type: string pattern: ^[a-zA-Z0-9_-]+$ DefaultLanguagePreferenceEnum: description: '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 language preference after the verifications process begins are not reflected in this field. ' type: string minLength: 5 maxLength: 5 enum: - en-US - fr-CA DocumentIdList: description: A list of document IDs. type: array items: $ref: '#/components/schemas/DocumentId' minItems: 0 maxItems: 10 AccessList: deprecated: true description: List of user access descriptors. type: array items: type: string minItems: 0 maxItems: 10 DbaName: description: '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 `^[a-zA-Z0-9\(\)_\/\&\+\%\@\#\;\,\.\:\ \-\'']*$`. ' type: string minLength: 1 maxLength: 100 CreatePartyRequestInlineRequired: description: Create a party within the clients payload. allOf: - $ref: '#/components/schemas/CreatePartyRequestInline' required: - partyType - roles WebsiteAvailable: description: Whether the party has a website. False if opted out. type: boolean deprecated: true ClientProduct: description: 'Client Product Table: | Product | Description | | -- | -- | | EMBEDDED_PAYMENTS | Create and manage embedded bank accounts | | MERCHANT_SERVICES | JPMorgan solution for online or point-of-sale payment processing | ' type: string enum: - MERCHANT_SERVICES - EMBEDDED_PAYMENTS PartyIdList: description: A list of party IDs. type: array items: $ref: '#/components/schemas/PartyId' minItems: 0 maxItems: 15 DiscoverMerchantId: description: 'The ID that identifies the merchant account when processing with Discover. ' type: string AddressDto: description: An address. type: object required: - addressLines - city - country - postalCode properties: addressType: type: string enum: - LEGAL_ADDRESS - MAILING_ADDRESS - BUSINESS_ADDRESS - RESIDENTIAL_ADDRESS example: BUSINESS_ADDRESS description: Type of address. Organizations must use `LEGAL_ADDRESS` or `BUSINESS_ADDRESS`. addressLines: description: 'The address lines. Post-office boxes (PO Box), private mail boxes (PMB), virtual office and registered agent addresses are not allowed. The address has to be the be principal place of business. Each line has a maximum of 60 characters. The line format is enforced with the pattern `^[a-zA-Z0-9\(\)\-\/\.\,\&_\''\ \#]*$`. ' type: array minItems: 1 maxItems: 5 items: type: string description: 'Address line items. The format is enforced with the pattern `^[a-zA-Z0-9\(\)\-\/\.\,\&_\''\ \#]*$`. ' minLength: 1 maxLength: 60 example: - 689 Main St - Opposite St. Andrews Church - Mini York city: type: string maxLength: 40 example: Anchorage description: City has a maximum of 40 characters. City would serve as County in countries where applicable. state: type: string minLength: 1 maxLength: 3 example: AZ description: 'The 2-3 character length state code should be provided in alpha-2 format, adhering to [ISO-3166-2](https://www.iso.org/obp/ui/#search/code/). State is mandatory in the US. In Great Britain, for example, the City of London would be LND. State would serve as Province in countries where applicable. ' postalCode: type: string minLength: 1 maxLength: 10 example: '99501' description: Postal/ZIP code. country: type: string example: US description: Country code in alpha-2 format. minLength: 2 maxLength: 2 NetworkRegistration: description: Network registration configuration. type: object properties: settlementPaymentMethods: description: The selection of method of payments used in network registration. type: array items: $ref: '#/components/schemas/SettlementPaymentMethods' maxItems: 3 minItems: 1 settlementPaymentMethodsOptOut: description: 'The opting out of settlement payment method selection. Required to specify true if the merchant is not selecting any settlement payment method. ' type: boolean visaDebitAcceptance: $ref: '#/components/schemas/VisaDebitAcceptance' currencyCode: $ref: '#/components/schemas/NetworkRegistrationCurrencyCode' transactionDeviceType: $ref: '#/components/schemas/TransactionDeviceType' serviceEstablishmentStatus: $ref: '#/components/schemas/ServiceEstablishmentStatus' serviceEstablishmentStatusUpdateDate: description: 'The last update date of the service establishment status. Required if the service establishment status is provided. ' type: string format: date example: '2023-12-13' discoverDebtRepayment: $ref: '#/components/schemas/DiscoverDebtRepayment' amexOptBlueMarketing: $ref: '#/components/schemas/AmexOptBlueMarketing' jcbAccepted: $ref: '#/components/schemas/JcbAccepted' amexSellerId: $ref: '#/components/schemas/AmexSellerId' discoverMerchantId: $ref: '#/components/schemas/DiscoverMerchantId' amexOptBlueServiceEstablishmentNumber: $ref: '#/components/schemas/AmexOptBlueServiceEstablishmentNumber' DiscoverDebtRepayment: description: 'Indicates if the merchant will be accepting Discover cards as a part of Discover''s consumer debt repayment program. ' type: boolean Attester: description: The details of the attester. type: object properties: firstName: $ref: '#/components/schemas/AttesterFirstName' middleName: $ref: '#/components/schemas/AttesterMiddleName' lastName: $ref: '#/components/schemas/AttesterLastName' designation: $ref: '#/components/schemas/AttesterDesignation' required: - firstName - lastName - designation CreateClientRequestSmbdo: type: object properties: attestations: type: array items: $ref: '#/components/schemas/Attestation' minItems: 1 maxItems: 10 consumerDevice: $ref: '#/components/schemas/ConsumerDevice' parties: type: array items: $ref: '#/components/schemas/CreatePartyRequestInlineRequired' minItems: 1 maxItems: 10 partyId: $ref: '#/components/schemas/PartyId' products: $ref: '#/components/schemas/ClientProductList' required: - products SocialMediaUrl: description: Social media profile URL. type: string maxLength: 100 minLength: 1 pattern: ^[A-Za-z0-9-_:.,;!?~*'()/=+&%@#]+$ example: https://instagram.com/ericforemanmedical95 Email: type: string example: client@company.com description: '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) + 1 character (`@` symbol) + 255 characters (domain part), e.g.: "local@domain.com". ' minLength: 0 maxLength: 320 TransactionDeviceType: type: string description: 'The mechanism used to provide details at the merchant''s terminal for transactions. Required when DISCOVER is selected. ' enum: - HOST_BASED_POS_DEVICE - TERMINAL_BASED_POS_DEVICE - SOFTWARE_POS_DEVICE - ALL_OTHER_POS_DEVICES - UNKNOWN ValidationStatus: type: string description: 'Status of a party validation. Missing fields result in `NEEDS_INFO`. ' enum: - NOT_STARTED - IN_PROGRESS - NOT_VALIDATED - NEEDS_INFO - NEEDS_REVIEW - VALIDATED CountryCodeIsoAlpha2: type: string example: US description: Country code in ISO alpha-2 format. minLength: 2 maxLength: 2 SettlementPaymentMethods: type: string description: The method of payment used in network registration. enum: - VISA - AMEX_OPT_BLUE - DISCOVER Website: type: string description: Name/URL of the website minLength: 1 maxLength: 500 example: https://example.com CreatePartyRequestInline: description: Create a party within the clients payload. type: object properties: access: $ref: '#/components/schemas/AccessList' email: $ref: '#/components/schemas/Email' externalId: $ref: '#/components/schemas/ExternalId' parentPartyId: $ref: '#/components/schemas/ParentPartyId' partyType: $ref: '#/components/schemas/PartyType' roles: $ref: '#/components/schemas/PartyRoleList' individualDetails: $ref: '#/components/schemas/IndividualDetailsRequired' organizationDetails: $ref: '#/components/schemas/OrganizationDetailsRequired' preferences: description: The preferences of the party. type: object properties: defaultLanguage: $ref: '#/components/schemas/DefaultLanguagePreferenceEnum' 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 EntitiesInOwnership: description: 'Entities in ownership means that one or more businesses own part of the business connected to the client. ' type: boolean DocumentRequestIdList: description: A list of document request IDs. type: array items: example: '1000001' type: string maxLength: 30 minItems: 0 maxItems: 10 OrganizationIndustryCategory: type: string example: Accommodation and Food Services description: 'The industry category of the business connected to the client. For example, `Accommodation and Food Services`. You can use the [Industry Descriptor Reference](https://developer.payments.jpmorgan.com/docs/embedded-finance-solutions/embedded-payments/capabilities/onboard-a-client/how-to/industry-descriptor-reference) to get a list of acceptable values. ' minLength: 0 OrganizationIndustryType: type: string example: Bed And Breakfast Inns description: 'The industry type of the business connected to the client. You can use the [Industry Descriptor Reference](https://developer.payments.jpmorgan.com/docs/embedded-finance-solutions/embedded-payments/capabilities/onboard-a-client/how-to/industry-descriptor-reference) to get a list of acceptable values. ' minLength: 0 PartyField: description: A party field. It refers to either a missing field or a field that needs to be updated. type: object properties: name: type: string description: Name of the field. example: addresses type: type: string description: Type of the field. example: address displayName: type: string description: Display name of the field. ClientId: description: A client's unique ID example: '9000000333' type: string maxLength: 10 AttesterMiddleName: description: The middle name of an individual. type: string maxLength: 255 OrganizationDescription: type: string example: Printing Service of New York description: The organization's description. minLength: 10 maxLength: 1000 NatureOfOwnership: type: string example: Direct description: 'Nature of ownership. Allowed values are: `Direct`, `Indirect`. ' PartyId: type: string maxLength: 10 example: '2000005555' pattern: ^[0-9]{10}$ description: 'Organization/Individual party id, that uniquely identifies the party. ' AttesterLastName: description: The last name of an individual. type: string maxLength: 255 AttesterFirstName: description: The first name of an individual. type: string maxLength: 255 IndividualIdentity: description: An individual's identification. For Merchant_Services product in Canada, individual party ID is optional. type: object required: - idType - value - issuer properties: description: deprecated: true description: Description of the ID. type: string minLength: 1 maxLength: 255 expiryDate: type: string format: date deprecated: true idType: type: string example: SSN enum: - SSN - ITIN - NATIONAL_ID - DRIVERS_LICENSE - PASSPORT - SOCIAL_INSURANCE_NUMBER - OTHER_GOVERNMENT_ID description: '`idType` denotes the type of taxpayer identification number (e.g. Social Security Number or Individual Taxpayer Identification Number). A Social Security Number or Individual Taxpayer Identification Number is accepted for an owner or controller individual. Decision makers do not require any tax identifier. ' issuer: type: string example: US description: Identification issuer country code e.g. US minLength: 2 maxLength: 2 value: type: string pattern: ^[A-Za-z0-9\-\/\.\s\+&]*$ example: '100010001' description: Please enter a valid Government ID value. SSN/EIN/ITIN must be of 9 digits for US. The length for other Government ID values >= 1 characters<= 20 characters minLength: 1 maxLength: 20 examples: CreateClient: summary: Create a Client description: Create a Client value: parties: - partyType: ORGANIZATION externalId: TCU1234 email: monica@cpgetaways.com roles: - CLIENT organizationDetails: organizationName: Central Park Getaways organizationType: SOLE_PROPRIETORSHIP organizationDescription: Relax, unwind and experience the comforting charm of our apartment while exploring New York countryOfFormation: US yearOfFormation: '2023' dbaName: CP Getaways industryCategory: Accommodation and Food Services industryType: All Other Traveler Accommodation entitiesInOwnership: false addresses: - addressType: BUSINESS_ADDRESS addressLines: - 90 Bedford Street - Apt 2E city: New York state: NY postalCode: '10014' country: US phone: phoneType: BUSINESS_PHONE phoneNumber: '6316215110' countryCode: US organizationIds: - idType: EIN value: '000000001' issuer: US websiteAvailable: false - partyType: INDIVIDUAL externalId: TCU12344 email: monicagellar@gmail.com roles: - CONTROLLER - BENEFICIAL_OWNER individualDetails: firstName: Monica lastName: Gellar countryOfResidence: US natureOfOwnership: Direct jobTitle: Other jobTitleDescription: CEO soleOwner: true addresses: - addressType: RESIDENTIAL_ADDRESS addressLines: - 90 Bedford Street - Apt 2E city: New York state: NY postalCode: '10014' country: US individualIds: - idType: SSN issuer: US value: '100010001' products: - EMBEDDED_PAYMENTS ClientVerificationResponseWithConsumerDevice: summary: Verification requested with consumer device description: Verification requested with consumer device value: acceptedAt: '2024-01-20T10:00:00.000Z' consumerDevice: ipAddress: 159.53.174.248 sessionId: decab529-d10e-4730-8572-38906a967d12 ClientVerificationRequest: summary: Request verification description: Request verification value: {} UpdateClientCA: summary: Update a client for CA description: Update a client for CA with attestations and question responses. value: addAttestations: - attester: firstName: James lastName: Wilson designation: Executive Secretary attestationTime: '2024-01-20T14:00:00Z' documentId: 745ed6ce-c9e4-4d89-a1f9-74865e12cfc6 ipAddress: 1.1.1.1 - attester: firstName: James lastName: Wilson designation: Executive Secretary attestationTime: '2024-01-20T14:00:00Z' documentId: dccd408e-4d75-4162-a6a8-98cfa7f9db2d ipAddress: 1.1.1.1 questionResponses: - questionId: '30005' values: - '1000' - questionId: '30111' values: - 'false' consumerDevice: ipAddress: 159.53.174.248 sessionId: decab529-d10e-4730-8572-38906a967d12 UpdateClient: summary: Update a client description: Update a client with attestations and question responses. value: addAttestations: - attesterFullName: Monica Gellar attestationTime: '2023-10-19T17:28:11.232Z' documentId: 62d29548-f55a-458e-b9bb-ed32a6a05a1b ipAddress: 1.1.1.1 questionResponses: - questionId: '300001' values: - US - questionId: '300002' values: - 'true' - questionId: '300003' values: - 'true' UpdateClientResponse: summary: Update client description: Update client value: id: '1000010400' attestations: - attesterFullName: Monica Gellar attestationTime: '2023-10-19T12:28:11.232Z' documentId: 62d29548-f55a-458e-b9bb-ed32a6a05a1b ipAddress: 1.1.1.1 consumerDevice: ipAddress: 159.53.174.248 sessionId: decab529-d10e-4730-8572-38906a967d12 parties: - id: '2000000111' partyType: ORGANIZATION externalId: TCU1234 email: monica@cpgetaways.com roles: - CLIENT profileStatus: APPROVED status: ACTIVE createdAt: '2023-10-31T00:23:45.502Z' organizationDetails: organizationType: SOLE_PROPRIETORSHIP organizationName: Central Park Getaways dbaName: CP Getaways organizationDescription: Relax, unwind and experience the comforting charm of our apartment while exploring New York industryCategory: Accommodation and Food Services industryType: All Other Traveler Accommodation countryOfFormation: US entitiesInOwnership: false addresses: - addressType: BUSINESS_ADDRESS addressLines: - 90 Bedford Street - Apt 2E city: New York state: NY postalCode: '10014' country: US phone: phoneType: BUSINESS_PHONE countryCode: US phoneNumber: '6316215110' organizationIds: - idType: EIN issuer: US value: '000000001' websiteAvailable: false - id: '2000000112' partyType: INDIVIDUAL parentPartyId: '2000000111' parentExternalId: TCU1234 externalId: TCU12344 email: monica@cpgetaways.com profileStatus: APPROVED status: ACTIVE createdAt: '2023-10-31T00:23:45.502Z' roles: - CONTROLLER - BENEFICIAL_OWNER individualDetails: firstName: Monica lastName: Gellar countryOfResidence: US natureOfOwnership: Direct jobTitle: Other jobTitleDescription: CEO soleOwner: true addresses: - addressType: RESIDENTIAL_ADDRESS addressLines: - 90 Bedford Street - Apt 2E city: New York state: NY postalCode: '10014' country: US individualIds: - idType: SSN issuer: US value: '100010001' createdAt: '2023-10-31T00:02:15.499Z' partyId: '2000000111' products: - EMBEDDED_PAYMENTS outstanding: attestationDocumentIds: [] documentRequestIds: [] partyIds: [] partyRoles: [] questionIds: [] questionResponses: - questionId: '300001' value: - US - questionId: '300002' value: - 'true' - questionId: '300003' value: - 'true' results: customerIdentityStatus: APPROVED status: APPROVED GetClientResponse: summary: Get client By id description: Get client By id value: id: '1000010400' attestations: - attesterFullName: Monica Gellar attestationTime: '2023-10-19T12:28:11.232Z' documentId: 62d29548-f55a-458e-b9bb-ed32a6a05a1b ipAddress: 1.1.1.1 parties: - id: '2000000111' partyType: ORGANIZATION externalId: TCU1234 email: monica@cpgetaways.com roles: - CLIENT profileStatus: APPROVED status: ACTIVE createdAt: '2023-10-31T00:20:09.401Z' organizationDetails: organizationType: SOLE_PROPRIETORSHIP organizationName: Central Park Getaways dbaName: CP Getaways organizationDescription: Relax, unwind and experience the comforting charm of our apartment while exploring New York industryCategory: Accommodation and Food Services industryType: All Other Traveler Accommodation countryOfFormation: US yearOfFormation: '2023' entitiesInOwnership: false addresses: - addressType: BUSINESS_ADDRESS addressLines: - 90 Bedford Street - Apt 2E city: New York state: NY postalCode: '10014' country: US phone: phoneType: BUSINESS_PHONE countryCode: US phoneNumber: '6316215110' organizationIds: - idType: EIN issuer: US value: '000000001' websiteAvailable: false - id: '2000000112' partyType: INDIVIDUAL parentPartyId: '2000000111' parentExternalId: TCU1234 externalId: TCU12344 email: monica@cpgetaways.com profileStatus: APPROVED status: ACTIVE createdAt: '2023-10-31T00:20:09.401Z' roles: - CONTROLLER - BENEFICIAL_OWNER individualDetails: firstName: Monica lastName: Gellar countryOfResidence: US natureOfOwnership: Direct jobTitle: Other jobTitleDescription: CEO soleOwner: true addresses: - addressType: RESIDENTIAL_ADDRESS addressLines: - 90 Bedford Street - Apt 2E city: New York state: NY postalCode: '10014' country: US individualIds: - idType: SSN issuer: US value: '100010001' createdAt: '2023-10-31T00:02:15.499Z' partyId: '2000000111' products: - EMBEDDED_PAYMENTS outstanding: attestationDocumentIds: [] documentRequestIds: [] partyIds: [] partyRoles: [] questionIds: [] questionResponses: [] results: customerIdentityStatus: APPROVED status: APPROVED CreateClientResponse: summary: Create Client description: Create Client response with outstanding attestations, party roles, and questions. value: id: '1000010400' attestations: [] parties: - id: '2000000111' partyType: ORGANIZATION externalId: TCU1234 email: monica@cpgetaways.com roles: - CLIENT profileStatus: NEW status: ACTIVE createdAt: '2023-10-31T00:02:15.499Z' organizationDetails: organizationType: SOLE_PROPRIETORSHIP organizationName: Central Park Getaways dbaName: CP Getaways organizationDescription: Relax, unwind and experience the comforting charm of our apartment while exploring New York industryCategory: Accommodation and Food Services industryType: All Other Traveler Accommodation countryOfFormation: US yearOfFormation: '2023' entitiesInOwnership: false addresses: - addressType: BUSINESS_ADDRESS addressLines: - 90 Bedford Street - Apt 2E city: New York state: NY postalCode: '10014' country: US phone: phoneType: BUSINESS_PHONE countryCode: US phoneNumber: '6316215110' organizationIds: - idType: EIN issuer: US value: '000000001' websiteAvailable: false - id: '2000000112' partyType: INDIVIDUAL parentPartyId: '2000000111' parentExternalId: TCU1234 externalId: TCU12344 email: monicagellar@gmail.com roles: - CONTROLLER - BENEFICIAL_OWNER profileStatus: NEW status: ACTIVE createdAt: '2023-10-31T00:02:15.499Z' individualDetails: firstName: Monica lastName: Gellar countryOfResidence: US natureOfOwnership: Direct jobTitle: Other jobTitleDescription: CEO soleOwner: true addresses: - addressType: RESIDENTIAL_ADDRESS addressLines: - 90 Bedford Street - Apt 2E city: New York state: NY postalCode: '10014' country: US individualIds: - idType: SSN issuer: US value: '100010001' createdAt: '2023-10-31T00:02:15.499Z' partyId: '2000000111' consumerDevice: ipAddress: 159.53.174.248 sessionId: decab529-d10e-4730-8572-38906a967d12 products: - EMBEDDED_PAYMENTS outstanding: attestationDocumentIds: - 62d29548-f55a-458e-b9bb-ed32a6a05a1b documentRequestIds: [] partyIds: [] partyRoles: [] questionIds: - '300001' - '300002' - '300003' questionResponses: [] status: NEW ClientVerificationResponse: summary: Verification requested description: Verification requested value: acceptedAt: '2024-01-20T10:00:00.000Z' ClientListResponse: summary: List of clients description: Retrieve list of clients. value: metadata: page: 0 limit: 25 total: 4 clients: - id: '1000010400' partyId: '2000000111' products: - EMBEDDED_PAYMENTS outstanding: attestationDocumentIds: [] documentRequestIds: [] partyIds: [] partyRoles: [] questionIds: [] status: APPROVED - id: '1000010401' partyId: '2000000222' products: - EMBEDDED_PAYMENTS outstanding: attestationDocumentIds: - 851e9279-f619-4069-893b-d6902db9c68b documentRequestIds: [] partyIds: [] partyRoles: [] questionIds: - '300001' status: NEW ClientVerificationRequestWithConsumerDevice: summary: Request verification with consumer device description: Request verification with consumer device value: consumerDevice: ipAddress: 159.53.174.248 sessionId: decab529-d10e-4730-8572-38906a967d12 CreateClientForCAMerchantServices: summary: Create a Client for CA description: Create a Client for CA value: products: - MERCHANT_SERVICES consumerDevice: ipAddress: 159.53.174.248 sessionId: decab529-d10e-4730-8572-38906a967d12 parties: - roles: - CLIENT externalId: TCU1234 email: contact@ppthospital.gmail.com partyType: ORGANIZATION organizationDetails: countryOfFormation: CA yearOfFormation: '1984' organizationType: LIMITED_LIABILITY_PARTNERSHIP organizationName: Princeton Plainsboro Teaching Hospital dbaName: PPT Hospital organizationDescription: Teaching the latest medical best practices. socialMedia: - profilePlatform: FACEBOOK username: Princeton_Plainsboro_Teaching_Hospital industry: code: '423450' codeType: NAICS organizationIds: - idType: BUSINESS_NUMBER value: '865103741' issuer: CA - idType: BUSINESS_REGISTRATION_NUMBER value: '101803575124114' issuer: CA addresses: - addressType: BUSINESS_ADDRESS addressLines: - 218 Medical Way city: Princeton state: BC country: CA postalCode: 1N1 N1N phone: phoneType: BUSINESS_PHONE phoneNumber: '5553331234' countryCode: '+1' website: https://ppthospital.com - roles: - CONTROLLER partyType: INDIVIDUAL individualDetails: countryOfResidence: CA firstName: Eric lastName: Foreman birthDate: '1990-01-20' socialMedia: - profilePlatform: FACEBOOK username: Eric_Foreman_FACEBOOK individualIds: - idType: SOCIAL_INSURANCE_NUMBER value: '333222444' issuer: CA addresses: - addressType: RESIDENTIAL_ADDRESS addressLines: - 123 Tulameen St - Unit 600 city: Princeton state: BC country: CA postalCode: 1N1 N1N phone: phoneType: MOBILE_PHONE phoneNumber: '5553332345' countryCode: '+1' 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. '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. 202_verifications: description: Request was accepted content: application/json: schema: $ref: '#/components/schemas/ClientVerificationResponse' examples: ClientVerificationResponse: $ref: '#/components/examples/ClientVerificationResponse' ClientVerificationResponseWithConsumerDevice: $ref: '#/components/examples/ClientVerificationResponseWithConsumerDevice' '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. '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. parameters: TokenInHeader: name: token in: header description: JWT Client token required: false schema: type: string minLength: 1 maxLength: 8192 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 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