openapi: 3.0.1 info: title: Embedded Banking Solutions API version: 1.0.8 description: Embedded Banking Solutions services from J.P. Morgan contact: name: JPMC Technical Services Support servers: - url: https://apigateway.jpmorgan.com/tsapi/ef/v1 description: JPM-PROD - Embedded Payments - url: https://api-mock.payments.jpmorgan.com/tsapi/ef/v1 description: JPM-PROD - Embedded Payments Mock - url: https://apigatewaycat.jpmorgan.com/tsapi/ef/v1 description: JPM-CAT - Embedded Payments tags: - name: Clients EB description: Onboard and manage clients. - name: Documents EB description: Manage document upload and retrieval. - name: Users description: Manage users of a profile. - name: Accounts description: Create, organize and manage accounts. - name: Debit Cards description: Request and manage debit cards. - name: Recipients description: Set up and manage who can be paid through transactions. - name: Transactions EB description: Initiate and track the movement of funds, including payments. - name: Statements description: Access monthly statements for accounts. - name: Cases description: Create and manage support request cases for users. - name: Billing description: View billing configuration - name: Webhooks description: Create and manage webhook subscriptions for your platform. - name: Faq description: Retrieve general FAQ content and FAQ content unique to your platform. - name: Reference Data description: Access reference data to populate experiences, such as onboarding. - name: Payment Intents description: Setup and manage payment intents. paths: /clients: x-eb-only: true get: tags: - Clients EB summary: List clients description: Returns a list of Embedded Finance clients associated with your platform. operationId: getAllClients parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNo' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/ListClientInformationResponse' examples: ListClientInformationRes: $ref: '#/components/examples/ListClientInformationRes' '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: tags: - Clients EB summary: Create client description: Creates a new client. operationId: postClients parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateClientRequest' examples: CreateClientSolePropReq: $ref: '#/components/examples/CreateClientSolePropReq' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ClientInformationResponse' examples: CreateClientSolePropRes: $ref: '#/components/examples/CreateClientSolePropRes' '201': description: Created. content: application/json: schema: $ref: '#/components/schemas/ClientInformationResponse' examples: CreateClientSolePropRes: $ref: '#/components/examples/CreateClientSolePropRes' '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' /clients/{id}: x-eb-only: true get: tags: - Clients EB summary: Get client description: Returns details for a specific client using their unique identifier. operationId: getClientDetails parameters: - $ref: '#/components/parameters/token' - name: id in: path description: Unique identifier for a client. required: true style: simple schema: type: string example: '1000010400' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/ClientInformationResponse' examples: SkeletonClientClientShouldRetrieveItsOwnInformationRes: $ref: '#/components/examples/SkeletonClientClientShouldRetrieveItsOwnInformationRes' '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: tags: - Clients EB summary: Update client description: Updates information about a specified client. operationId: updateClients parameters: - $ref: '#/components/parameters/token' - name: id in: path description: Unique identifier for a client. required: true example: '1000010400' style: simple schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateClientRequest' examples: UpdateClientReq: $ref: '#/components/examples/UpdateClientReq' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateClientResponse' examples: UpdateClientRes: $ref: '#/components/examples/UpdateClientRes' '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' /clients/{id}/verifications: x-eb-only: true get: summary: Get client verifications description: Get current and outstanding verifications for a given client. These tell clients what is required to complete onboarding. tags: - Clients EB operationId: getClientVerification parameters: - $ref: '#/components/parameters/token' - in: path name: id description: Unique identifier for a client. example: '1000010400' schema: type: string required: true responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/ClientVerificationsInformationResponse' examples: ClientSubmittedVerificationsSuccessfully: $ref: '#/components/examples/ClientSubmittedVerificationsSuccessfully' ClientVerificationResponseWhenIdentityVerificationFailedForClient: $ref: '#/components/examples/ClientVerificationResponseWhenIdentityVerificationFailedForClient' '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: summary: Add client verifications description: Adds verification information provided by the client to continue onboarding. operationId: addClientVerification tags: - Clients EB parameters: - $ref: '#/components/parameters/token' - in: path name: id description: Unique identifier for a client. schema: type: string required: true example: '1000011659' requestBody: description: Client verification to add to the system. content: application/json: schema: $ref: '#/components/schemas/ClientVerificationsInformationRequest' examples: ClientShouldSuccessfullyPostVerificationAnswersReq: $ref: '#/components/examples/ClientShouldSuccessfullyPostVerificationAnswersReq' required: true responses: '201': description: Created. content: application/json: schema: $ref: '#/components/schemas/ClientVerificationsInformationResponse' examples: ClientShouldSuccessfullyPostVerificationAnswersRes: $ref: '#/components/examples/ClientShouldSuccessfullyPostVerificationAnswersRes' '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' /users: x-eb-only: true get: tags: - Users summary: List users description: Retrieves list of users for a client. The API by default retrieves a lighter version of data. operationId: getAllUsers parameters: - $ref: '#/components/parameters/userToken' - $ref: '#/components/parameters/userFetchLevel' - $ref: '#/components/parameters/userPageSize' - $ref: '#/components/parameters/userPageNo' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/ListUserResponse' examples: ListUsersWithResources: $ref: '#/components/examples/ListUsersWithResources' '400': $ref: '#/components/responses/user400ClientId' '401': $ref: '#/components/responses/user401' '403': $ref: '#/components/responses/user403' '500': $ref: '#/components/responses/user500' '501': $ref: '#/components/responses/user501' '503': $ref: '#/components/responses/user503' post: tags: - Users summary: Create user description: Creates a new user. This API is developed to enable clients to create a user for accessing and managing resources for that client. The payload has a property partyId. This partyId is used to add an existing party as a user. Phone field is optional when partyId is provided. When partyId is not provided, then phone field should be populated. When providing a role, if the role is a DEBIT_CARD_HOLDER then the resourceType and resourceId and action should be provided. operationId: postUsers parameters: - $ref: '#/components/parameters/userToken' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateUserRequest' examples: CreateUserExistingParty: $ref: '#/components/examples/CreateUserExistingParty' CreateUserNewParty: $ref: '#/components/examples/CreateUserNewParty' responses: '201': description: Created. content: application/json: schema: $ref: '#/components/schemas/UserResponse' examples: GetUser: $ref: '#/components/examples/GetUser' '400': $ref: '#/components/responses/user400' '401': $ref: '#/components/responses/user401' '403': $ref: '#/components/responses/user403' '500': $ref: '#/components/responses/user500' '501': $ref: '#/components/responses/user501' '503': $ref: '#/components/responses/user503' /users/{id}: x-eb-only: true get: tags: - Users summary: Get user description: Retrieves details for a specific user. operationId: getUserDetails parameters: - $ref: '#/components/parameters/userToken' - $ref: '#/components/parameters/userId' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/UserResponse' examples: GetUser: $ref: '#/components/examples/GetUser' '401': $ref: '#/components/responses/user401' '403': $ref: '#/components/responses/user403' '404': $ref: '#/components/responses/user404' '500': $ref: '#/components/responses/user500' '501': $ref: '#/components/responses/user501' '503': $ref: '#/components/responses/user503' post: tags: - Users summary: Update user description: Updates information about user. For additional users only, full details like name, email, address phone and role can be updated. operationId: updateUserById parameters: - $ref: '#/components/parameters/userToken' - $ref: '#/components/parameters/userId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateUserRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserResponse' '400': $ref: '#/components/responses/user400' '401': $ref: '#/components/responses/user401' '403': $ref: '#/components/responses/user403' '500': $ref: '#/components/responses/user500' '501': $ref: '#/components/responses/user501' '503': $ref: '#/components/responses/user503' /roles: x-eb-only: true get: tags: - Roles summary: List all roles description: Retrieves a list of roles operationId: getAllRoles parameters: - $ref: '#/components/parameters/userToken' - $ref: '#/components/parameters/userPageSize' - $ref: '#/components/parameters/userPageNo' - $ref: '#/components/parameters/userRole' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/ListRoleResponse' examples: ListAllRoles: $ref: '#/components/examples/ListAllRoles' FetchRolByRoleName: $ref: '#/components/examples/FetchRolByRoleName' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/UserApiError' example: error: BAD_REQUEST message: Error in Request Formatting reasons: - reason: INVALID_HEADER_CLIENT_ID field: client_id rejectedValue: '003000013' message: clientId must be an integer, min and max length of 10 and must not start with 000 '401': $ref: '#/components/responses/user401' '403': $ref: '#/components/responses/user403' '500': $ref: '#/components/responses/user500' '501': $ref: '#/components/responses/user501' '503': $ref: '#/components/responses/user503' /documents: x-eb-only: true get: summary: Get details of documents of a specified type description: Returns details of documents and their ids based on the product and jurisdiction for a client. operationId: documentsDetails tags: - Documents EB parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/documentType' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNo' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/ListDocumentsDetailsResponse' examples: LatestClientDocumentDetailResponseByDocumentType: $ref: '#/components/examples/LatestClientDocumentDetailResponseByDocumentType' '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' /documents/{id}: x-eb-only: true get: summary: Retrieve details of a document description: Retrieves details of a document using the document unique identifier. operationId: getDocumentDetails tags: - Documents EB parameters: - $ref: '#/components/parameters/token' - in: path name: id description: Document unique identifier. example: 62d29548-f55a-458e-b9bb-ed32a6a05a1b schema: type: string format: uuid required: true responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/DocumentDetails' examples: GetDocumentDetailsByDocumentIdExampleForTermsAndConditions: $ref: '#/components/examples/GetDocumentDetailsByDocumentIdExampleForTermsAndConditions' GetDocumentDetailsByDocumentIdExampleForCIPDocument: $ref: '#/components/examples/GetDocumentDetailsByDocumentIdExampleForCIPDocument' '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' /documents/{id}/file: x-eb-only: true get: summary: Download a document description: Download a document using the document unique identifier. operationId: downloadDocument tags: - Documents EB parameters: - $ref: '#/components/parameters/token' - in: path name: id description: Document unique identifier. example: 73bd1c1d-6635-43ff-a8e5-b252926bddba schema: type: string format: uuid required: true 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 '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' /debit-cards: x-eb-only: true get: summary: List cards description: Returns a list of debit cards for a specific client. operationId: getDebitCards parameters: - $ref: '#/components/parameters/token' - in: query name: page description: Current page number. schema: type: integer default: 0 required: false examples: Default: value: 0 - in: query name: limit description: Number of records per page. schema: type: integer default: 25 required: false examples: Default: value: 25 responses: '200': description: List debit cards content: application/json: schema: $ref: '#/components/schemas/DebitCardsResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': description: ERROR. content: application/json: schema: $ref: '#/components/schemas/CardDetailsErrorResponse' '503': description: ERROR. content: application/json: schema: $ref: '#/components/schemas/CardDetailsErrorResponse' tags: - Debit Cards post: summary: Create debit card description: Creates a new debit card. operationId: createDebitCard parameters: - $ref: '#/components/parameters/token' requestBody: required: true description: Customer account details required to create a new debit card. content: application/json: schema: $ref: '#/components/schemas/CreateDebitCardRequest' examples: createDebitCardPayload: $ref: '#/components/examples/createDebitCardRequestPayload' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CreateDebitCardResponse' examples: createDebitCardResponsePayload: $ref: '#/components/examples/createDebitCardResponsePayload' '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' tags: - Debit Cards /debit-cards/{id}: x-eb-only: true get: summary: Get card description: Returns card ID and iFrame link for virtual card details for a specific card. operationId: getDebitCard parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/debitCardIdInPath' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CardDetailResponse' '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' tags: - Debit Cards post: summary: Update card description: Updates card details, such as PIN reset or to lock a lost card. operationId: updateCard parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/debitCardIdInPath' requestBody: description: Card update info required to either set/reset PIN, lock/unlock card set card as replaced, or set card as cancelled. required: true content: application/json: schema: $ref: '#/components/schemas/CardUpdateRequest' examples: setPinPayload: $ref: '#/components/examples/setPinPayload' setCardLockedPayload: $ref: '#/components/examples/setCardLockedPayload' setCardReplacedPayload: $ref: '#/components/examples/setCardReplacedPayload' setCardCancelledPayload: $ref: '#/components/examples/setCardCancelledPayload' setMaxSpendLimit: $ref: '#/components/examples/setMaxSpendLimit' setMaxCashWithdrawalLimit: $ref: '#/components/examples/setMaxCashWithdrawalLimit' clearCashWithdrawalAndDailySpendLimit: $ref: '#/components/examples/clearCashWithdrawalAndDailySpendLimit' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CardUpdateResponse' '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' tags: - Debit Cards /debit-cards/{id}/lock: x-eb-only: true post: summary: Lock a Debit Card description: Lock a card, blocks transactions operationId: lockDebitCard parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/debitCardIdInPath' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CardUpdateResponse' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' tags: - Debit Cards /debit-cards/{id}/unlock: x-eb-only: true post: summary: Unlock a Debit Card description: Unlock a card, allows transactions operationId: unlockDebitCard parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/debitCardIdInPath' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CardUpdateResponse' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' tags: - Debit Cards /debit-cards/{id}/cancel: x-eb-only: true post: summary: Cancel a Debit Card description: Cancel a card without issuing a replacement. operationId: cancelDebitCard parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/debitCardIdInPath' requestBody: description: Info required to cancel. required: true content: application/json: schema: $ref: '#/components/schemas/CardCancelRequest' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CardUpdateResponse' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' tags: - Debit Cards /debit-cards/{id}/replace: x-eb-only: true post: summary: Replace Card description: Replace a card, cancels an existing card and issues a replacement. operationId: replaceDebitCard parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/debitCardIdInPath' requestBody: description: Info required to replace. required: true content: application/json: schema: $ref: '#/components/schemas/CardReplaceRequest' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CardUpdateResponse' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' tags: - Debit Cards /debit-cards/{id}/set-pin: x-eb-only: true post: summary: Set a debit card pin number description: Set a pin on a debit card. operationId: setDebitCardPin parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/debitCardIdInPath' requestBody: description: Card pin update. required: true content: application/json: schema: $ref: '#/components/schemas/CardPinChangeRequest' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CardUpdateResponse' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' tags: - Debit Cards /debit-cards/{id}/set-limit: x-eb-only: true post: summary: Set debit card limits description: Set debit card limits operationId: setDebitCardLimit parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/debitCardIdInPath' requestBody: description: Card update info required to set or update limits. required: true content: application/json: schema: $ref: '#/components/schemas/CardLimitChangeRequest' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CardUpdateResponse' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' tags: - Debit Cards /recipients: get: summary: List recipients description: Returns a list of all recipients for a given client profile. operationId: getAllRecipients tags: - Recipients parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/clientIdInQuery' - name: type in: query description: Recipient type to return required: false example: RECIPIENT schema: $ref: '#/components/schemas/RecipientType' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNo' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/ListRecipientsResponse' '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: summary: Create recipient description: Creates a new recipient. operationId: createRecipient tags: - Recipients parameters: - $ref: '#/components/parameters/token' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RecipientRequest' examples: CreateRecipientReq: $ref: '#/components/examples/CreateRecipientReq' CreatePaymentIntentRecipientReq: $ref: '#/components/examples/CreatePaymentIntentRecipientReq' responses: '201': description: The recipient was created successfully. content: application/json: schema: $ref: '#/components/schemas/Recipient' examples: CreateRecipientRes: $ref: '#/components/examples/CreateRecipientRes' CreatePaymentIntentRecipientRes: $ref: '#/components/examples/CreatePaymentIntentRecipientRes' '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' /recipients/{id}: get: summary: Get recipient description: Returns information about a specific recipient. operationId: getRecipient tags: - Recipients parameters: - $ref: '#/components/parameters/token' - name: id in: path description: Recipient ID. A unique identifier for a recipient. required: true schema: type: string example: 616d93a1-ce53-4c71-b03b-02a11396db28 responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/Recipient' examples: GetRecipientRes: $ref: '#/components/examples/GetRecipientRes' GetPaymentIntentRecipientRes: $ref: '#/components/examples/GetPaymentIntentRecipientRes' '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: summary: Update recipient description: Updates details of a recipient, such as adding values for attributes related to payment types. All attributes must be provided in the same format as when creating a recipient. The value partyDetails.type cannot be amended after creation. operationId: amendRecipient tags: - Recipients parameters: - $ref: '#/components/parameters/token' - name: id in: path description: Recipient ID. A unique identifier for a recipient. required: true schema: type: string example: 616d93a1-ce53-4c71-b03b-02a11396db28 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateRecipientRequest' examples: UpdateRecipientReq: $ref: '#/components/examples/UpdateRecipientReq' responses: '200': description: The recipient was amended successfully. content: application/json: schema: $ref: '#/components/schemas/Recipient' examples: UpdateRecipientRes: $ref: '#/components/examples/UpdateRecipientRes' UpdatePaymentIntentRecipientRes: $ref: '#/components/examples/UpdatePaymentIntentRecipientRes' '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' /recipients/{id}/verify-microdeposit: post: summary: Creates a microdeposits verification process. description: Creates a microdeposits verification process. operationId: recipientsVerification tags: - Recipients parameters: - $ref: '#/components/parameters/token' - name: id in: path description: Recipient ID. A unique identifier for a recipient. required: true schema: type: string example: dea21834-f876-404b-a240-9977e598da5e requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MicrodepositAmounts' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/MicrodepositVerificationResponse' '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' /cases: x-eb-only: true get: tags: - Cases summary: Returns all cases for client profile. description: Get cases for client profile operationId: getCases parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/casesPageSize' - $ref: '#/components/parameters/casesPageNo' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CasesPaginationResponse' '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: tags: - Cases summary: Create a new case description: Raises a case for support with Embedded Finance. operationId: createCase requestBody: required: true description: Information needed to create a new case. content: application/json: schema: $ref: '#/components/schemas/CaseCreateRequest' parameters: - $ref: '#/components/parameters/token' responses: '201': description: Created. content: application/json: schema: $ref: '#/components/schemas/CaseCreateResponse' '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' /cases/{id}: x-eb-only: true get: tags: - Cases summary: Returns details of a case using the unique case ID. description: Get case details operationId: getCase responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/CaseDetails' '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' parameters: - $ref: '#/components/parameters/token' - name: id in: path description: Case identifier required: true schema: type: string style: simple example: '00001154' post: tags: - Cases summary: Update information on a specific case. description: Update case operationId: updateCase requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CaseUpdateRequest' responses: '200': description: Updated. content: application/json: schema: $ref: '#/components/schemas/CaseDetails' '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' parameters: - name: id in: path description: Case ID. The unique identifier for a case. required: true schema: type: string style: simple example: '00001154' - $ref: '#/components/parameters/token' /faqs: x-eb-only: true get: tags: - Faq summary: API to retrieve general FAQ content as well as C1 specific FAQ content description: Retrieve FAQs operationId: getFaq responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/FAQResponse' '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' parameters: - $ref: '#/components/parameters/clientIdInQuery' - $ref: '#/components/parameters/token' - name: tags in: query description: Comma seperated tag values required: false example: - Payments - Banking schema: type: array items: type: string /webhooks: get: summary: List webhooks description: List all your webhooks operationId: listWebhooks tags: - Webhooks parameters: - $ref: '#/components/parameters/pageNo' - $ref: '#/components/parameters/pageSize' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/ListWebhookResponse' examples: ListWebhooks: $ref: '#/components/examples/ListWebhooks' '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: summary: Create a webhook subscription. description: Create a webhook subscription operationId: createWebhook tags: - Webhooks parameters: [] requestBody: required: true description: Create a new webhook request. content: application/json: schema: $ref: '#/components/schemas/WebhookRequest' examples: CreateAWebhookReq: $ref: '#/components/examples/CreateAWebhookReq' responses: '201': description: Created. content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' examples: CreateAWebhookRes: $ref: '#/components/examples/CreateAWebhookRes' '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' /webhooks/{id}: get: summary: Get a webhook subscription by ID. description: Get details of your subscription to a specific webhook. operationId: getWebhook tags: - Webhooks parameters: - name: id in: path description: Unique identifier for webhook subscription required: true example: 944803b0-f1c2-4b28-91ce-8985b1f317a7 schema: type: string style: simple responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' examples: GetWebhookByIdRes: $ref: '#/components/examples/GetWebhookByIdRes' '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: summary: Update a webhook by ID. description: Add or Remove webhook subscriptions and change a webhook status to ACTIVE or INACTIVE operationId: updateWebhook tags: - Webhooks parameters: - name: id in: path example: 944803b0-f1c2-4b28-91ce-8985b1f317a7 schema: type: string description: Unique identifier of the webhook to be updated required: true requestBody: required: true description: Update an existing webhook subscription. content: application/json: schema: $ref: '#/components/schemas/WebhookUpdateRequest' examples: AddEventsToAWebhookSubscription: $ref: '#/components/examples/AddSubscriptionsToAWebhook' RemoveEventsToAWebhookSubscription: $ref: '#/components/examples/RemoveSubscriptionsFromAWebhook' ReplaceStatusOfAWebhookSubscription: $ref: '#/components/examples/ChangeStatusOfAWebhook' responses: '200': description: OK. content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' examples: AddEventsToAWebhookSubscriptionRes: $ref: '#/components/examples/AddSubscriptionsToAWebhookRes' RemoveEventsToAWebhookSubscriptionRes: $ref: '#/components/examples/RemoveSubscriptionsFromAWebhookRes' ReplaceStatusOfAWebhookSubscriptionRes: $ref: '#/components/examples/ChangeStatusOfAWebhookRes' '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' /countries: x-eb-only: true get: tags: - Reference Data summary: List available countries and country codes description: Retrieves a list of countries with their ISO 2-character codes. operationId: getAllCountries parameters: - $ref: '#/components/parameters/token' responses: '200': description: Ok. content: application/json: examples: ListOfCountries: $ref: '#/components/examples/ListOfCountries' schema: $ref: '#/components/schemas/CountriesResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' /country-subdivision: x-eb-only: true get: summary: List available country subdivisions description: Retrieves a list of subdivisions within a country. For example, the states of the USA. operationId: getCountrySubdivision parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/countryCode' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNo' responses: '200': description: Ok. content: application/json: examples: ListOfCountrySubdivision: $ref: '#/components/examples/ListOfCountrySubdivision' schema: $ref: '#/components/schemas/CountrySubdivisionResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /legal-structures: x-eb-only: true get: summary: List legal structures description: Returns a list of legal structures of a business. To be used when onboarding business clients. operationId: getLegalStructures parameters: - $ref: '#/components/parameters/token' responses: '200': description: Ok. content: application/json: examples: LegalStructures: $ref: '#/components/examples/LegalStructures' schema: $ref: '#/components/schemas/LegalStructureResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /document-types: x-eb-only: true get: summary: List supporting document-types description: Returns a list of supporting documents that may be required during onboarding and ongoing checks. operationId: getDocumentTypes parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/countryCode' - $ref: '#/components/parameters/documentCategory' - $ref: '#/components/parameters/legalStructure' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNo' responses: '200': description: Ok. content: application/json: examples: ListOfAllSupportingDocumentTypes: $ref: '#/components/examples/ListOfAllSupportingDocumentTypes' ListOfSupportingDocumentTypesByLegalStructureAsSoleProprietorship: $ref: '#/components/examples/ListOfSupportingDocumentTypesByLegalStructureAsSoleProprietorship' ListOfSupportingDocumentTypesByLegalStructureAsCorporation: $ref: '#/components/examples/ListOfSupportingDocumentTypesByLegalStructureAsCorporation' ListOfSupportingDocumentTypesByLegalStructureAsLimitedPartnership: $ref: '#/components/examples/ListOfSupportingDocumentTypesByLegalStructureAsLimitedPartnership' ListOfSupportingDocumentTypesWhenDocumentCategoryNotIdentityVerification: $ref: '#/components/examples/ListOfSupportingDocumentTypesWhenDocumentCategoryNotIdentityVerification' schema: $ref: '#/components/schemas/DocumentTypesResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /id-types: x-eb-only: true get: summary: List acceptable ID types description: Returns a list of acceptable types of ID that can be submitted for onboarding or other client checks. operationId: getIdTypes parameters: - $ref: '#/components/parameters/token' responses: '200': description: Ok. content: application/json: examples: ListOfIdTypes: $ref: '#/components/examples/ListOfIdTypes' schema: $ref: '#/components/schemas/IdentificationTypeResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /industry-categories: x-eb-only: true get: summary: List industry categories and industry types. description: Returns a list of all industry categories and industry types for business clients. To be used in onboarding and other client checks. operationId: getClientIndustryCategories parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNo' responses: '200': description: Ok. content: application/json: examples: IndustryCategoriesAndIndustryTypes: $ref: '#/components/examples/IndustryCategoriesAndIndustryTypes' schema: $ref: '#/components/schemas/IndustryCategoriesResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /products: x-eb-only: true get: summary: List embedded finance products description: Returns a list of all available Embedded Finance products. operationId: getRefProducts parameters: - $ref: '#/components/parameters/token' responses: '200': description: Ok. content: application/json: examples: ListOfProducts: $ref: '#/components/examples/ListOfProducts' schema: $ref: '#/components/schemas/ProductResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /business-types: x-eb-only: true get: summary: List business types description: Returns a list of business types that can be used for client onboarding processes. operationId: getRefBusinessTypes parameters: - $ref: '#/components/parameters/token' responses: '200': description: Ok. content: application/json: examples: ListOfBusinessTypes: $ref: '#/components/examples/ListOfBusinessTypes' schema: $ref: '#/components/schemas/BusinessTypesResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /job-titles: x-eb-only: true get: summary: List job titles description: Returns a list of job titles that can be used for client onboarding. operationId: getRefJobTitles parameters: - $ref: '#/components/parameters/token' responses: '200': description: Ok. content: application/json: examples: ListOfJobTitles: $ref: '#/components/examples/ListOfJobTitles' schema: $ref: '#/components/schemas/JobTitlesResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /party-roles: x-eb-only: true get: summary: List party roles description: Returns a list of accepted party roles. operationId: getRefPartyRoles parameters: - $ref: '#/components/parameters/token' responses: '200': description: Ok. content: application/json: examples: ListOfPartyRoles: $ref: '#/components/examples/ListOfPartyRoles' schema: $ref: '#/components/schemas/PartyRolesResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /address-types: x-eb-only: true get: summary: List address types description: Returns a list of accepted address types. operationId: getRefAddressTypes parameters: - $ref: '#/components/parameters/token' responses: '200': description: Ok. content: application/json: examples: ListOfAddressTypes: $ref: '#/components/examples/ListOfAddressTypes' schema: $ref: '#/components/schemas/AddressTypesResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /nature-of-ownerships: x-eb-only: true get: summary: List nature of ownership values description: Returns a list of accepted Nature Of Ownership values. operationId: getRefNatureOfOwnerships parameters: - $ref: '#/components/parameters/token' responses: '200': description: Ok. content: application/json: examples: ListOfAcceptedNatureOfOwnershipValues: $ref: '#/components/examples/ListOfAcceptedNatureOfOwnershipValues' schema: $ref: '#/components/schemas/NatureOfOwnershipsResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /party-types: x-eb-only: true get: summary: List party types description: Returns a list of accepted party types. operationId: getRefPartyTypes parameters: - $ref: '#/components/parameters/token' responses: '200': description: Ok. content: application/json: examples: ListOfAcceptedPartyTypes: $ref: '#/components/examples/ListOfAcceptedPartyTypes' schema: $ref: '#/components/schemas/PartyTypesResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' tags: - Reference Data /statements/{id}: x-eb-only: true get: summary: Get a statement description: Get a statement document using its identifier operationId: getStatement parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/clientIdInHeaderRequired' - in: path name: id required: true description: Statement identifier used to find the document. example: ZjNjMTJjOTctZTQyNy00MWI5LWJmNDAtMDMzYzZiNjliNWJl schema: type: string responses: '200': description: Ok. content: application/pdf: schema: type: string format: byte '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' tags: - Statements /statements/search: x-eb-only: true get: summary: Search statements description: Returns statements filtered by search criteria. operationId: searchStatements parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/clientIdInHeaderRequired' - in: query name: accountIds description: | Account identifiers used to represent client accounts. required: false example: - dc2eda9084bf40b7a1d8baa8c5e0ea0ax schema: type: array items: type: string - in: query name: dateFrom description: Earliest date in search range. Must be set at least one day earlier than dateTo. required: true example: '2022-12-31' schema: type: string - in: query name: dateTo description: Latest date in search range. Must be set at least one day later than dateFrom. required: true example: '2022-12-31' schema: type: string responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/StatementsResponse' '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' tags: - Statements /transactions: x-eb-only: true post: summary: Create transaction description: Creates a new transaction, such as a payment via ACH, Wire or Real Time Payments (RTP). operationId: createTransaction tags: - Transactions EB parameters: - $ref: '#/components/parameters/token' requestBody: required: true description: Contains the required information to create a payment transaction. content: application/json: schema: $ref: '#/components/schemas/PostTransactionRequest' examples: CreateTransactionPayoutReq: $ref: '#/components/examples/CreateTransactionPayoutReq' responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: CreateTransactionPayoutRes: $ref: '#/components/examples/CreateTransactionPayoutRes' '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' get: summary: List and filter transactions description: Lists transactions for a specific client, which can be filtered using optional parameters. operationId: listTransactions tags: - Transactions EB parameters: - $ref: '#/components/parameters/token' - in: query name: transactionType schema: $ref: '#/components/schemas/RequestTransactionType' description: Filters by type of transaction. required: false - in: query name: status schema: $ref: '#/components/schemas/RequestTransactionStatus' description: Filters by transaction status. required: false - in: query name: accountNumber example: '200293631511' schema: type: string description: Filters by the Embedded Banking client account number connected to the transaction. required: false - in: query name: amountEquals example: '100' schema: type: string description: Filters by an exact amount. required: false - in: query name: amountGreaterThan example: '100' schema: type: string description: Filters by amounts greater than a specified value. required: false - in: query name: amountLessThan example: '100' schema: type: string description: Filters by amounts less than a specified value. required: false - in: query name: dateEquals example: 01-01-2022 schema: type: string description: Filters transactions by an exact date. required: false - in: query name: dateGreaterThan example: 01-01-2022 schema: type: string description: Filters for transactions made after this date. required: false - in: query name: dateLessThan example: 01-01-2022 schema: type: string description: Filters for transactions made before this date. required: false - in: query name: dateTimeGreaterThan example: '2022-01-01T00:00:00.000Z' schema: type: string format: date-time description: Filters for transactions made after this date and time. required: false - in: query name: dateTimeLessThan example: '2022-01-01T00:00:00.000Z' schema: type: string format: date-time description: Filters for transactions made before this date and time. - in: query name: recipientAccount example: '200293631511' schema: type: string description: Filters by the recipient's account number. required: false - in: query name: transactionId example: 2451821d-e6f9-450d-b041-a20ae9d08f14 schema: type: string description: Filters for a transaction that matches a specific transaction ID. The transaction ID is generated by Embedded Banking when a transaction is created or received. responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/ListTransactionsSearchResponse' examples: GetTransactionsRes: $ref: '#/components/examples/GetTransactionsRes' '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' /transactions/{id}: x-eb-only: true get: summary: Get transaction description: Returns details for a specific transaction using its unique identifier. operationId: getTransaction tags: - Transactions EB parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/clientId' - name: id in: path description: Unique identifier for a transaction. required: true example: ellr6md9wmndjg schema: type: string responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/TransactionGetResponse' examples: GetTransactionByIdRes: $ref: '#/components/examples/GetTransactionByIdRes' '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' /accounts: get: summary: List accounts description: Returns a list of accounts for a specific client. operationId: getAccounts parameters: - $ref: '#/components/parameters/token' - $ref: '#/components/parameters/clientIdInQuery' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNo' tags: - Accounts responses: '200': description: List of accounts for a specific client content: application/json: schema: $ref: '#/components/schemas/ListAccountsResponse' examples: ListAccountsResponse: $ref: '#/components/examples/ListAccountsResponse' '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: summary: Create account description: Create an account for a specific client operationId: postAccounts parameters: - $ref: '#/components/parameters/token' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAccountRequest' examples: CreateAccountRequest: $ref: '#/components/examples/CreateAccountRequest' tags: - Accounts responses: '201': description: Account created successfully content: application/json: schema: $ref: '#/components/schemas/AccountResponseWithStatus' examples: CreateAccountResponse: $ref: '#/components/examples/CreateAccountResponse' '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' /accounts/{id}: get: summary: Get account description: Look up a single account by account ID operationId: getAccount tags: - Accounts parameters: - $ref: '#/components/parameters/accountIdInPath' - $ref: '#/components/parameters/token' responses: '200': description: Account details content: application/json: schema: $ref: '#/components/schemas/AccountResponseWithStatus' examples: GetLimitedDdaAccountResponse: $ref: '#/components/examples/GetLimitedDdaAccountResponse' GetEmbeddedDdaAccountResponse: $ref: '#/components/examples/GetEmbeddedDdaAccountResponse' GetDdaAccountResponse: $ref: '#/components/examples/GetDdaAccountResponse' GetProcessingAccountResponse: $ref: '#/components/examples/GetProcessingAccountResponse' GetManagementAccountResponse: $ref: '#/components/examples/GetManagementAccountResponse' '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' /accounts/{id}/balances: get: summary: Get an account balance description: Get the balance details for an account operationId: getAccountBalance tags: - Accounts parameters: - $ref: '#/components/parameters/accountIdInPath' - $ref: '#/components/parameters/token' responses: '200': description: Account balance details content: application/json: schema: $ref: '#/components/schemas/AccountBalanceResponse' examples: GetAccountBalanceResponse: $ref: '#/components/examples/GetAccountBalanceResponse' '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' /balance-holds: get: summary: Get balance holds description: Returns a list of all the holds on an account. operationId: getBalanceHolds tags: - Balance-Holds parameters: - $ref: '#/components/parameters/token' - name: accountId in: query description: Account ID required: true schema: type: string example: dc2eda9084bf40b7a1d8baa8c5e0ea0ax responses: '200': description: A list of holds on the provided account content: application/json: schema: $ref: '#/components/schemas/ListBalanceHoldGetResponse' examples: ListBalanceHoldGetResponse: $ref: '#/components/examples/ListBalanceHoldGetResponseExample' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' /balance-holds/{id}: get: summary: Get balance hold description: Returns details for a specific hold on an account. operationId: getBalanceHoldsDetails tags: - Balance-Holds parameters: - $ref: '#/components/parameters/token' - name: id in: path description: Hold ID example: eeeceb81-5e25-4949-a5bb-a5f7aa8dcf0f required: true schema: type: string responses: '200': description: A specific hold on the provided account content: application/json: schema: $ref: '#/components/schemas/BalanceHoldGetResponse' examples: BalanceHoldGetResponse: $ref: '#/components/examples/BalanceHoldGetResponseExample' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' /billing-configuration: get: tags: - Billing summary: Get the details of the billing configuration that the client is currently on. operationId: getBillingClientDetails parameters: - $ref: '#/components/parameters/token' responses: '200': description: The details of the current billing configuration the client is on. content: application/json: schema: $ref: '#/components/schemas/BillingClientDetailsResponse' examples: getBillingConfiguration: $ref: '#/components/examples/getBillingConfiguration' '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' /payment-intents: post: summary: Create payment intent description: Creates a new payable intent. operationId: createPaymentIntent tags: - Payment Intents parameters: - $ref: '#/components/parameters/token' requestBody: required: true description: Contains the required information to create a payment intent. content: application/json: schema: $ref: '#/components/schemas/PaymentIntentRequest' examples: CreatePayableReq: $ref: '#/components/examples/CreatePayableReq' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/PaymentIntent' examples: CreatePayableRes: $ref: '#/components/examples/CreatePayableRes' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' get: summary: List payment intents description: Lists payment intents for a specific client. operationId: listPaymentIntents tags: - Payment Intents parameters: - $ref: '#/components/parameters/token' - name: recipientId in: query description: Recipient ID required: false example: a8eb71c9-7bbb-41f2-8d9e-b0f52d1ecd71 schema: type: string - name: status in: query required: false example: PENDING description: Payment intent status schema: type: string responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/PaymentIntents' examples: ListPaymentIntents: $ref: '#/components/examples/ListPaymentIntents' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' /payment-intents/{id}: get: summary: Get payment intent description: Returns details for a specific payment intent using its unique identifier. operationId: getPaymentIntent tags: - Payment Intents parameters: - $ref: '#/components/parameters/token' - name: id in: path description: Unique identifier for a payment intent. required: true example: 73bd1c1d-6635-43ff-a8e5-b252926bdd9e schema: type: string responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/PaymentIntent' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' post: summary: Update payment intent description: Updates details for a specific payment intent using its unique identifier. operationId: updatePaymentIntent tags: - Payment Intents parameters: - $ref: '#/components/parameters/token' - name: id in: path description: Unique identifier for a payment intent. required: true example: 73bd1c1d-6635-43ff-a8e5-b252926bdd9e schema: type: string requestBody: required: true description: Contains the required information to create a payment intent. content: application/json: schema: $ref: '#/components/schemas/UpdatePaymentIntentRequest' examples: UpdatePayableReq: $ref: '#/components/examples/UpdatePayableReq' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PaymentIntent' examples: UpdatePayableRes: $ref: '#/components/examples/UpdatePayableRes' '400': $ref: '#/components/responses/400V2' '401': $ref: '#/components/responses/401V2' '403': $ref: '#/components/responses/403V2' '404': $ref: '#/components/responses/404V2' '500': $ref: '#/components/responses/500V2' '503': $ref: '#/components/responses/503V2' x-webhooks: events: post: summary: Embedded Finance Event posted tags: - Webhooks requestBody: content: application/json: schema: $ref: '#/components/schemas/WebhookCallbackEvent' responses: '200': description: Your server returns this code if it accepts the callback components: parameters: token: name: token in: header description: JWT Client token required: false schema: type: string minLength: 0 pageSize: name: limit in: query description: Number of records per page. schema: type: integer minimum: 1 maximum: 25 default: 25 pageNo: name: page in: query description: Page Number schema: type: integer default: 0 minimum: 0 clientId: name: client_id in: header description: Unique identifier for a client. required: false example: '0030000131' schema: type: string pattern: ^\d{10}$ minLength: 10 maxLength: 10 clientIdInHeaderRequired: name: client_id in: header description: Unique identifier for a client. required: true example: '0030000131' schema: type: string pattern: ^\d{10}$ minLength: 10 maxLength: 10 userToken: x-eb-only: true name: token in: header description: JWT Client token required: false schema: type: string minLength: 1 maxLength: 3000 userFetchLevel: x-eb-only: true name: fetchLevel in: query description: |- Determines the fetch level.

