Files
adyen-openapi/specs/3.0/AccountService-v4.yaml
Richard Zetterberg dfd1ce7445 Adds right curl flag in example
The curl flag `-U` is used for:

> Specify the user name and password to use for proxy authentication.

This curl flag `-u` is used for:

> Specify the user name and password to use for server authentication.

This change adds the correct curl flag for using basic
authentication.
2018-07-16 16:30:35 +02:00

2167 lines
91 KiB
YAML

openapi: 3.0.0
servers:
- url: 'https://cal-test.adyen.com/cal/services/Account/v4'
info:
version: '4'
title: Adyen MarketPay Account Service
description: |-
The MarketPay Account API provides endpoints for managing MarketPay account-related entities. These related entities include account holders, accounts, bank accounts, shareholders, and KYC-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.
For further information on MarketPay API, visit the [MarketPay documentation](https://docs.adyen.com/developers/marketpay/marketpay-overview).
## Authentication
To connect to the MarketPay API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:
```
curl
-u "ws@Company.YourCompany":"YourWsPassword" \
-H "Content-Type: application/json" \
...
```
Note that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/developers/api-reference/live-endpoints).
## Versioning
MarketPay API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: "vXX", where XX is the version number.
For example:
```
https://cal-test.adyen.com/cal/services/Account/v4/createAccountHolder
```
termsOfService: 'https://docs.adyen.com/legal/terms-conditions'
contact:
name: Adyen Support
url: 'https://support.adyen.com/'
email: support@adyen.com
x-groups:
- Account holders
- Accounts
- Verification
paths:
/closeAccount:
post:
summary: Close an existing account under an account holder.
description: 'This endpoint is used to close an existing account under an account holder. If an account is closed, it may not process transactions or have its funds paid out,and it may not be reopened. Any payments made to a closed account will be directed to the merchant''s liable account.'
x-groupName: Accounts
x-sortIndex: 3
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CloseAccountRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CloseAccountResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/closeAccountHolder:
post:
summary: Close an existing account holder.
description: 'This endpoint is used to close an existing account holder and its accounts. If an account holder is closed, it may not process transactions or pay out funds, and it may not be reopened. Any payments made to a closed account will be directed to the merchant''s liable account.'
x-groupName: Account holders
x-sortIndex: 7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CloseAccountHolderRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CloseAccountHolderResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/createAccount:
post:
summary: Create a new account under an existing account holder.
description: This endpoint is used to create an account under an existing account holder. An account holder may have multiple accounts.
x-groupName: Accounts
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAccountRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAccountResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
callbacks:
accountCreated:
notificationURL:
post:
summary: Triggered upon the creation of an Account.
description: This notification is sent when an Account has been created.
x-sortIndex: 0
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountCreateNotification'
responses:
'200':
content:
application/json:
schema:
type: string
description: '[accepted]'
/createAccountHolder:
post:
summary: Create a new account holder.
description: 'This endpoint is used to create an account holder. Each account holder represents a single sub-merchant, and each sub-merchant must be represented by an account holder. Depending on the legal entity type, different details are required to be provided in the call to this endpoint.'
x-groupName: Account holders
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAccountHolderRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAccountHolderResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
callbacks:
accountCreated:
notificationURL:
post:
summary: Triggered upon the creation of an Account.
description: This notification is sent when an Account has been created.
x-sortIndex: 0
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountCreateNotification'
responses:
'200':
content:
application/json:
schema:
type: string
description: '[accepted]'
accountHolderVerification:
notificationURL:
post:
summary: Triggered upon the receipt of KYC Verification results.
description: This notification is sent when KYC Verification results are made available.
x-sortIndex: 0
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountHolderVerificationNotification'
responses:
'200':
content:
application/json:
schema:
type: string
description: '[accepted]'
accountHolderCreated:
notificationURL:
post:
summary: Triggered upon the creation of an Account Holder.
description: This notification is sent when an Account Holder has been created.
x-sortIndex: 0
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountHolderCreateNotification'
responses:
'200':
content:
application/json:
schema:
type: string
description: '[accepted]'
/deleteBankAccounts:
post:
summary: Delete bank accounts of an existing account holder.
description: 'This endpoint is used to delete existing bank accounts from an account holder. For this, pass the `accountHolderCode` you got on the account holder creation, and one or more `bankAccountUUIDs` specifying bank accounts to delete.'
x-groupName: Verification
x-sortIndex: 3
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteBankAccountRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/deleteShareholders:
post:
summary: Delete shareholders of an existing account holder.
description: This endpoint is used to delete existing shareholders from an account holder.
x-groupName: Verification
x-sortIndex: 4
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteShareholderRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/getAccountHolder:
post:
summary: Retrieve the details of an account holder.
description: This endpoint is used to retrieve the details of an account holder.
x-groupName: Account holders
x-sortIndex: 2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountHolderRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountHolderResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/getUploadedDocuments:
post:
summary: Retrieve the uploaded documents of an existing account holder.
description: |-
This endpoint is used to retrieve documents previously uploaded for use in the KYC Verification of an account holder.
For further information regarding KYC Verification, please refer to [Verification checks](https://docs.adyen.com/developers/marketpay/onboarding-and-verification/verification-checks).
x-groupName: Verification
x-sortIndex: 2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetUploadedDocumentsRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetUploadedDocumentsResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/suspendAccountHolder:
post:
summary: Suspend an existing account holder.
description: 'This endpoint is used to suspend an existing account holder. If an account holder is suspended, it may not process transactions or pay out funds. Any payments made to a suspended account holder will be directed to the merchant''s liable account.'
x-groupName: Account holders
x-sortIndex: 5
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SuspendAccountHolderRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SuspendAccountHolderResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/unSuspendAccountHolder:
post:
summary: Reinstate a disabled account holder.
description: 'This endpoint is used to reinstate an existing account holder, which has been suspended through the `/suspendAccountHolder` endpoint. An account holder which has been suspended due to KYC verification issues cannot be reinstated through this endpoint.'
x-groupName: Account holders
x-sortIndex: 6
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnSuspendAccountHolderRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UnSuspendAccountHolderResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/updateAccount:
post:
summary: Update an existing account under an account holder.
description: This endpoint is used to update the description or payout schedule of an existing account.
x-groupName: Accounts
x-sortIndex: 2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAccountRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAccountResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/updateAccountHolder:
post:
summary: Update an existing account holder.
description: |-
This endpoint is used to update the `accountHolderDetails` or `processingTier` of an account holder.
If updating the `accountHolderDetails`, only the details which have been provided will be updated. Other details will be left as-is with the exception of the following fields:
* `accountHolderDetails.address`
* `accountHolderDetails.phoneNumber`
* `accountHolderDetails.bankAccountDetails.BankAccountDetail`
* `accountHolderDetails.businessDetails.shareholders.ShareholderContact`, which requires all fields necessary for validation (i.e. in order to update only the `accountHolderDetails.address.postalCode`, the fields `accountHolderDetails.address.country`, `.city`, `.street`, `.postalCode`, and possibly `.stateOrProvince` must be provided as well, so that the address can be properly validated).
Note that this endpoint can also be used to create new bank accounts. For this, provide details of a bank account without providing a `bankAccountUUID`.
Similarly, it can also be used to create new shareholders by providing details of a shareholder without providing a `shareholderCode`.
> The updating of the `metadata` field will overwite all of the existing account holder metadata. In order to update an existing metadata key-value pair, all otherkey-value pairs should be provided in order to not delete them.
x-groupName: Account holders
x-sortIndex: 3
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAccountHolderRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAccountHolderResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
callbacks:
accountHolderUpdated:
notificationURL:
post:
summary: Triggered upon the update of an Account Holder.
description: This notification is sent when an Account Holder has been updated.
x-sortIndex: 0
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountHolderUpdateNotification'
responses:
'200':
content:
application/json:
schema:
type: string
description: '[accepted]'
/updateAccountHolderState:
post:
summary: Update the state of an existing account holder.
description: |-
This endpoint is used to disable or enable the processing or payout state of an account holder. It cannot be used to enable an account holder whose processing or payout state has not been disabled through this endpoint.
For further information regarding processing and payout states of an account holder, please refer to the [MarketPay documentation](https://docs.adyen.com/developers/marketpay/marketpay-overview).
x-groupName: Account holders
x-sortIndex: 4
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAccountHolderStateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountHolderStatusResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
callbacks:
accountHolderStatusChange:
notificationURL:
post:
summary: Triggered upon the status change of an Account Holder.
description: This notification is sent when the status of an Account Holder has been changed.
x-sortIndex: 0
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountHolderStatusChangeNotification'
responses:
'200':
content:
application/json:
schema:
type: string
description: '[accepted]'
/uploadDocument:
post:
summary: Upload a document for an existing account holder.
description: |-
This endpoint is used to upload a document for use in the KYC verification of an account holder.
For further information regarding KYC Verification, please refer to [Verification checks](https://docs.adyen.com/developers/marketpay/onboarding-and-verification/verification-checks).
x-groupName: Verification
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UploadDocumentRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAccountHolderResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
components:
schemas:
Account:
properties:
accountCode:
description: The code of the account.
type: string
beneficiaryAccount:
description: The beneficiary of the account.
type: string
beneficiaryMerchantReference:
description: The reason that a beneficiary has been set up for this account. This may have been supplied during the setup of a beneficiary at the discretion of the executing user.
type: string
description:
description: A description of the account.
type: string
payoutSchedule:
description: The account's payout schedule.
$ref: '#/components/schemas/PayoutScheduleResponse'
status:
description: 'The status of the account. Possible values: `Active`, `Inactive`, `Suspended`, `Closed`.'
type: string
AccountCreateNotification:
properties:
content:
description: The details of the account creation.
$ref: '#/components/schemas/CreateAccountResponse'
eventDate:
description: The date and time when an event has been completed.
format: date-time
type: string
eventType:
description: The event type of the notification.
type: string
executingUserKey:
description: The user or process that has triggered the notification.
type: string
live:
description: 'Indicates whether the notification originated from the live environment or the test environment. If true, the notification originated from the live environment. If false, the notification originated from the test environment.'
type: boolean
pspReference:
description: The PSP reference of the request from which the notification originates.
type: string
required:
- executingUserKey
- pspReference
- eventType
- live
- eventDate
- content
AccountEvent:
properties:
event:
description: |-
The event.
>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.
For more information, refer to [Verification checks](https://docs.adyen.com/developers/marketpay/onboarding-and-verification/verification-checks).
enum:
- InactivateAccount
- RefundNotPaidOutTransfers
type: string
executionDate:
description: The date on which the event will take place.
format: date-time
type: string
reason:
description: The reason why this event has been created.
type: string
required:
- event
- executionDate
- reason
AccountHolderCreateNotification:
properties:
content:
description: The details of the account holder creation.
$ref: '#/components/schemas/CreateAccountHolderResponse'
eventDate:
description: The date and time when an event has been completed.
format: date-time
type: string
eventType:
description: The event type of the notification.
type: string
executingUserKey:
description: The user or process that has triggered the notification.
type: string
live:
description: 'Indicates whether the notification originated from the live environment or the test environment. If true, the notification originated from the live environment. If false, the notification originated from the test environment.'
type: boolean
pspReference:
description: The PSP reference of the request from which the notification originates.
type: string
required:
- executingUserKey
- pspReference
- eventType
- live
- eventDate
- content
AccountHolderDetails:
properties:
address:
description: The address of the account holder.
$ref: '#/components/schemas/Address'
bankAccountDetails:
description: |-
Each of the the bank accounts associated with the account holder.
> Each array entry should represent one bank account.
> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/developers/marketpay/onboarding-and-verification/verification-checks).
items:
$ref: '#/components/schemas/BankAccountDetail'
type: array
businessDetails:
description: |-
Details applicable to `Business` legal entities.
Populated only if the account holder's legal entity is of type `Business`.
> Required when being used in a `/createAccountHolder` request in which the legal entity is `Business`.
$ref: '#/components/schemas/BusinessDetails'
email:
description: The email address of the account holder.
type: string
fullPhoneNumber:
description: |-
The phone number of the account holder provided as a single string. It will be handled as a landline phone.
**Examples:** "0031 6 11 22 33 44", "+316/1122-3344", "(0031) 611223344"
type: string
individualDetails:
description: |-
Details applicable to `Individual` legal entities.
Populated only if the account holder's legal entity is of type `Individual`.
> Required when being used in a `/createAccountHolder` request in which the legal entity is `Individual`.
$ref: '#/components/schemas/IndividualDetails'
merchantCategoryCode:
description: |-
The Merchant Category Code of the account holder.
> If not specified in the request, this will be derived from the marketplace account (which is configured by Adyen).
type: string
metadata:
additionalProperties:
type: string
description: |-
A set of key and value pairs for general use by the account holder or merchant.
The keys do not have specific names and may be used for storing miscellaneous data as desired.
> The values being stored have a maximum length of eighty (80) characters and will be truncated if necessary.
> Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.
type: object
webAddress:
description: The URL of the website of the account holder.
type: string
required:
- fullPhoneNumber
- email
AccountHolderStatus:
properties:
events:
description: A list of events scheduled for the account holder.
items:
$ref: '#/components/schemas/AccountEvent'
type: array
payoutState:
description: The payout state of the account holder.
$ref: '#/components/schemas/AccountPayoutState'
processingState:
description: The processing state of the account holder.
$ref: '#/components/schemas/AccountProcessingState'
status:
description: |-
The status of the account holder.
>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.
enum:
- Active
- Closed
- Inactive
- Suspended
type: string
statusReason:
description: The reason why the status was assigned to the account holder.
type: string
required:
- status
- statusReason
- processingState
- payoutState
- events
AccountHolderStatusChangeNotification:
properties:
content:
description: The details of the Account Holder status change.
$ref: '#/components/schemas/AccountHolderStatusChangeNotificationContent'
eventDate:
description: The date and time when an event has been completed.
format: date-time
type: string
eventType:
description: The event type of the notification.
type: string
executingUserKey:
description: The user or process that has triggered the notification.
type: string
live:
description: 'Indicates whether the notification originated from the live environment or the test environment. If true, the notification originated from the live environment. If false, the notification originated from the test environment.'
type: boolean
pspReference:
description: The PSP reference of the request from which the notification originates.
type: string
required:
- executingUserKey
- pspReference
- eventType
- live
- eventDate
AccountHolderStatusChangeNotificationContent:
properties:
accountHolderCode:
description: The code of the account holder.
type: string
newStatus:
description: The new status of the account holder.
$ref: '#/components/schemas/AccountHolderStatus'
oldStatus:
description: The former status of the account holder.
$ref: '#/components/schemas/AccountHolderStatus'
reason:
description: The reason for the status change.
type: string
required:
- accountHolderCode
- oldStatus
- newStatus
- reason
AccountHolderUpdateNotification:
properties:
content:
description: The details of the Account Holder update.
$ref: '#/components/schemas/UpdateAccountHolderResponse'
eventDate:
description: The date and time when an event has been completed.
format: date-time
type: string
eventType:
description: The event type of the notification.
type: string
executingUserKey:
description: The user or process that has triggered the notification.
type: string
live:
description: 'Indicates whether the notification originated from the live environment or the test environment. If true, the notification originated from the live environment. If false, the notification originated from the test environment.'
type: boolean
pspReference:
description: The PSP reference of the request from which the notification originates.
type: string
required:
- executingUserKey
- pspReference
- eventType
- live
- eventDate
- content
AccountHolderVerificationNotification:
properties:
content:
description: The details of the Account Holder verification.
$ref: '#/components/schemas/AccountHolderVerificationNotificationContent'
eventDate:
description: The date and time when an event has been completed.
format: date-time
type: string
eventType:
description: The event type of the notification.
type: string
executingUserKey:
description: The user or process that has triggered the notification.
type: string
live:
description: 'Indicates whether the notification originated from the live environment or the test environment. If true, the notification originated from the live environment. If false, the notification originated from the test environment.'
type: boolean
pspReference:
description: The PSP reference of the request from which the notification originates.
type: string
required:
- executingUserKey
- pspReference
- eventType
- live
- eventDate
- content
AccountHolderVerificationNotificationContent:
properties:
accountHolderCode:
description: The code of the account holder.
type: string
bankAccountUUID:
description: The unique ID of the bank account that has been verified.
type: string
shareholderCode:
description: The code of the shareholder that has been verified.
type: string
statusSummary:
description: A summary of the verification status.
$ref: '#/components/schemas/KYCCheckSummary'
verificationStatus:
description: The status of verification.
enum:
- AWAITING_DATA
- DATA_PROVIDED
- FAILED
- INVALID_DATA
- PASSED
- PENDING
- PENDING_REVIEW
- RETRY_LIMIT_REACHED
- UNCHECKED
type: string
verificationType:
description: The type of validation performed.
enum:
- BANK_ACCOUNT_VERIFICATION
- COMPANY_VERIFICATION
- IDENTITY_VERIFICATION
- NONPROFIT_VERIFICATION
- PASSPORT_VERIFICATION
type: string
required:
- accountHolderCode
AccountPayoutState:
properties:
allowPayout:
description: Indicates whether payouts are allowed.
type: boolean
disableReason:
description: The reason why payouts have been disabled (by the marketplace).
type: string
disabled:
description: Indicates whether payouts have been disabled (by the marketplace) for all of the account holder's accounts.
type: boolean
payoutLimit:
description: The maximum amount that payouts are limited to. Only applies if payouts are allowed but limited.
$ref: '#/components/schemas/Amount'
tierNumber:
description: The payout tier that the account holder occupies.
format: int32
type: integer
required:
- allowPayout
- disabled
- tierNumber
- disableReason
- payoutLimit
AccountProcessingState:
properties:
disableReason:
description: The reason why processing has been disabled.
type: string
disabled:
description: Indicates whether the processing of payments is allowed.
type: boolean
processedFrom:
description: 'The lower bound of the processing tier (i.e., an account holder must have processed at least this amount of money in order to be placed into this tier).'
$ref: '#/components/schemas/Amount'
processedTo:
description: 'The upper bound of the processing tier (i.e., an account holder must have processed less than this amount of money in order to be placed into this tier).'
$ref: '#/components/schemas/Amount'
tierNumber:
description: The processing tier that the account holder occupies.
format: int32
type: integer
required:
- disabled
- disableReason
- processedFrom
- processedTo
- tierNumber
Address:
properties:
city:
description: |-
The name of the city.
>Required if either houseNumberOrName, street, postalCode, or stateOrProvince are provided.
type: string
country:
description: |-
The two-character country code of the address
>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
type: string
houseNumberOrName:
description: The number or name of the house.
type: string
postalCode:
description: |-
The postal code.
>A maximum of five (5) digits for an address in the USA, or a maximum of ten (10) characters for an address in all other countries.
>Required if either houseNumberOrName, street, city, or stateOrProvince are provided.
type: string
stateOrProvince:
description: |-
The abbreviation of the state or province.
>Two (2) characters for an address in the USA or Canada, or a maximum of three (3) characters for an address in all other countries.
>Required for an address in the USA or Canada if either houseNumberOrName, street, city, or postalCode are provided.
type: string
street:
description: |-
The name of the street.
>The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.
>Required if either houseNumberOrName, city, postalCode, or stateOrProvince are provided.
type: string
required:
- country
Amount:
properties:
currency:
description: 'The three-character [ISO currency code](https://docs.adyen.com/developers/currency-codes).'
maxLength: 3
minLength: 3
type: string
value:
description: |-
The payable amount that can be charged for the transaction.
The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/developers/currency-codes).
format: int64
type: integer
required:
- value
- currency
BankAccountDetail:
properties:
accountNumber:
description: |-
The bank account number (without separators).
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
accountType:
description: |-
The type of bank account.
Only applicable to bank accounts held in the USA.
The permitted values are: `checking`, `savings`.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
bankAccountName:
description: The name of the bank account.
type: string
bankAccountUUID:
description: |
The unique identifier (UUID) of the Bank Account.
>If, during an account holder create or update request, this field is left blank (but other fields provided), a new Bank Account will be created with a procedurally-generated UUID.
>If, during an account holder create request, a UUID is provided, the creation of the Bank Account will fail while the creation of the account holder will continue.
>If, during an account holder update request, a UUID that is not correlated with an existing Bank Account is provided, the update of the account holder will fail.
>If, during an account holder update request, a UUID that is correlated with an existing Bank Account is provided, the existing Bank Account will be updated.
type: string
bankBicSwift:
description: |-
The bank identifier code.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
bankCity:
description: |-
The city in which the bank branch is located.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
bankCode:
description: |-
The bank code of the banking institution with which the bank account is registered.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
bankName:
description: |-
The name of the banking institution with which the bank account is held.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
branchCode:
description: |-
The branch code of the branch under which the bank account is registered. The value to be specified in this parameter depends on the country of the bank account:
* United States - Routing number
* United Kingdom - Sort code
* Germany - Bankleitzahl
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
checkCode:
description: |-
The check code of the bank account.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
countryCode:
description: |-
The two-letter country code in which the bank account is registered.
>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
currencyCode:
description: |-
The currency in which the bank account deals.
>The permitted currency codes are defined in ISO-4217 (e.g. 'EUR').
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
iban:
description: |-
The international bank account number.
>The IBAN standard is defined in ISO-13616.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
ownerCity:
description: |-
The city of residence of the bank account owner.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
ownerCountryCode:
description: |-
The country code of the country of residence of the bank account owner.
>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
ownerDateOfBirth:
description: |
The date of birth of the bank account owner.
type: string
ownerHouseNumberOrName:
description: |-
The house name or number of the residence of the bank account owner.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
ownerName:
description: |-
The name of the bank account owner.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
ownerNationality:
description: |-
The country code of the country of nationality of the bank account owner.
>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
ownerPostalCode:
description: |-
The postal code of the residence of the bank account owner.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
ownerState:
description: |-
The state of residence of the bank account owner.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
ownerStreet:
description: |-
The street name of the residence of the bank account owner.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
primaryAccount:
description: 'If set to true, the bank account is a primary account.'
type: boolean
taxId:
description: |-
The tax ID number.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
urlForVerification:
description: |-
The URL to be used for bank account verification.
This may be generated on bank account creation.
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on field requirements.
type: string
BusinessDetails:
properties:
doingBusinessAs:
description: The registered name of the company (if it differs from the legal name of the company).
type: string
legalBusinessName:
description: The legal name of the company.
type: string
registrationNumber:
description: The registration number of the company.
type: string
shareholders:
description: |-
Each of the shareholders associated with the company.
Each array entry should represent one shareholder.
items:
$ref: '#/components/schemas/ShareholderContact'
type: array
taxId:
description: The tax ID of the company.
type: string
CloseAccountHolderRequest:
properties:
accountHolderCode:
description: The code of the Account Holder to be closed.
type: string
required:
- accountHolderCode
CloseAccountHolderResponse:
properties:
accountHolderStatus:
description: The new status of the Account Holder.
$ref: '#/components/schemas/AccountHolderStatus'
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- accountHolderStatus
CloseAccountRequest:
properties:
accountCode:
description: The code of account to be closed.
type: string
required:
- accountCode
CloseAccountResponse:
properties:
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
status:
description: |-
The new status of the account.
>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.
enum:
- Active
- Closed
- Inactive
- Suspended
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- status
CreateAccountHolderRequest:
properties:
accountHolderCode:
description: |-
The desired code of the prospective account holder.
> Must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are permitted.
type: string
accountHolderDetails:
description: The details of the prospective account holder.
$ref: '#/components/schemas/AccountHolderDetails'
createDefaultAccount:
description: |-
If set to true, an account with the default options is created for this account holder.
**Default Value:** true
type: boolean
description:
description: A description of the prospective account holder.
type: string
legalEntity:
description: |-
The entity type.
Permitted values: `Business`, `Individual`
If an account holder is 'Business', then `accountHolderDetails.businessDetails` must be provided, as well as at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.
If an account holder is 'Individual', then `accountHolderDetails.individualDetails` must be provided.
enum:
- Business
- Individual
- NonProfit
type: string
primaryCurrency:
description: The currency with which the prospective account holder primarily deals.
type: string
processingTier:
description: 'The starting [processing tier](https://docs.adyen.com/developers/marketpay/onboarding-and-verification/verification-checks#tiers) for the prospective account holder.'
format: int32
type: integer
required:
- accountHolderCode
- legalEntity
- accountHolderDetails
- description
CreateAccountHolderResponse:
properties:
accountCode:
description: The code of a new account created for the account holder.
type: string
accountHolderCode:
description: The code of the new account holder.
type: string
accountHolderDetails:
description: Details of the new account holder.
$ref: '#/components/schemas/AccountHolderDetails'
accountHolderStatus:
description: The status of the new account holder.
$ref: '#/components/schemas/AccountHolderStatus'
description:
description: The description of the new account holder.
type: string
invalidFields:
description: A list of fields that caused the `/createAccountHolder` request to fail.
items:
$ref: '#/components/schemas/ErrorFieldType'
type: array
legalEntity:
description: The type of legal entity of the new account holder.
enum:
- Business
- Individual
- NonProfit
type: string
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
verification:
description: The details of KYC Verification of the account holder.
$ref: '#/components/schemas/KYCVerificationResult'
required:
- pspReference
- submittedAsync
- accountHolderCode
- accountHolderStatus
- accountHolderDetails
- verification
- legalEntity
CreateAccountRequest:
properties:
accountHolderCode:
description: The code of Account Holder under which to create the account.
type: string
description:
description: A description of the account.
type: string
payoutSchedule:
description: |-
The payout schedule of the prospective account.
>Permitted values: `DEFAULT`, `HOLD`, `DAILY`, `WEEKLY`, `MONTHLY`.
enum:
- DAILY
- DEFAULT
- HOLD
- MONTHLY
- WEEKLY
type: string
payoutScheduleReason:
description: |-
The reason for the payout schedule choice.
>Required if the payoutSchedule is `HOLD`.
type: string
required:
- accountHolderCode
- payoutSchedule
- payoutScheduleReason
- description
CreateAccountResponse:
properties:
accountCode:
description: The code of the new account.
type: string
accountHolderCode:
description: The code of the account holder.
type: string
description:
description: The description of the account.
type: string
payoutSchedule:
description: The payout schedule of the account.
$ref: '#/components/schemas/PayoutScheduleResponse'
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
status:
description: |-
The status of the account.
>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.
enum:
- Active
- Closed
- Inactive
- Suspended
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- accountHolderCode
- accountCode
- status
DeleteBankAccountRequest:
properties:
accountHolderCode:
description: The code of the Account Holder from which to delete the Bank Account(s).
type: string
bankAccountUUIDs:
description: The code(s) of the Bank Accounts to be deleted.
items:
type: string
type: array
required:
- accountHolderCode
- bankAccountUUIDs
DeleteShareholderRequest:
properties:
accountHolderCode:
description: The code of the Account Holder from which to delete the Shareholders.
type: string
shareholderCodes:
description: The code(s) of the Shareholders to be deleted.
items:
type: string
type: array
required:
- accountHolderCode
- shareholderCodes
DocumentDetail:
properties:
accountHolderCode:
description: 'The code of account holder, to which the document applies.'
type: string
bankAccountUUID:
description: |-
The unique ID of the Bank Account to which the document applies.
>Required if the documentType is `BANK_STATEMENT` (i.e., a document is being submitted in order to verify a bank account).
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on when a document should be submitted in order to verify a bank account.
type: string
description:
description: Description of the document.
type: string
documentType:
description: |-
The type of document.
Permitted values:
* `ID_CARD` denotes an image containing both the front and back of the ID card.
* `ID_CARD_FRONT` denotes an image containing only the front of the ID card. In order for a document to be usable, both the `ID_CARD_FRONT` and `ID_CARD_BACK` must be submitted.
* `ID_CARD_BACK` denotes an image containing only the back of the ID card. In order for a document to be usable, both the `ID_CARD_FRONT` and `ID_CARD_BACK` must be submitted.
* `DRIVING_LICENCE` denotes an image containing both the front and back of the driving licence.
* `DRIVING_LICENCE_FRONT` denotes an image containing only the front of the driving licence. In order for a document to be usable, both the `DRIVING_LICENCE_FRONT` and `DRIVING_LICENCE_BACK` must be submitted.
* `DRIVING_LICENCE_BACK` denotes an image containing only the back of the driving licence. In order for a document to be usable, both the `DRIVING_LICENCE_FRONT` and `DRIVING_LICENCE_FRONT` must be submitted.
>Please refer to [Verification checks](https://docs.adyen.com/developers/marketpay/onboarding-and-verification/verification-checks) for details on when each document type should be submitted.
enum:
- BANK_STATEMENT
- BSN
- DRIVING_LICENCE
- DRIVING_LICENCE_BACK
- DRIVING_LICENCE_FRONT
- ID_CARD
- ID_CARD_BACK
- ID_CARD_FRONT
- NHIS
- PASSPORT
- SSN
type: string
filename:
description: Filename of the document.
type: string
shareholderCode:
description: |-
The code of the shareholder, to which the document applies.
>Required if the account holder referred to by the `accountHolderCode` has a `legalEntity` of type `Business` and the `documentType` is either `PASSPORT`, `ID_CARD`, `ID_CARD_FRONT`, `ID_CARD_BACK`, `DRIVING_LICENCE`, `DRIVING_LICENCE_FRONT`, `DRIVING_LICENCE_BACK` (i.e. a document is being submitted in order to verify a shareholder).
>Refer to the [Onboarding and verification](https://docs.adyen.com/developers/marketpay/onboarding-and-verification) section for details on when a document should be submitted in order to verify a shareholder.
type: string
required:
- accountHolderCode
- documentType
- filename
ErrorFieldType:
properties:
errorCode:
description: The validation error code.
format: int32
type: integer
errorDescription:
description: A description of the validation error.
type: string
fieldType:
description: The type of error field.
$ref: '#/components/schemas/FieldType'
FieldType:
properties:
field:
description: The full name of the property.
type: string
fieldName:
description: The type of the field.
enum:
- accountHolderCode
- accountHolderDetails
- accountNumber
- accountType
- address
- bankAccount
- bankBicSwift
- bankCity
- bankCode
- bankName
- bankStatement
- branchCode
- businessContact
- checkCode
- city
- country
- countryCode
- currencyCode
- dateOfBirth
- description
- document
- drivingLicence
- drivingLicenceBack
- email
- firstName
- fullPhoneNumber
- gender
- houseNumberOrName
- iban
- idCard
- idCardBack
- idCardFront
- idNumber
- identityDocument
- lastName
- legalBusinessName
- merchantCategoryCode
- microDeposit
- name
- nationality
- ownerCity
- ownerCountryCode
- ownerHouseNumberOrName
- ownerName
- ownerPostalCode
- ownerState
- ownerStreet
- passport
- personalData
- phoneCountryCode
- phoneNumber
- postalCode
- registrationNumber
- shareholder
- stateOrProvince
- street
- taxId
- tierNumber
- unknown
- virtualAccount
- webAddress
type: string
shareholderCode:
description: 'The code of the shareholder that the field belongs to. If empty, the field belongs to an account holder.'
type: string
GenericResponse:
properties:
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
GetAccountHolderRequest:
properties:
accountCode:
description: |-
The code of the account of which to retrieve the details.
> Required if no `accountHolderCode` is provided.
type: string
accountHolderCode:
description: |-
The code of the account holder of which to retrieve the details.
> Required if no `accountCode` is provided.
type: string
GetAccountHolderResponse:
properties:
accountHolderCode:
description: The code of the account holder.
type: string
accountHolderDetails:
description: Details of the account holder.
$ref: '#/components/schemas/AccountHolderDetails'
accountHolderStatus:
description: The status of the account holder.
$ref: '#/components/schemas/AccountHolderStatus'
accounts:
description: A list of the accounts under the account holder.
items:
$ref: '#/components/schemas/Account'
type: array
description:
description: The description of the account holder.
type: string
legalEntity:
description: The legal entity of the account holder.
enum:
- Business
- Individual
- NonProfit
type: string
primaryCurrency:
description: The currency with which the prospective account holder primarily deals.
type: string
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
verification:
description: The details of KYC Verification of the account holder.
$ref: '#/components/schemas/KYCVerificationResult'
required:
- pspReference
- submittedAsync
- accountHolderCode
- legalEntity
- accountHolderStatus
- accountHolderDetails
- verification
GetAccountHolderStatusResponse:
properties:
accountHolderCode:
description: The code of the Account Holder.
type: string
accountHolderStatus:
description: The status of the Account Holder.
$ref: '#/components/schemas/AccountHolderStatus'
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- accountHolderCode
- accountHolderStatus
GetUploadedDocumentsRequest:
properties:
accountHolderCode:
description: The code of the Account Holder for which to retrieve the documents.
type: string
bankAccountUUID:
description: The code of the Bank Account for which to retrieve the documents.
type: string
shareholderCode:
description: The code of the Shareholder for which to retrieve the documents.
type: string
required:
- accountHolderCode
GetUploadedDocumentsResponse:
properties:
documentDetails:
description: A list of the documents and their details.
items:
$ref: '#/components/schemas/DocumentDetail'
type: array
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
IndividualDetails:
properties:
name:
description: The name of the individual.
$ref: '#/components/schemas/Name'
personalData:
description: Personal information of the individual.
$ref: '#/components/schemas/PersonalData'
KYCBankAccountCheckResult:
properties:
bankAccountUUID:
description: The unique ID of the bank account to which the check applies.
type: string
checks:
description: A list of the checks and their statuses.
items:
$ref: '#/components/schemas/KYCCheckStatusData'
type: array
required:
- checks
- bankAccountUUID
KYCCheckResult:
properties:
checks:
description: A list of the checks and their statuses.
items:
$ref: '#/components/schemas/KYCCheckStatusData'
type: array
required:
- checks
KYCCheckStatusData:
properties:
requiredFields:
description: A list of the fields required for execution of the check.
items:
type: string
type: array
status:
description: |-
The status of the check.
>Permitted Values: `UNCHECKED`, `DATA_PROVIDED`, `PASSED`, `PENDING`, `AWAITING_DATA`, `RETRY_LIMIT_REACHED`, `INVALID_DATA`, `FAILED`.
enum:
- AWAITING_DATA
- DATA_PROVIDED
- FAILED
- INVALID_DATA
- PASSED
- PENDING
- PENDING_REVIEW
- RETRY_LIMIT_REACHED
- UNCHECKED
type: string
summary:
description: A summary of the execution of the check.
$ref: '#/components/schemas/KYCCheckSummary'
type:
description: |-
The type of check.
>Permitted Values: `COMPANY_VERIFICATION`, `IDENTITY_VERIFICATION`, `PASSPORT_VERIFICATION`, `BANK_ACCOUNT_VERIFICATION`, `NONPROFIT_VERIFICATION`.
enum:
- BANK_ACCOUNT_VERIFICATION
- COMPANY_VERIFICATION
- IDENTITY_VERIFICATION
- NONPROFIT_VERIFICATION
- PASSPORT_VERIFICATION
type: string
required:
- type
- status
- summary
- requiredFields
KYCCheckSummary:
properties:
code:
description: The code of the check.
format: int32
type: integer
description:
description: A description of the check.
type: string
required:
- code
KYCShareholderCheckResult:
properties:
checks:
description: A list of the checks and their statuses.
items:
$ref: '#/components/schemas/KYCCheckStatusData'
type: array
shareholderCode:
description: The code of the shareholder to which the check applies.
type: string
required:
- checks
- shareholderCode
KYCVerificationResult:
properties:
accountHolder:
description: The result(s) of the checks on the account holder.
$ref: '#/components/schemas/KYCCheckResult'
bankAccounts:
description: The result(s) of the checks on the bank account(s).
items:
$ref: '#/components/schemas/KYCBankAccountCheckResult'
type: array
shareholders:
description: The result(s) of the checks on the shareholder(s).
items:
$ref: '#/components/schemas/KYCShareholderCheckResult'
type: array
required:
- accountHolder
- shareholders
- bankAccounts
Name:
properties:
firstName:
description: The first name.
type: string
gender:
description: |-
The gender.
>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.
enum:
- MALE
- FEMALE
- UNKNOWN
maxLength: 1
minLength: 1
type: string
infix:
description: |-
The name's infix, if applicable.
>A maximum length of twenty (20) characters is imposed.
type: string
lastName:
description: The last name.
type: string
required:
- firstName
- lastName
- gender
PayoutScheduleResponse:
properties:
nextScheduledPayout:
description: The date of the next scheduled payout.
format: date-time
type: string
schedule:
description: |-
The payout schedule of the account.
>Permitted values: `DEFAULT`, `HOLD`, `DAILY`, `WEEKLY`, `MONTHLY`.
enum:
- DAILY
- DEFAULT
- HOLD
- MONTHLY
- WEEKLY
type: string
required:
- schedule
- nextScheduledPayout
PersonalData:
properties:
dateOfBirth:
description: |-
The date of birth of the person.
The date should be in ISO-8601 format yyyy-mm-dd (e.g. 2000-01-31).
type: string
idNumber:
description: An ID number of the person.
type: string
nationality:
description: |-
The nationality of the person represented by a two-character country code.
>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
maxLength: 2
minLength: 2
type: string
PhoneNumber:
properties:
phoneCountryCode:
description: |-
The two-character country code of the phone number.
>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
type: string
phoneNumber:
description: |-
The phone number.
>The inclusion of the phone number country code is not necessary.
type: string
phoneType:
description: |-
The type of the phone number.
>The following values are permitted: `Landline`, `Mobile`, `SIP`, `Fax`.
enum:
- Fax
- Landline
- Mobile
- SIP
type: string
required:
- phoneCountryCode
- phoneNumber
ShareholderContact:
properties:
address:
description: The address of the contact.
$ref: '#/components/schemas/Address'
email:
description: The e-mail address of the contact.
type: string
fullPhoneNumber:
description: |-
The phone number of the contact provided as a single string. It will be handled as a landline phone.
**Examples:** "0031 6 11 22 33 44", "+316/1122-3344", "(0031) 611223344"
type: string
name:
description: The name of the contact.
$ref: '#/components/schemas/Name'
personalData:
description: Personal data of the contact.
$ref: '#/components/schemas/PersonalData'
phoneNumber:
description: The phone number of the contact.
$ref: '#/components/schemas/PhoneNumber'
shareholderCode:
description: |
The unique identifier (UUID) of the Shareholder.
>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**
>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**
>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**
>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Bank Account will be updated.**
type: string
webAddress:
description: The URL of the website of the contact.
type: string
SuspendAccountHolderRequest:
properties:
accountHolderCode:
description: The code of the account holder to be suspended.
type: string
required:
- accountHolderCode
SuspendAccountHolderResponse:
properties:
accountHolderStatus:
description: The new status of the Account Holder.
$ref: '#/components/schemas/AccountHolderStatus'
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- accountHolderStatus
UnSuspendAccountHolderRequest:
properties:
accountHolderCode:
description: The code of the account holder to be reinstated.
type: string
required:
- accountHolderCode
UnSuspendAccountHolderResponse:
properties:
accountHolderStatus:
description: The new status of the account holder.
$ref: '#/components/schemas/AccountHolderStatus'
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- accountHolderStatus
UpdateAccountHolderRequest:
properties:
accountHolderCode:
description: The code of the Account Holder to be updated.
type: string
accountHolderDetails:
description: |-
The details to which the Account Holder should be updated.
Required if a processingTier is not provided.
$ref: '#/components/schemas/AccountHolderDetails'
description:
description: The description to which the Account Holder should be updated.
type: string
primaryCurrency:
description: The primary currency to which the Account Holder should be updated.
type: string
processingTier:
description: |-
The processing tier to which the Account Holder should be updated.
>The processing tier can not be lowered through this request.
>Required if accountHolderDetails are not provided.
format: int32
type: integer
required:
- accountHolderCode
UpdateAccountHolderResponse:
properties:
accountHolderCode:
description: The code of the account holder.
type: string
accountHolderDetails:
description: Details of the account holder.
$ref: '#/components/schemas/AccountHolderDetails'
accountHolderStatus:
description: The new status of the account holder.
$ref: '#/components/schemas/AccountHolderStatus'
description:
description: The description of the account holder.
type: string
invalidFields:
description: 'in case the account holder has not been updated, contains account holder fields, that did not pass the validation.'
items:
$ref: '#/components/schemas/ErrorFieldType'
type: array
legalEntity:
description: The legal entity of the account holder.
enum:
- Business
- Individual
- NonProfit
type: string
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
updatedFields:
description: A list of the fields updated through the request.
items:
$ref: '#/components/schemas/FieldType'
type: array
verification:
description: The details of KYC Verification of the account holder.
$ref: '#/components/schemas/KYCVerificationResult'
required:
- pspReference
- submittedAsync
- accountHolderStatus
- verification
- legalEntity
UpdateAccountHolderStateRequest:
properties:
accountHolderCode:
description: The code of the Account Holder on which to update the state.
type: string
disable:
description: 'If true, disable the requested state. If false, enable the requested state.'
type: boolean
reason:
description: |-
The reason that the state is being updated.
>Required if the state is being disabled.
type: string
stateType:
description: |-
The state to be updated.
>Permitted values are: `Processing`, `Payout`
enum:
- LimitedPayout
- LimitedProcessing
- LimitlessPayout
- LimitlessProcessing
- Payout
- Processing
type: string
required:
- accountHolderCode
- stateType
- disable
UpdateAccountRequest:
properties:
accountCode:
description: The code of the account to update.
type: string
description:
description: A description of the account.
type: string
payoutSchedule:
description: 'The details of the payout schedule, to which the account should be updated.'
$ref: '#/components/schemas/UpdatePayoutScheduleRequest'
required:
- accountCode
UpdateAccountResponse:
properties:
accountCode:
description: The code of the account.
type: string
description:
description: The description of the account.
type: string
payoutSchedule:
description: The payout schedule of the account.
$ref: '#/components/schemas/PayoutScheduleResponse'
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- accountCode
- payoutSchedule
UpdatePayoutScheduleRequest:
properties:
action:
description: |-
Direction on how to handle any payouts that have already been scheduled.
Permitted values:
* `CLOSE` will close the existing batch of payouts.
* `UPDATE` will reschedule the existing batch to the new schedule.
* `NOTHING` (**default**) will allow the payout to proceed.
enum:
- CLOSE
- NOTHING
- UPDATE
type: string
reason:
description: |-
The reason for the payout schedule update.
> This field is required when the `schedule` parameter is set to `HOLD`.
type: string
schedule:
description: |-
The payout schedule to which the account is to be updated.
Permitted values: `DEFAULT`, `HOLD`, `DAILY`, `WEEKLY`, `MONTHLY`.
enum:
- DAILY
- DEFAULT
- HOLD
- MONTHLY
- WEEKLY
type: string
required:
- schedule
UploadDocumentRequest:
properties:
documentContent:
description: |-
The content of the document as represented by a Base64-encoded string.
Restrictions:
* Maximum 2 pages.
* File size must be no less than 1000 bytes and no greater than 10 MB.
* File format must be either a jpeg, jpg, pdf, or png.
format: byte
type: string
documentDetail:
description: Details of the document being submitted.
$ref: '#/components/schemas/DocumentDetail'
required:
- documentDetail
- documentContent