openapi: 3.1.0 info: version: '6' x-publicVersion: true title: Adyen Account acceptDispute uploadDocument API description: "This API is used for the classic integration. If you are just starting your implementation, refer to our [new integration guide](https://docs.adyen.com/marketplaces-and-platforms) instead.\n\nThe Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and verification-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/marketplaces-and-platforms/classic).\n## Authentication\nYour Adyen contact will provide your API credential and an API key. To connect to the API, add an `X-API-Key` header with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively, you can use the username and password to connect to the API using basic authentication. For example:\n\n```\ncurl\n-U \"ws@MarketPlace.YOUR_PLATFORM_ACCOUNT\":\"YOUR_WS_PASSWORD\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nWhen going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://cal-test.adyen.com/cal/services/Account/v6/createAccountHolder\n```" x-timestamp: '2023-05-30T15:27:20Z' termsOfService: https://www.adyen.com/legal/terms-and-conditions contact: name: Adyen Developer Experience team url: https://github.com/Adyen/adyen-openapi servers: - url: https://cal-test.adyen.com/cal/services/Account/v6 tags: - name: uploadDocument paths: /uploadDocument: post: tags: - uploadDocument summary: Adyen Upload a Document description: Uploads a document for an account holder. Adyen uses the documents during the [verification process](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process). operationId: post-uploadDocument x-groupName: Verification x-sortIndex: 1 x-methodName: uploadDocument security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: examples: basic: $ref: '#/components/examples/post-uploadDocument-basic' schema: $ref: '#/components/schemas/UploadDocumentRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateAccountHolderResponse' examples: post-uploadDocument200Example: summary: Default post-uploadDocument 200 response x-microcks-default: true value: accountHolderCode: CODE123 accountHolderDetails: example_value accountHolderStatus: active description: A sample description for this resource. invalidFields: - example_value legalEntity: Business primaryCurrency: USD pspReference: REF-001 resultCode: CODE123 verification: example_value verificationProfile: example_value description: OK - the request has succeeded. '202': content: application/json: schema: $ref: '#/components/schemas/UpdateAccountHolderResponse' examples: post-uploadDocument202Example: summary: Default post-uploadDocument 202 response x-microcks-default: true value: accountHolderCode: CODE123 accountHolderDetails: example_value accountHolderStatus: active description: A sample description for this resource. invalidFields: - example_value legalEntity: Business primaryCurrency: USD pspReference: REF-001 resultCode: CODE123 verification: example_value verificationProfile: example_value description: Accepted - the request has been accepted for processing, but the processing has not been completed. '400': content: application/json: examples: generic: $ref: '#/components/examples/generic-400' schema: $ref: '#/components/schemas/ServiceError' description: Bad Request - a problem reading or understanding the request. '401': content: application/json: schema: $ref: '#/components/schemas/ServiceError' examples: post-uploadDocument401Example: summary: Default post-uploadDocument 401 response x-microcks-default: true value: errorCode: CODE123 errorType: standard message: example_value pspReference: REF-001 status: 500 description: Unauthorized - authentication required. '403': content: application/json: examples: generic: $ref: '#/components/examples/generic-403' schema: $ref: '#/components/schemas/ServiceError' description: Forbidden - insufficient permissions to process the request. '422': content: application/json: schema: $ref: '#/components/schemas/ServiceError' examples: post-uploadDocument422Example: summary: Default post-uploadDocument 422 response x-microcks-default: true value: errorCode: CODE123 errorType: standard message: example_value pspReference: REF-001 status: 500 description: Unprocessable Entity - a request validation error. '500': content: application/json: schema: $ref: '#/components/schemas/ServiceError' examples: post-uploadDocument500Example: summary: Default post-uploadDocument 500 response x-microcks-default: true value: errorCode: CODE123 errorType: standard message: example_value pspReference: REF-001 status: 500 description: Internal Server Error - the server could not process the request. x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: LegalArrangementEntityDetail: properties: address: description: The address of the entity. $ref: '#/components/schemas/ViasAddress' businessDetails: description: Required when creating an entity with `legalEntityType` **Business**, **NonProfit**, **PublicCompany**, or **Partnership**. $ref: '#/components/schemas/BusinessDetails' email: description: The e-mail address of the entity. 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 individualDetails: description: Required when creating an entity with `legalEntityType` **Individual**. $ref: '#/components/schemas/IndividualDetails' legalArrangementEntityCode: description: 'Adyen-generated unique alphanumeric identifier (UUID) for the entry, returned in the response when you create a legal arrangement entity. Use only when updating an account holder. If you include this field when creating an account holder, the request will fail.' type: string legalArrangementEntityReference: description: Your reference for the legal arrangement entity. type: string legalArrangementMembers: description: 'An array containing the roles of the entity in the legal arrangement. The possible values depend on the legal arrangement `type`. - For `type` **Association**: **ControllingPerson** and **Shareholder**. - For `type` **Partnership**: **Partner** and **Shareholder**. - For `type` **Trust**: **Trustee**, **Settlor**, **Protector**, **Beneficiary**, and **Shareholder**. ' items: enum: - Beneficiary - ControllingPerson - Partner - Protector - Settlor - Shareholder - Trustee type: string type: array legalEntityType: description: 'The legal entity type. Possible values: **Business**, **Individual**, **NonProfit**, **PublicCompany**, or **Partnership**. ' enum: - Business - Individual - NonProfit - Partnership - PublicCompany type: string phoneNumber: description: The phone number of the entity. $ref: '#/components/schemas/ViasPhoneNumber' webAddress: description: The URL of the website of the contact. type: string type: object StoreDetail: properties: address: description: The address of the physical store where the account holder will process payments from. $ref: '#/components/schemas/ViasAddress' fullPhoneNumber: description: 'The phone number of the store 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 logo: x-addedInVersion: '5' description: Store logo for payment method setup. type: string merchantAccount: description: The merchant account to which the store belongs. type: string merchantCategoryCode: description: The merchant category code (MCC) that classifies the business of the account holder. type: string merchantHouseNumber: x-addedInVersion: '5' description: Merchant house number for payment method setup. type: string phoneNumber: description: The phone number of the store. $ref: '#/components/schemas/ViasPhoneNumber' shopperInteraction: x-addedInVersion: '5' description: 'The sales channel. Possible values: **Ecommerce**, **POS**.' enum: - Ecommerce - POS type: string splitConfigurationUUID: x-addedInVersion: '5' description: The unique reference for the split configuration, returned when you configure splits in your Customer Area. When this is provided, the `virtualAccount` is also required. Adyen uses the configuration and the `virtualAccount` to split funds between accounts in your platform. type: string status: description: 'The status of the store. Possible values: **Pending**, **Active**, **Inactive**, **InactiveWithModifications**, **Closed**.' enum: - Active - Closed - Inactive - InactiveWithModifications - Pending type: string store: description: Adyen-generated unique alphanumeric identifier (UUID) for the store, returned in the response when you create a store. Required when updating an existing store in an `/updateAccountHolder` request. type: string storeName: description: "The name of the account holder's store. This value is shown in shopper statements.\n\n* Length: Between 3 to 22 characters \n\n* The following characters are *not* supported: **:;}{$#@!|<>%^*+=\\\\**" type: string storeReference: description: "Your unique identifier for the store. The Customer Area also uses this value for the store description.\n\n * Length: Between 3 to 128 characters\n\n* The following characters are *not* supported: **:;}{$#@!|<>%^*+=\\\\**" type: string virtualAccount: x-addedInVersion: '5' description: The account holder's `accountCode` where the split amount will be sent. Required when you provide the `splitConfigurationUUID`. type: string webAddress: x-addedInVersion: '5' description: URL of the ecommerce store. type: string required: - merchantCategoryCode - address - merchantAccount type: object AccountPayoutState: properties: allowPayout: description: Indicates whether payouts are allowed. This field is the overarching payout status, and is the aggregate of multiple conditions (e.g., KYC status, disabled flag, etc). If this field is false, no payouts will be permitted for any of the account holder's accounts. If this field is true, payouts will be permitted for any of the account holder's accounts. type: boolean disableReason: description: The reason why payouts (to all of the account holder's accounts) have been disabled (by the platform). If the `disabled` field is true, this field can be used to explain why. type: string disabled: description: Indicates whether payouts have been disabled (by the platform) for all of the account holder's accounts. A platform may enable and disable this field at their discretion. If this field is true, `allowPayout` will be false and no payouts will be permitted for any of the account holder's accounts. If this field is false, `allowPayout` may or may not be enabled, depending on other factors. type: boolean notAllowedReason: x-addedInVersion: '5' description: The reason why payouts (to all of the account holder's accounts) have been disabled (by Adyen). If payouts have been disabled by Adyen, this field will explain why. If this field is blank, payouts have not been disabled by Adyen. type: string payoutLimit: description: The maximum amount that payouts are limited to. Only applies if payouts are allowed but limited. $ref: '#/components/schemas/Amount' tierNumber: x-addedInVersion: '3' description: The payout tier that the account holder occupies. format: int32 type: integer type: object KYCLegalArrangementCheckResult: properties: checks: description: A list of the checks and their statuses. items: $ref: '#/components/schemas/KYCCheckStatusData' type: array legalArrangementCode: description: The unique ID of the legal arrangement to which the check applies. type: string type: object PersonalDocumentData: properties: expirationDate: description: "The expiry date of the document, \n in ISO-8601 YYYY-MM-DD format. For example, **2000-01-31**." type: string issuerCountry: description: "The country where the document was issued, in the two-character \n[ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. For example, **NL**." maxLength: 2 minLength: 2 type: string issuerState: description: The state where the document was issued (if applicable). type: string number: description: The number in the document. type: string type: description: 'The type of the document. Possible values: **ID**, **DRIVINGLICENSE**, **PASSPORT**, **SOCIALSECURITY**, **VISA**. To delete an existing entry for a document `type`, send only the `type` field in your request. ' enum: - DRIVINGLICENSE - ID - PASSPORT - SOCIALSECURITY - VISA type: string required: - type type: object KYCUltimateParentCompanyCheckResult: properties: checks: description: A list of the checks and their statuses. items: $ref: '#/components/schemas/KYCCheckStatusData' type: array ultimateParentCompanyCode: x-addedInVersion: '6' description: The code of the Ultimate Parent Company to which the check applies. type: string type: object ShareholderContact: properties: address: description: The address of the person. $ref: '#/components/schemas/ViasAddress' email: description: The e-mail address of the person. type: string fullPhoneNumber: description: 'The phone number of the person 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 jobTitle: description: 'Job title of the person. Required when the `shareholderType` is **Controller**. Example values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.' type: string name: description: The name of the person. $ref: '#/components/schemas/ViasName' personalData: description: Contains information about the person. $ref: '#/components/schemas/ViasPersonalData' phoneNumber: description: The phone number of the person. $ref: '#/components/schemas/ViasPhoneNumber' shareholderCode: description: 'The unique identifier (UUID) of the shareholder entry. >**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 Account Holder will fail with a validation Error..** >**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 Shareholder will be updated.** ' type: string shareholderReference: x-addedInVersion: '5' description: Your reference for the shareholder entry. type: string shareholderType: description: "Specifies how the person is associated with the account holder. \n\nPossible values: \n\n* **Owner**: Individuals who directly or indirectly own 25% or more of a company.\n\n* **Controller**: Individuals who are members of senior management staff responsible for managing a company or organization." enum: - Controller - Owner - Signatory type: string webAddress: description: The URL of the person's website. type: string type: object KYCVerificationResult: properties: accountHolder: description: The results of the checks on the account holder. $ref: '#/components/schemas/KYCCheckResult' legalArrangements: x-addedInVersion: '6' description: The results of the checks on the legal arrangements. items: $ref: '#/components/schemas/KYCLegalArrangementCheckResult' type: array legalArrangementsEntities: x-addedInVersion: '6' description: The results of the checks on the legal arrangement entities. items: $ref: '#/components/schemas/KYCLegalArrangementEntityCheckResult' type: array payoutMethods: x-addedInVersion: '6' description: The results of the checks on the payout methods. items: $ref: '#/components/schemas/KYCPayoutMethodCheckResult' type: array shareholders: description: The results of the checks on the shareholders. items: $ref: '#/components/schemas/KYCShareholderCheckResult' type: array signatories: description: The results of the checks on the signatories. items: $ref: '#/components/schemas/KYCSignatoryCheckResult' type: array ultimateParentCompany: x-addedInVersion: '6' description: The result of the check on the Ultimate Parent Company. items: $ref: '#/components/schemas/KYCUltimateParentCompanyCheckResult' type: array type: object ViasPhoneNumber: 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 type: object 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' type: object UltimateParentCompany: properties: address: description: Address of the ultimate parent company. $ref: '#/components/schemas/ViasAddress' businessDetails: description: Details about the ultimate parent company's business. $ref: '#/components/schemas/UltimateParentCompanyBusinessDetails' ultimateParentCompanyCode: description: Adyen-generated unique alphanumeric identifier (UUID) for the entry, returned in the response when you create an ultimate parent company. Required when updating an existing entry in an `/updateAccountHolder` request. type: string type: object PayoutMethod: properties: merchantAccount: description: The [`merchantAccount`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments__reqParam_merchantAccount) you used in the `/payments` request when you [saved the account holder's card details](https://docs.adyen.com/marketplaces-and-platforms/classic/payouts/manual-payout/payout-to-cards#check-and-store). type: string payoutMethodCode: description: Adyen-generated unique alphanumeric identifier (UUID) for the payout method, returned in the response when you create a payout method. Required when updating an existing payout method in an `/updateAccountHolder` request. type: string payoutMethodReference: description: Your reference for the payout method. type: string recurringDetailReference: description: The [`recurringDetailReference`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments__resParam_additionalData-ResponseAdditionalDataCommon-recurring-recurringDetailReference) returned in the `/payments` response when you [saved the account holder's card details](https://docs.adyen.com/marketplaces-and-platforms/classic/payouts/manual-payout/payout-to-cards#check-and-store). type: string shopperReference: description: The [`shopperReference`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments__reqParam_shopperReference) you sent in the `/payments` request when you [saved the account holder's card details](https://docs.adyen.com/marketplaces-and-platforms/classic/payouts/manual-payout/payout-to-cards#check-and-store). type: string required: - merchantAccount - shopperReference - recurringDetailReference type: object BankAccountDetail: properties: accountNumber: description: 'The bank account number (without separators). >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) 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 [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string bankAccountName: description: The name of the bank account. type: string bankAccountReference: x-addedInVersion: '5' description: Merchant reference to 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 [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string bankCity: description: 'The city in which the bank branch is located. >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) 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 [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string bankName: description: 'The name of the banking institution with which the bank account is held. >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) 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 [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string checkCode: description: 'The check code of the bank account. >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) 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 [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) 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''). ' type: string iban: description: 'The international bank account number. >The IBAN standard is defined in ISO-13616. >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string ownerCity: description: 'The city of residence of the bank account owner. >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) 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 [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string ownerDateOfBirth: deprecated: true description: 'The date of birth of the bank account owner. The date should be in ISO-8601 format yyyy-mm-dd (e.g. 2000-01-31).' type: string ownerHouseNumberOrName: description: 'The house name or number of the residence of the bank account owner. >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string ownerName: description: 'The name of the bank account owner. >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) 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 [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string ownerPostalCode: description: 'The postal code of the residence of the bank account owner. >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string ownerState: description: 'The state of residence of the bank account owner. >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string ownerStreet: description: 'The street name of the residence of the bank account owner. >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) 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 [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) 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 [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.' type: string type: object IndividualDetails: properties: name: description: 'The name of the individual. >Make sure your account holder registers using the name shown on their Photo ID.' $ref: '#/components/schemas/ViasName' personalData: description: Personal information of the individual. $ref: '#/components/schemas/ViasPersonalData' type: object UploadDocumentRequest: properties: documentContent: description: 'The content of the document, in Base64-encoded string format. To learn about document requirements, refer to [Verification checks](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-checks).' format: byte type: string documentDetail: description: Details of the document being submitted. $ref: '#/components/schemas/DocumentDetail' required: - documentDetail - documentContent type: object DocumentDetail: properties: accountHolderCode: x-addedInVersion: '2' description: The code of account holder, to which the document applies. type: string bankAccountUUID: x-addedInVersion: '2' description: 'The Adyen-generated [`bankAccountUUID`](https://docs.adyen.com/api-explorer/#/Account/latest/post/createAccountHolder__resParam_accountHolderDetails-bankAccountDetails-bankAccountUUID) to which the document must be linked. Refer to [Bank account check](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-checks/bank-account-check#uploading-a-bank-statement) for details on when a document should be submitted. >Required if the `documentType` is **BANK_STATEMENT**, where a document is being submitted in order to verify a bank account. ' type: string description: description: Description of the document. type: string documentType: description: 'The type of the document. Refer to [Verification checks](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-checks) for details on when each document type should be submitted and for the accepted file formats. Permitted values: * **BANK_STATEMENT**: A file containing a bank statement or other document proving ownership of a specific bank account. * **COMPANY_REGISTRATION_SCREENING** (Supported from v5 and later): A file containing a company registration document. * **CONSTITUTIONAL_DOCUMENT**: A file containing information about the account holder''s legal arrangement. * **PASSPORT**: A file containing the identity page(s) of a passport. * **ID_CARD_FRONT**: A file 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**: A file 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_FRONT**: A file 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**: A file 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. ' enum: - BANK_STATEMENT - BSN - COMPANY_REGISTRATION_SCREENING - CONSTITUTIONAL_DOCUMENT - DRIVING_LICENCE - DRIVING_LICENCE_BACK - DRIVING_LICENCE_FRONT - ID_CARD - ID_CARD_BACK - ID_CARD_FRONT - PASSPORT - PROOF_OF_RESIDENCY - SSN - SUPPORTING_DOCUMENTS type: string filename: description: Filename of the document. type: string legalArrangementCode: x-addedInVersion: '6' description: The Adyen-generated [`legalArrangementCode`](https://docs.adyen.com/api-explorer/#/Account/latest/post/createAccountHolder__resParam_accountHolderDetails-legalArrangements-legalArrangementCode) to which the document must be linked. type: string legalArrangementEntityCode: x-addedInVersion: '6' description: The Adyen-generated [`legalArrangementEntityCode`](https://docs.adyen.com/api-explorer/#/Account/v6/post/createAccountHolder__resParam_accountHolderDetails-legalArrangements-legalArrangementEntities-legalArrangementEntityCode) to which the document must be linked. type: string shareholderCode: x-addedInVersion: '2' description: 'The Adyen-generated [`shareholderCode`](https://docs.adyen.com/api-explorer/#/Account/latest/post/createAccountHolder__resParam_accountHolderDetails-businessDetails-shareholders-shareholderCode) to which the document must be linked. Refer to [Verification checks](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-checks) for details on when a document should be submitted. >Required if the account holder has a `legalEntity` of type **Business** and the `documentType` is either **PASSPORT**, **ID_CARD_FRONT**, **ID_CARD_BACK**, **DRIVING_LICENCE_FRONT**, or **DRIVING_LICENCE_BACK**. ' type: string signatoryCode: description: The Adyen-generated [`signatoryCode`](https://docs.adyen.com/api-explorer/#/Account/v6/post/createAccountHolder__resParam_accountHolderDetails-businessDetails-signatories-signatoryCode) to which the document must be linked. type: string required: - documentType type: object SignatoryContact: properties: address: description: The address of the person. $ref: '#/components/schemas/ViasAddress' email: description: The e-mail address of the person. type: string fullPhoneNumber: description: 'The phone number of the person 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 jobTitle: description: 'Job title of the signatory. Example values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.' type: string name: description: The name of the person. $ref: '#/components/schemas/ViasName' personalData: description: Contains information about the person. $ref: '#/components/schemas/ViasPersonalData' phoneNumber: description: The phone number of the person. $ref: '#/components/schemas/ViasPhoneNumber' signatoryCode: description: 'The unique identifier (UUID) of the signatory. >**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Signatory will be created with a procedurally-generated UUID.** >**If, during an Account Holder create request, a UUID is provided, the creation of the Signatory 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 Signatory is provided, the update of the Signatory will fail.** >**If, during an Account Holder update request, a UUID that is correlated with an existing Signatory is provided, the existing Signatory will be updated.** ' type: string signatoryReference: description: Your reference for the signatory. type: string webAddress: description: The URL of the person's website. type: string type: object UltimateParentCompanyBusinessDetails: properties: legalBusinessName: description: The legal name of the company. type: string registrationNumber: description: The registration number of the company. type: string stockExchange: description: Market Identifier Code (MIC). type: string stockNumber: description: International Securities Identification Number (ISIN). type: string stockTicker: description: Stock Ticker symbol. type: string type: object KYCSignatoryCheckResult: properties: checks: description: A list of the checks and their statuses. items: $ref: '#/components/schemas/KYCCheckStatusData' type: array signatoryCode: description: The code of the signatory to which the check applies. type: string type: object 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. Possible values: **AWAITING_DATA** , **DATA_PROVIDED**, **FAILED**, **INVALID_DATA**, **PASSED**, **PENDING**, **RETRY_LIMIT_REACHED**.' 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.\n\nPossible values:\n\n * **BANK_ACCOUNT_VERIFICATION**: Used in v5 and earlier. Replaced by **PAYOUT_METHOD_VERIFICATION** in v6 and later.\n\n * **COMPANY_VERIFICATION**\n\n * **CARD_VERIFICATION**\n\n* **IDENTITY_VERIFICATION**\n\n* **LEGAL_ARRANGEMENT_VERIFICATION**\n\n* **NONPROFIT_VERIFICATION**\n\n * **PASSPORT_VERIFICATION**\n\n* **PAYOUT_METHOD_VERIFICATION**: Used in v6 and later.\n\n* **PCI_VERIFICATION**" enum: - BANK_ACCOUNT_VERIFICATION - CARD_VERIFICATION - COMPANY_VERIFICATION - IDENTITY_VERIFICATION - LEGAL_ARRANGEMENT_VERIFICATION - NONPROFIT_VERIFICATION - PASSPORT_VERIFICATION - PAYOUT_METHOD_VERIFICATION - PCI_VERIFICATION type: string required: - type - status type: object KYCCheckResult: properties: checks: description: A list of the checks and their statuses. items: $ref: '#/components/schemas/KYCCheckStatusData' type: array type: object LegalArrangementDetail: properties: address: description: The address of the legal arrangement. $ref: '#/components/schemas/ViasAddress' legalArrangementCode: description: 'Adyen-generated unique alphanumeric identifier (UUID) for the entry, returned in the response when you create a legal arrangement. Use only when updating an account holder. If you include this field when creating an account holder, the request will fail.' type: string legalArrangementEntities: description: An array containing information about other entities that are part of the legal arrangement. items: $ref: '#/components/schemas/LegalArrangementEntityDetail' type: array legalArrangementReference: description: Your reference for the legal arrangement. Must be between 3 to 128 characters. type: string legalForm: description: 'The form of legal arrangement. Required if `type` is **Trust** or **Partnership**. The possible values depend on the `type`. - For `type` **Trust**: **CashManagementTrust**, **CorporateUnitTrust**, **DeceasedEstate**, **DiscretionaryInvestmentTrust**, **DiscretionaryServicesManagementTrust**, **DiscretionaryTradingTrust**, **FirstHomeSaverAccountsTrust**, **FixedTrust**, **FixedUnitTrust**, **HybridTrust**, **ListedPublicUnitTrust**, **OtherTrust**, **PooledSuperannuationTrust**, **PublicTradingTrust**, or **UnlistedPublicUnitTrust**. - For `type` **Partnership**: **LimitedPartnership**, **FamilyPartnership**, or **OtherPartnership**' enum: - CashManagementTrust - CorporateUnitTrust - DeceasedEstate - DiscretionaryInvestmentTrust - DiscretionaryServicesManagementTrust - DiscretionaryTradingTrust - FirstHomeSaverAccountsTrust - FixedTrust - FixedUnitTrust - HybridTrust - ListedPublicUnitTrust - OtherTrust - PooledSuperannuationTrust - PublicTradingTrust - UnlistedPublicUnitTrust - LimitedPartnership - FamilyPartnership - OtherPartnership type: string name: description: 'The legal name of the legal arrangement. Minimum length: 3 characters.' type: string registrationNumber: description: The registration number of the legal arrangement. type: string taxNumber: description: The tax identification number of the legal arrangement. type: string type: description: "The [type of legal arrangement](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/legal-arrangements#types-of-legal-arrangements).\n\nPossible values:\n\n- **Association** \n\n- **Partnership** \n\n- **SoleProprietorship** \n\n- **Trust** \n\n" enum: - Association - Partnership - SoleProprietorship - Trust type: string required: - type - name - address type: object ServiceError: properties: errorCode: description: The error code mapped to the error message. type: string errorType: description: The category of the error. type: string message: description: A short explanation of the issue. type: string pspReference: description: The PSP reference of the payment. type: string status: description: The HTTP response status. format: int32 type: integer type: object ViasName: properties: firstName: description: The first name. maxLength: 80 type: string gender: description: 'The gender. >The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.' enum: - MALE - FEMALE - UNKNOWN maxLength: 1 type: string infix: description: 'The name''s infix, if applicable. >A maximum length of twenty (20) characters is imposed.' maxLength: 20 type: string lastName: description: The last name. maxLength: 80 type: string type: object KYCLegalArrangementEntityCheckResult: properties: checks: description: A list of the checks and their statuses. items: $ref: '#/components/schemas/KYCCheckStatusData' type: array legalArrangementCode: description: The unique ID of the legal arrangement to which the entity belongs. type: string legalArrangementEntityCode: description: The unique ID of the legal arrangement entity to which the check applies. type: string type: object AccountHolderDetails: properties: address: description: The address of the account holder. $ref: '#/components/schemas/ViasAddress' bankAccountDetails: description: Array of bank accounts associated with the account holder. For details about the required `bankAccountDetail` fields, see [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information). items: $ref: '#/components/schemas/BankAccountDetail' type: array bankAggregatorDataReference: x-addedInVersion: '5' description: The opaque reference value returned by the Adyen API during bank account login. type: string businessDetails: description: 'Details about the business or nonprofit account holder. Required when creating an account holder with `legalEntity` **Business** or **NonProfit**.' $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 about the individual account holder. Required when creating an account holder with `legalEntity` **Individual**. ' $ref: '#/components/schemas/IndividualDetails' lastReviewDate: description: Date when you last reviewed the account holder's information, in ISO-8601 YYYY-MM-DD format. For example, **2020-01-31**. type: string legalArrangements: x-addedInVersion: '6' description: An array containing information about the account holder's [legal arrangements](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/legal-arrangements). items: $ref: '#/components/schemas/LegalArrangementDetail' type: array merchantCategoryCode: description: 'The Merchant Category Code of the account holder. > If not specified in the request, this will be derived from the platform 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 payoutMethods: x-addedInVersion: '5' description: Array of tokenized card details associated with the account holder. For details about how you can use the tokens to pay out, refer to [Pay out to cards](https://docs.adyen.com/marketplaces-and-platforms/classic/payout-to-cards). items: $ref: '#/components/schemas/PayoutMethod' type: array principalBusinessAddress: description: The principal business address of the account holder. $ref: '#/components/schemas/ViasAddress' storeDetails: x-addedInVersion: '5' description: Array of stores associated with the account holder. Required when onboarding account holders that have an Adyen [point of sale](https://docs.adyen.com/marketplaces-and-platforms/classic/platforms-for-pos). items: $ref: '#/components/schemas/StoreDetail' type: array webAddress: description: The URL of the website of the account holder. type: string required: - address type: object FieldType: properties: field: description: The full name of the property. type: string fieldName: description: The type of the field. enum: - accountCode - accountHolderCode - accountHolderDetails - accountNumber - accountStateType - accountStatus - accountType - address - balanceAccount - balanceAccountActive - balanceAccountCode - balanceAccountId - bankAccount - bankAccountCode - bankAccountName - bankAccountUUID - bankBicSwift - bankCity - bankCode - bankName - bankStatement - branchCode - businessContact - cardToken - checkCode - city - companyRegistration - constitutionalDocument - controller - country - countryCode - currency - currencyCode - dateOfBirth - description - destinationAccountCode - document - documentContent - documentExpirationDate - documentIssuerCountry - documentIssuerState - documentName - documentNumber - documentType - doingBusinessAs - drivingLicence - drivingLicenceBack - drivingLicenceFront - drivingLicense - email - firstName - formType - fullPhoneNumber - gender - hopWebserviceUser - houseNumberOrName - iban - idCard - idCardBack - idCardFront - idNumber - identityDocument - individualDetails - infix - jobTitle - lastName - lastReviewDate - legalArrangement - legalArrangementCode - legalArrangementEntity - legalArrangementEntityCode - legalArrangementLegalForm - legalArrangementMember - legalArrangementMembers - legalArrangementName - legalArrangementReference - legalArrangementRegistrationNumber - legalArrangementTaxNumber - legalArrangementType - legalBusinessName - legalEntity - legalEntityType - logo - merchantAccount - merchantCategoryCode - merchantHouseNumber - merchantReference - microDeposit - name - nationality - originalReference - ownerCity - ownerCountryCode - ownerDateOfBirth - ownerHouseNumberOrName - ownerName - ownerPostalCode - ownerState - ownerStreet - passport - passportNumber - payoutMethod - payoutMethodCode - payoutSchedule - pciSelfAssessment - personalData - phoneCountryCode - phoneNumber - postalCode - primaryCurrency - reason - registrationNumber - returnUrl - schedule - shareholder - shareholderCode - shareholderCodeAndSignatoryCode - shareholderCodeOrSignatoryCode - shareholderType - shareholderTypes - shopperInteraction - signatory - signatoryCode - socialSecurityNumber - sourceAccountCode - splitAccount - splitConfigurationUUID - splitCurrency - splitValue - splits - stateOrProvince - status - stockExchange - stockNumber - stockTicker - store - storeDetail - storeName - storeReference - street - taxId - tier - tierNumber - transferCode - ultimateParentCompany - ultimateParentCompanyAddressDetails - ultimateParentCompanyAddressDetailsCountry - ultimateParentCompanyBusinessDetails - ultimateParentCompanyBusinessDetailsLegalBusinessName - ultimateParentCompanyBusinessDetailsRegistrationNumber - ultimateParentCompanyCode - ultimateParentCompanyStockExchange - ultimateParentCompanyStockNumber - ultimateParentCompanyStockNumberOrStockTicker - ultimateParentCompanyStockTicker - unknown - value - verificationType - virtualAccount - visaNumber - webAddress - year 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 type: object AccountEvent: properties: event: description: 'The event. >Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`. For more information, refer to [Verification checks](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process).' 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 type: object KYCCheckSummary: properties: kycCheckCode: x-addedInVersion: '5' description: The code of the check. For possible values, refer to [Verification codes](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/verification-codes). format: int32 type: integer kycCheckDescription: x-addedInVersion: '5' description: A description of the check. type: string type: object UpdateAccountHolderResponse: properties: accountHolderCode: description: The code of the account holder. type: string accountHolderDetails: description: Details of the account holder. $ref: '#/components/schemas/AccountHolderDetails' accountHolderStatus: x-addedInVersion: '2' description: The new status of the account holder. $ref: '#/components/schemas/AccountHolderStatus' description: x-addedInVersion: '4' description: The description of the account holder. type: string invalidFields: x-addedInVersion: '5' 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: x-addedInVersion: '4' description: The legal entity of the account holder. enum: - Business - Individual - NonProfit - Partnership - PublicCompany type: string primaryCurrency: x-addedInVersion: '5' deprecated: true description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), 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 resultCode: description: The result code. type: string verification: x-addedInVersion: '2' description: The details of KYC Verification of the account holder. $ref: '#/components/schemas/KYCVerificationResult' verificationProfile: x-addedInVersion: '6' description: The identifier of the profile that applies to this entity. type: string type: object 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 listedUltimateParentCompany: description: Information about the parent public company. Required if the account holder is 100% owned by a publicly listed company. items: $ref: '#/components/schemas/UltimateParentCompany' type: array registrationNumber: x-addedInVersion: '4' description: The registration number of the company. type: string shareholders: description: Array containing information about individuals associated with the account holder either through ownership or control. For details about how you can identify them, refer to [our verification guide](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process#identify-ubos). items: $ref: '#/components/schemas/ShareholderContact' type: array signatories: description: 'Signatories associated with the company. Each array entry should represent one signatory.' items: $ref: '#/components/schemas/SignatoryContact' type: array stockExchange: x-addedInVersion: '6' description: Market Identifier Code (MIC). type: string stockNumber: x-addedInVersion: '6' description: International Securities Identification Number (ISIN). type: string stockTicker: x-addedInVersion: '6' description: Stock Ticker symbol. type: string taxId: description: The tax ID of the company. type: string type: object 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: x-addedInVersion: '3' description: The processing tier that the account holder occupies. format: int32 type: integer type: object ViasAddress: properties: city: description: The name of the city. Required if the `houseNumberOrName`, `street`, `postalCode`, or `stateOrProvince` are provided. type: string country: description: The two-character country code of the address in ISO-3166-1 alpha-2 format. For example, **NL**. type: string houseNumberOrName: description: The number or name of the house. type: string postalCode: description: 'The postal code. Required if the `houseNumberOrName`, `street`, `city`, or `stateOrProvince` are provided. Maximum length: * 5 digits for addresses in the US. * 10 characters for all other countries.' type: string stateOrProvince: description: "The abbreviation of the state or province. Required if the `houseNumberOrName`, `street`, `city`, or `postalCode` are provided. \n\nMaximum length:\n\n* 2 characters for addresses in the US or Canada.\n\n* 3 characters for all other countries.\n" type: string street: description: The name of the street. Required if the `houseNumberOrName`, `city`, `postalCode`, or `stateOrProvince` are provided. type: string required: - country type: object 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 type: object Amount: properties: currency: description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). maxLength: 3 minLength: 3 type: string value: description: The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). format: int64 type: integer required: - value - currency type: object KYCPayoutMethodCheckResult: properties: checks: description: A list of the checks and their statuses. items: $ref: '#/components/schemas/KYCCheckStatusData' type: array payoutMethodCode: description: The unique ID of the payoput method to which the check applies. type: string type: object ViasPersonalData: properties: dateOfBirth: description: The person's date of birth, in ISO-8601 YYYY-MM-DD format. For example, **2000-01-31**. type: string documentData: x-addedInVersion: '3' description: Array that contains information about the person's identification document. You can submit only one entry per document type. items: $ref: '#/components/schemas/PersonalDocumentData' type: array nationality: description: 'The nationality of the person represented by a two-character country code, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. For example, **NL**. ' maxLength: 2 minLength: 2 type: string type: object KYCShareholderCheckResult: properties: checks: description: A list of the checks and their statuses. items: $ref: '#/components/schemas/KYCCheckStatusData' type: array legalArrangementCode: x-addedInVersion: '6' description: The unique ID of the legal arrangement to which the shareholder belongs, if applicable. type: string legalArrangementEntityCode: x-addedInVersion: '6' description: The unique ID of the legal arrangement entity to which the shareholder belongs, if applicable. type: string shareholderCode: description: The code of the shareholder to which the check applies. type: string type: object examples: generic-400: summary: Response code 400. Bad Request. value: status: 400 errorCode: '702' message: 'Unexpected input: I' errorType: validation post-uploadDocument-basic: summary: Upload a document value: documentContent: dGVzdCBkb2N1bWVudCBjb250ZW50 documentDetail: accountHolderCode: CODE_OF_ACCOUNT_HOLDER documentType: PASSPORT filename: passport.png description: test passport description generic-403: summary: Response code 401. Forbidden. value: status: 403 errorCode: '10_003' message: Failed to authorize user errorType: security securitySchemes: ApiKeyAuth: in: header name: X-API-Key type: apiKey BasicAuth: scheme: basic type: http x-groups: - Account holders - Accounts - Verification