USER_STATUS: Fetches user status from identity provided

PARTY: Fetches party information for user like names, address, phones etc.

ROLES: Fetches user role information
required: false schema: type: array items: $ref: '#/components/schemas/FetchLevel' userPageSize: x-eb-only: true name: limit in: query description: Number of records per page. schema: type: integer minimum: 0 maximum: 25 default: 25 format: int32 userPageNo: x-eb-only: true name: page in: query description: Page Number schema: type: integer minimum: 0 maximum: 2000 default: 0 format: int32 userId: x-eb-only: true name: id in: path description: Identifier of the user record. style: simple schema: type: string example: 94c3a2a3-db3a-4850-a36a-3d27d8a05db0 minLength: 1 maxLength: 50 required: true userRole: x-eb-only: true name: roleId in: query description: Role id required: false schema: type: string pattern: ^[a-zA-Z_]+$ example: AUTH_REP documentType: name: type in: query description: The type of document. Can be terms and conditions or disclosure and consent documents. required: true schema: type: string enum: - TERMS_CONDITION - DISCLOSURE_AND_CONSENT debitCardIdInPath: name: id in: path required: true description: Unique identifier for the debit card. example: '100000160987' style: simple schema: type: string clientIdInQuery: name: clientId in: query description: Unique Client identifier required: false example: '9000000001' schema: type: string pattern: ^\d{10}$ minLength: 10 maxLength: 10 casesPageSize: name: limit in: query description: Number of records per page. schema: type: integer minimum: 1 casesPageNo: name: page in: query description: Page Number schema: type: integer minimum: 1 countryCode: name: countryCode in: query description: Two-letter ISO code for a country, such as US for USA. required: false schema: type: string minLength: 2 maxLength: 2 pattern: ^[A-Z]{2}$ example: US description: ISO 3166-1 Alpha-2 Country Code documentCategory: name: documentCategory in: query description: Document category type. required: false schema: type: string enum: - IDENTITY_VERIFICATION legalStructure: name: legalStructure in: query description: url encoded legalStructure type. required: false schema: type: string minLength: 1 maxLength: 50 accountIdInPath: name: id in: path description: Unique account identifier schema: type: string required: true example: ablim765e14741c5a44acc570af517ab schemas: PageMetaData: type: object properties: page: type: integer example: 1 description: | Page Number. limit: type: integer example: 30 description: | Number of records per page. total_items: type: integer example: 1 description: | Total number of items. AddressDto: type: object required: - addressLine1 - city - countryCode - postalCode properties: addressType: type: string example: Principal place of business description: Type of address e.g. 'Primary Residence' | 'Principal place of business'. addressLine1: type: string pattern: (?=.*\d)(?=.*[A-Za-z])^\d.*$|^[NSEWnsew]\d.*$ maxLength: 34 example: 689 Main St description: addressLine1 must not be a PO Box and must begin with a number.addressLine1 has a maximum of 34 characters. addressLine1 is mandatory when client is created. addressLine2: type: string pattern: '[\p{L}\p{M}\p{N}\p{P}\p{Z}\p{Cf}\p{Cs}\s]*' maxLength: 34 example: Opposite St. Andrews Church description: addressLine2 has a maximum of 34 characters. addressLine3: type: string pattern: '[\p{L}\p{M}\p{N}\p{P}\p{Z}\p{Cf}\p{Cs}\s]*' maxLength: 34 example: Mini York description: addressLine3 has a maximum of 34 characters. city: type: string pattern: '[\p{L}\p{M}\p{N}\p{P}\p{Z}\p{Cf}\p{Cs}\s]*' maxLength: 34 example: Anchorage description: city has a maximum of 34 characters. state: type: string pattern: ^[a-z-A-Z ]+$ maxLength: 2 example: AZ description: State code in alpha-2 format. State is mandatory for countries like United States. postalCode: type: string pattern: ^[\\p{IsLatin}0-9- \\.]+$ maxLength: 10 example: '99501' description: Postal/ZIP code. countryCode: type: string example: US description: Country code in alpha-2 format. Phone: type: object required: - countryCode - phoneNumber properties: countryCode: type: string minLength: 1 maxLength: 10 pattern: ^(0{2}|\+)?[1-9]{1,3}$ example: '+1' description: The ISO calling code for the phone number. phoneNumber: type: string minLength: 7 maxLength: 14 pattern: ^[0-9]{7,14}$ example: '7785462944' description: | Phone Number Information of the account IdentityDTO: type: object required: - idType - idValue - idIssuer properties: idType: type: string example: EIN description: | IdType denotes the type of taxpayer identification numbers e.g. SSN/EIN. EIN is acceptable idType for Privately Owned Business. Sole Proprietorship can have EIN/SSN as idType. For individuals like Owners and Controllers SSN is accepted as idType. Decision Makers do not require any tax identifier. idDescription: type: string example: Employee Identification Number description: Description of identification type e.g. Social Security Number idIssuer: type: string example: US description: Identification issuer country code e.g. US idValue: type: string pattern: '[0-9A-Za-z-]+' example: '999999999' description: Value of the identification type. EIN/SSN must be of 9 digits. PartyDetailCommon: type: object properties: address: $ref: '#/components/schemas/AddressDto' phone: $ref: '#/components/schemas/Phone' identities: type: array items: allOf: - $ref: '#/components/schemas/IdentityDTO' minItems: 0 maxItems: 100 PartyDetailBusiness: allOf: - $ref: '#/components/schemas/PartyDetailCommon' - type: object properties: businessType: type: string example: Privately Owned Business description: | The type of business connected to the client. You can use the Reference Data resource to get a list of acceptable values. Examples include: Privately Owned Business. Sole Proprietorship. legalStructure: type: string example: Limited Liability Company description: | Legal Structure of the business entity. Legal structure is required for Privately Owned Business and Sole Proprietorship. Distinct legal structure. e.g. - Limited Liability Company - Corporation - Limited Partnership - Sole Proprietorship industryCategory: 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 Reference Data resource to get a list of acceptable values. industryType: type: string example: Bed And Breakfast Inns description: | The industry type of the business connected to the client. You can use the Reference Data resource to get a list of acceptable values. significantOwnership: type: boolean example: true description: | Significant ownership means there individuals who own 25% or more of the client's business. Always required for a Privately Owned Business. If Significant Ownership is selected as True, At least one related party should have the role of owner. entitiesInOwnership: type: boolean example: true description: | Entities in ownership means that one or more businesses own part of the business conected to the client. Always required for a Privately Owned Business. businessName: type: string pattern: ^(?![-.%/+&@,';:#()_])(?!.*[-.%/+&@,';:#()_]{2})(?!.*[-.%/+&@,';:#()_]$).*$ example: Feltz Printing Service description: | The business?s legal name. It is the official name of the person or entity that owns a company. Must be the name used on the client's government forms and business paperwork businessAliasName: type: string example: Feltz Printing Service of New York description: | Any alias names for the business connected to the client. businessDescription: type: string example: Printing Service of New York description: | The business?s description. websiteAvailable: type: boolean example: true description: | Whether or not the business connected to the client has a website. website: type: string pattern: ^((http|https|HTTP|HTTPS):\/\/)?(www.|WWW.)?(?!.*(http|HTTP|https|HTTPS|www.|WWW.))[a-zA-Z0-9_-]+(\.[a-zA-Z]+)+((\/)[\w#]+)*(\/\w+\?[a-zA-Z0-9_]+=\w+(&[a-zA-Z0-9_]+=\w+)*)?\/?$ example: https://www.company.com description: | Website of the business connected to the client. Always required if websiteAvailable is true. email: type: string maxLength: 50 pattern: (^$)|(^([^,:;=@"\\\s()\[\]]+)+@([a-zA-Z-0-9-]+\.)+[a-zA-Z]{2,}$) example: client@company.com description: | Email of the client. countryOfFormation: type: string example: US description: Country code in alpha-2 format yearOfFormation: type: string pattern: ^(19|20)[0-9]+ example: '2020' description: | Year of company formation. Max and Min length is 4. parentClientId: type: string description: The parent (platform) relationship owner's ID. RelatedParty: allOf: - $ref: '#/components/schemas/PartyDetailCommon' - type: object properties: businessName: type: string pattern: ^(?![-.%/+&@,';:#()_])(?!.*[-.%/+&@,';:#()_]{2})(?!.*[-.%/+&@,';:#()_]$).*$ example: Feltz Printing Service description: | The business?s legal name. It is the official name of the person or entity that owns a company. And, it?s the name used on your government forms and business paperwork. This field is only required when party type is NonIndividual firstName: type: string pattern: ^(?![-.',])(?!.*[-.',]{2})(?!.*[-.',]$)[a-zA-Z-.', ]*$ minLength: 2 maxLength: 30 example: Lenna description: | First name of the individual in case of party type being an individual like Owners, Controllers and Decision Makers. middleName: type: string pattern: ^(?![-.',])(?!.*[-.',]{2})(?!.*[-.',]$)[a-zA-Z-.', ]*$ maxLength: 30 example: More description: | Middle name of the individual in case of party type being an individual. lastName: type: string pattern: ^(?![-.',])(?!.*[-.',]{2})(?!.*[-.',]$)[a-zA-Z-.', ]*$ minLength: 2 maxLength: 30 example: Paprocki description: | Last name of the individual in case of party type being an individual like Owners, Controllers and Decision Makers. jobTitle: type: string example: CEO description: | Job title in case of party type being an individual. JobTitle is required field for Controllers. Also, If Privately Owned Business is selected as the business type, Job Title should be a required field for Decision Makers. e.g. CEO|CFO|COO|President|Chairman|Senior Branch Manager|Other jobTitleDescription: type: string example: Acting CEO maxLength: 50 description: | In case on jobTitle is Other then Job title description is required. birthDate: type: string pattern: ([0-9]{4})-(?:[0-9]{2})-([0-9]{2}) example: '1983-02-08' description: | The date of birth (yyyy-MM-dd) of the individual in case of party type being an individual. This field is not required for the party type Organization. email: type: string pattern: (^$)|(^([^,:;=@"'\s()\[\]]+)+@([a-zA-Z-0-9-]+\.)+[a-zA-Z]{2,}$) maxLength: 50 example: client@company.com description: | Email of the individual. natureOfOwnership: type: string example: Direct description: | Nature of ownership e.g. Direct|Indirect soleOwner: type: boolean partyType: type: string example: Individual description: | A Party type which could have one of the following distinct values: Organization, Individual, NonIndividual partyRole: type: array items: type: string minItems: 0 maxItems: 100 example: - CONTROLLER - OWNER - DECISION_MAKER description: | A Party role which could have one or more of the following values: CLIENT, CONTROLLER, MARKETPLACE_OPERATOR, OWNER, PAYEE, DECISION_MAKER If a SMB controller and owner is the same person - you have to send two parties with the distinct partyRoles e.g. [ CLIENT, CONTROLLER, MARKETPLACE_OPERATOR, OWNER, DECISION_MAKER ] RelatedPartyResponse: allOf: - $ref: '#/components/schemas/RelatedParty' - type: object required: - id - partyType - partyRole - email properties: id: type: string example: b98355d9-d193-4f50-9957-c699266b1530 description: | Individual/NonIndividual client id, as UUID, that uniquely identifies the resource. status: type: string description: Status of the request. Can be active or deleted. example: active ClientInformationResponse: type: object allOf: - $ref: '#/components/schemas/PartyDetailBusiness' - type: object required: - id properties: id: type: string example: 1bd824ef-355d-496d-9272-900cfe4b95f9 description: | Client ID. The unique identifier for a client. status: type: string description: active | deleted example: active products: type: array items: type: string minItems: 0 maxItems: 100 example: - EB description: | The products available for clients in a jurisdiction. jurisdiction: type: string example: US description: | The jurisdiction where the client would be onboarding. parentClientId: type: string description: | Client ID of the platform entity the client is onboarded to. enablePayouts: type: boolean example: true description: | Once KYC has completed and approved, clients will be able to make payments out of their Embedded Bank Account. This flag will be set to FALSE until this process completes. Only present for clients. createdAt: type: string example: '2021-11-17T10:04:37Z' description: | Date the profile was created. onboardingStatus: type: string example: Pending Submission, Review in Progress, Complete description: The client onboarding status relatedParties: type: array items: allOf: - $ref: '#/components/schemas/RelatedPartyResponse' minItems: 0 maxItems: 100 ListClientInformationResponse: type: object properties: metadata: $ref: '#/components/schemas/PageMetaData' items: type: array items: $ref: '#/components/schemas/ClientInformationResponse' minItems: 0 maxItems: 100 ApiErrorReasonV2: type: object required: - message properties: code: type: string example: '11000' description: Short code that identifies the error - publicly cataloged and documented 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: 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 ApiError: type: object required: - title - httpStatus - error 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/ApiErrorReasonV2' description: Provides additional context and detail on the validation errors minItems: 0 maxItems: 100 PartyDetailBusinessRequest: allOf: - $ref: '#/components/schemas/PartyDetailBusiness' - type: object required: - businessName EntityDetailBusinessRequest: allOf: - $ref: '#/components/schemas/PartyDetailBusinessRequest' RelatedPartyRequest: allOf: - $ref: '#/components/schemas/RelatedParty' - type: object required: - firstName - lastName - partyType - partyRole - email RelatedPartiesRequest: allOf: - $ref: '#/components/schemas/RelatedPartyRequest' CreateClientRequest: type: object allOf: - $ref: '#/components/schemas/EntityDetailBusinessRequest' - type: object required: - relatedParties - products properties: relatedParties: type: array items: $ref: '#/components/schemas/RelatedPartiesRequest' minItems: 0 products: type: array items: type: string minItems: 0 maxItems: 100 example: - EB description: | The products available for clients in a jurisdiction. jurisdiction: type: string example: US description: | The jurisdiction where the client would be onboarding. UpdateAddressDto: type: object required: - addressLine1 - city - countryCode - postalCode properties: addressType: type: string example: Principle Place Of Business description: Type of address e.g. 'Primary Residence' | 'Principle Place Of Business'. addressLine1: type: string pattern: (?=.*\d)(?=.*[A-Za-z])^\d.*$|^[NSEWnsew]\d.*$ maxLength: 34 example: 689 Main St description: addressLine1 must not be a PO Box and must begin with a number.addressLine1 has a maximum of 60 characters. addressLine2: type: string pattern: '[\p{L}\p{M}\p{N}\p{P}\p{Z}\p{Cf}\p{Cs}\s]*' maxLength: 34 example: Opposite St. Andrews Church description: addressLine2 has a maximum of 60 characters.This field can be set to empty by passing field value as ("") in request. addressLine3: type: string pattern: '[\p{L}\p{M}\p{N}\p{P}\p{Z}\p{Cf}\p{Cs}\s]*' maxLength: 34 example: Mini York description: addressLine3 has a maximum of 60 characters.This field can be set to empty by passing field value as ("") in request. city: type: string pattern: '[\p{L}\p{M}\p{N}\p{P}\p{Z}\p{Cf}\p{Cs}\s]*' maxLength: 34 example: Anchorage description: city has a maximum of 30 characters. state: type: string pattern: ^[a-z-A-Z ]+$ maxLength: 2 example: AZ description: State code in alpha-2 format. State is mandatory for countries like United States. postalCode: type: string pattern: ^[\\p{IsLatin}0-9- \\.]+$ maxLength: 10 example: '99501' description: Postal/ZIP code. countryCode: type: string example: US description: Country code in alpha-2 format. UpdatePhone: type: object properties: countryCode: type: string minLength: 1 maxLength: 10 pattern: ^((\+\d{1,3})|(\d{1,4}))$ example: '+1' description: The ISO calling code for the phone number. phoneNumber: type: string minLength: 7 maxLength: 14 pattern: ^\d{7,14}$ example: '7785462944' description: | Phone Number Information of the account UpdateIdentityDTO: type: object required: - action - idType - idIssuer - idValue properties: idType: type: string example: EIN description: | IdType denotes the type of taxpayer identification numbers e.g. SSN/EIN. EIN is acceptable idType for Privately Owned Business. Sole Proprietorship can have EIN/SSN as idType. For individuals like Owners and Controllers SSN is accepted as idType. idDescription: type: string example: Employee Identification Number description: Description of identification type e.g. Social Security Number idIssuer: type: string example: US description: Identification issuer country name e.g. US idValue: type: string example: '999999999' description: Value of the identification type. EIN/SSN must be of 9 digits. action: type: string example: ADD description: | The action like ADD, UPDATE, REMOVE UpdatePartyDetailCommon: type: object properties: address: $ref: '#/components/schemas/UpdateAddressDto' phone: $ref: '#/components/schemas/UpdatePhone' identities: type: array items: allOf: - $ref: '#/components/schemas/UpdateIdentityDTO' minItems: 0 UpdatePartyDetailBusiness: allOf: - $ref: '#/components/schemas/UpdatePartyDetailCommon' - type: object properties: businessType: type: string example: Privately Owned Business description: | The different business entity types that can be selected e.g. Privately Owned Business | Sole Proprietorship legalStructure: type: string example: LLC description: | Legal Structure of the business entity. Legal structure is required for Privately Owned Business and Sole Proprietorship. industryCategory: type: string example: Accommodation and Food Services description: | Distinct industry category. e.g. - Accommodation and Food Services - Administrative and Support and Waste Management and Remediation Services - Agriculture, Forestry, Fishing and Hunting (not covered in economic census) - Arts, Entertainment, and Recreation - Construction - Educational Services - Finance and Insurance - Health Care and Social Assistance - Individuals - Information - Management of Companies and Enterprises - Manufacturing - Mining, Quarrying, and Oil and Gas Extraction - Other Services (except Public Administration) - Professional, Scientific, and Technical Services - Public Administration (not covered in economic census) - Real Estate and Rental and Leasing - Retail Trade - Transportation and Warehousing - Utilities - Wholesale Trade industryType: type: string example: Bed And Breakfast Inns description: | Industry type. significantOwnership: type: boolean example: true description: | Are there any individuals who own 25% or more of your business? e.g. true|false. significantOwnership is required for Privately Owned Business. If Significant Ownership is selected as True, At least one related party should have a role of owner. entitiesInOwnership: type: boolean example: true description: | If entitiesInOwnership is true, are there any businesses included in your ownership hierarchy? e.g. true|false. entitiesInOwnership is required for Privately Owned Business. businessName: type: string example: Feltz Printing Service description: | The business?s legal name. It is the official name of the person or entity that owns a company. And, it?s the name used on your government forms and business paperwork businessAliasName: type: string example: Feltz Printing Service of New York description: | The business?s alias name. It is the other alias name of the entity that owns a company.This field can be set to empty by passing field value as ("") in request. businessDescription: type: string example: Printing Service of New York description: | The business?s description. websiteAvailable: type: boolean example: true description: | Does your business have a website? e.g. true|false website: type: string example: https://www.company.com description: | Website of the client. website is required if websiteAvailable is true.This field can be set to empty by passing field value as ("") in request. email: type: string maxLength: 50 example: client@company.com description: | Email of the client. countryOfFormation: type: string example: US description: Country code in alpha-2 format yearOfFormation: type: string example: '2020' description: | Year of formation. Max and Min length is 4. UpdateEntityDetailBusinessRequest: type: object allOf: - $ref: '#/components/schemas/UpdatePartyDetailBusiness' - type: object properties: id: type: string example: '1234567891' description: | Client id, that uniquely identifies the client. UpdateRelatedPartyRequest: allOf: - $ref: '#/components/schemas/UpdatePartyDetailCommon' - type: object properties: id: type: string example: f773b9c1-13e5-4e5a-b055-def345eb85d0 description: | Unique identifier for this party. It is only required for UPDATE and REMOVE actions businessName: type: string example: Feltz Printing Service description: | The business?s legal name. It is the official name of the person or entity that owns a company. And, it?s the name used on your government forms and business paperwork. This field is only required when party type is NON-IND firstName: type: string minLength: 2 maxLength: 30 example: Lenna description: | First name of the individual in case of party type being an individual like Owners, Controllers and Decision Makers. middleName: type: string maxLength: 30 example: More description: | Middle name of the individual in case of party type being an individual.This field can be set to empty by passing field value as ("") in request. lastName: type: string minLength: 2 maxLength: 30 example: Paprocki description: | Last name of the individual in case of party type being an individual like Owners, Controllers and Decision Makers. jobTitle: type: string example: CEO description: | Job title in case of party type being an individual. JobTitle is required field for Controllers. Also, If Privately Owned Business is selected as the business type, Job Title should be a required field for Decision Makers. e.g. CEO|CFO|COO|President|Chairman|Senior Branch Manager|Other jobTitleDescription: type: string example: Acting CEO maxLength: 50 description: | In case on jobTitle is Other then Job title description is required.This field can be set to empty by passing field value as ("") in request. birthDate: type: string example: '1983-02-08' description: | The date of birth (yyyy-MM-dd) of the individual in case of party type being an individual. This field is not required for the party type Organization. email: type: string example: client@company.com description: | Email of the individual. natureOfOwnership: type: string example: Direct description: | Nature of ownership e.g. Direct|Indirect.This field can be set to empty by passing field value as ("") in request. soleOwner: type: boolean partyType: type: string example: Individual description: | A Party type which could have one of the following distinct values: Organization, Individual, NonIndividual partyRole: type: array items: type: string example: - CONTROLLER - OWNER description: | A Party role which could have one or more of the following values: CLIENT, CONTROLLER, MARKETPLACE_OPERATOR, OWNER, PAYEE, DECISION_MAKER If a SMB controller and owner is the same person - you have to send two parties with the distinct partyRoles e.g. [ CLIENT, CONTROLLER, MARKETPLACE_OPERATOR, OWNER, DECISION_MAKER ] minItems: 0 maxItems: 100 UpdateRelatedPartiesRequest: allOf: - $ref: '#/components/schemas/UpdateRelatedPartyRequest' - type: object required: - action properties: action: type: string example: ADD description: | The action like ADD, UPDATE, REMOVE UpdateClientRequest: type: object allOf: - $ref: '#/components/schemas/UpdateEntityDetailBusinessRequest' - type: object properties: relatedParties: type: array items: $ref: '#/components/schemas/UpdateRelatedPartiesRequest' minItems: 0 UpdateRelatedPartiesResponse: type: object allOf: - $ref: '#/components/schemas/UpdateRelatedPartyRequest' - type: object required: - id properties: id: type: string example: '1234567891' description: | Client id, that uniquely identifies the client. UpdateClientResponse: type: object allOf: - $ref: '#/components/schemas/UpdateEntityDetailBusinessRequest' - type: object properties: relatedParties: type: array items: $ref: '#/components/schemas/UpdateRelatedPartiesResponse' minItems: 0 products: type: array items: type: string example: - EP description: | The products available for clients. minItems: 0 VerificationIdResponse: type: object properties: id: type: string example: A01148 description: The unique identifier for a personal identification verification. label: type: string example: 'Total annual revenue/income: Fiscal Year End Date' description: verification question. AnswerOption: type: object properties: id: type: string example: CUB description: Internal id value, not to be shared with user label: type: string example: Cuba description: External readable value to be presented to the user. AnswerResponse: type: object properties: values: type: array items: type: string example: - CUB - SYR description: | The answer/s of a question. Can contain one or more elements. minItems: 0 updatedDateTime: type: string example: '2022-05-17T12:24:09' description: date time of submission in ISO format yyyy-MM-ddTHH:mm:ss format: type: string example: list description: Can be single for one item in the values or list in case of more than one values. The other options are word, freeText, alphaNumeric and there will be only one element allowed maxLength: type: integer format: int64 example: 255 description: max length allowed in values field. In case of freeText, the maximum length is 2000 parentId: type: string example: A00033 description: Id of parent Question answerOptions: type: array items: $ref: '#/components/schemas/AnswerOption' minItems: 0 VerificationResponse: type: object properties: verification: $ref: '#/components/schemas/VerificationIdResponse' response: $ref: '#/components/schemas/AnswerResponse' VerificationsResponse: allOf: - $ref: '#/components/schemas/VerificationResponse' AttestationResponse: type: object properties: fullName: type: string example: Rob Allen description: ' First and last name of the attester.' ipAddress: type: string example: 192.168.0.1 description: ' Attested IP address' attestationDateTime: type: string example: '2022-05-17T12:24:09' description: date time of submission in ISO format yyyy-MM-ddTHH:mm:ss documentType: type: string example: DISCLOSURE_AND_CONSENT OR TERMS_CONDITION description: The type of document. Can be terms and conditions or disclosure and consent documents. documentId: type: string example: 122b4c2e-4442-408e-a29f-8568bf59099e description: Unique identifier of the legal document that must be attested by the user. For example, terms & conditions or disclosure & consent documents. documentVersion: type: string example: v1.0 description: Document version documentName: type: string example: terms_condition-eb-petsy-1.pdf description: Name of the document AttestationsResponse: allOf: - $ref: '#/components/schemas/AttestationResponse' AdditionalDocument: type: object properties: partyId: type: string example: 122b4c2e-4442-408e-a29f-8568bf59099e description: Related Party id status: type: string example: REQUESTED description: Status of the document. REQUESTED means the document needs to be provided documentLevel: type: string example: Primary description: Identity documents level - The category of document which is predefined. Primary is one of the categories and has some limited set of applicable documents. documentId: type: string example: 122b4c2e-4442-408e-a29f-8568bf59099e description: Unique identifier of the document which user uploaded partyType: type: string example: Organization description: Specifies the party type, for Legal Entity it is Organization and for Related party e.g. Owner/Controller etc. it is Individual numberOfDaysRemainingToUpload: type: string example: '30' description: 'Specifies number of days remaining to upload documents ' documentType: type: string example: Social Security Card description: Specifies type of the document uploaded supportedDocuments: type: array items: type: string description: List of supported documents which client can choose to upload minItems: 0 maxItems: 100 AdditionalDocuments: allOf: - $ref: '#/components/schemas/AdditionalDocument' ClientVerificationsInformationResponse: type: object properties: status: type: string example: PENDING_VALIDATION description: If the status is present in the response, verifications are submitted for the client verifications: type: array items: $ref: '#/components/schemas/VerificationsResponse' minItems: 0 attestations: type: array items: $ref: '#/components/schemas/AttestationsResponse' minItems: 0 additionalDocuments: type: array items: $ref: '#/components/schemas/AdditionalDocuments' minItems: 0 VerificationIdRequest: type: object required: - id properties: id: type: string example: A01148 description: The unique identifier for a personal identification verification. AnswerRequest: type: object required: - values properties: values: type: array items: type: string example: - CUB - SYR description: | The answer/s of a question. Can contain one or more elements. In case where response options are provided, it has to be the id/s depending on single or list format. In case of other formats e.g. freeText, there can be only one element. minItems: 0 maxItems: 100 VerificationRequest: type: object required: - verification - response properties: verification: $ref: '#/components/schemas/VerificationIdRequest' response: $ref: '#/components/schemas/AnswerRequest' VerificationsRequest: allOf: - $ref: '#/components/schemas/VerificationRequest' AttestationRequest: type: object required: - fullName - ipAddress - documentId properties: fullName: type: string example: Rob Allen description: ' First and last name of the attester.' ipAddress: type: string example: 192.168.0.1 description: ' Attested IP address' documentId: type: string example: 122b4c2e-4442-408e-a29f-8568bf59099e description: Unique identifier of the legal document that must be attested by the user. For example, terms & conditions or disclosure & consent documents. AttestationsRequest: allOf: - $ref: '#/components/schemas/AttestationRequest' ClientVerificationsInformationRequest: type: object properties: verifications: type: array items: $ref: '#/components/schemas/VerificationsRequest' minItems: 0 attestations: type: array items: $ref: '#/components/schemas/AttestationsRequest' minItems: 0 FetchLevel: type: string enum: - USER_STATUS - PARTY - ROLES schemas-Phone: type: object required: - countryCode - phoneNumber properties: countryCode: type: string minLength: 1 maxLength: 10 pattern: ^((\+\d{1,3})|(\d{1,4}))$ example: '+1' description: The ISO calling code for the phone number. phoneNumber: type: string minLength: 4 maxLength: 15 pattern: ^\d{1,15}$ example: '7785462944' description: | Phone Number Information of the user AddressType: type: string example: Principal place of business description: Type of address e.g. 'Primary Residence' | 'Principal place of business'. enum: - Principal place of business - Local office - Primary Residence - Business street address Address: type: object required: - addressLine1 - city - state - countryCode - postalCode properties: addressType: $ref: '#/components/schemas/AddressType' addressLine1: type: string pattern: (?=.*\d)(?=.*[A-Za-z])^\d.*$|^[NSEWnsew]\d.*$ maxLength: 34 example: 689 Main St description: addressLine1 must not be a PO Box and must begin with a number.addressLine1 has a maximum of 60 characters. addressLine2: type: string pattern: '[\p{L}\p{M}\p{N}\p{P}\p{Z}\p{Cf}\p{Cs}\s]*' maxLength: 34 example: Opposite St. Andrews Church description: addressLine2 has a maximum of 60 characters. addressLine3: type: string pattern: '[\p{L}\p{M}\p{N}\p{P}\p{Z}\p{Cf}\p{Cs}\s]*' maxLength: 34 example: Mini York description: addressLine3 has a maximum of 60 characters. city: type: string pattern: '[\p{L}\p{M}\p{N}\p{P}\p{Z}\p{Cf}\p{Cs}\s]*' maxLength: 34 example: Anchorage description: city has a maximum of 30 characters. state: type: string pattern: ^[a-z-A-Z ]+$ maxLength: 30 example: AZ description: State code in alpha-2 format. postalCode: type: string pattern: ^[\\p{IsLatin}0-9- \\.]+$ maxLength: 10 example: '99501' description: Postal/ZIP code. countryCode: type: string example: US description: Country code in alpha-2 format. BaseUser: type: object properties: username: type: string minLength: 5 maxLength: 30 example: me@chase21 pattern: ^(?=.{6,30}$)(?![_.@])(?!.*[_.@]{2})[a-zA-Z0-9._@]+(?