{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/adyen/main/json-schema/adyen-paginated-account-holders-response-schema.json", "title": "PaginatedAccountHoldersResponse", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/adyen-account-api-openapi.yml#/components/schemas/PaginatedAccountHoldersResponse", "properties": { "accountHolders": { "description": "List of account holders.", "items": { "$ref": "#/$defs/AccountHolder" }, "type": "array" }, "hasNext": { "description": "Indicates whether there are more items on the next page.", "type": "boolean" }, "hasPrevious": { "description": "Indicates whether there are more items on the previous page.", "type": "boolean" } }, "required": [ "accountHolders", "hasPrevious", "hasNext" ], "type": "object", "$defs": { "AccountHolder": { "properties": { "balancePlatform": { "description": "The unique identifier of the [balance platform](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balancePlatforms/{id}__queryParam_id) to which the account holder belongs. Required in the request if your API credentials can be used for multiple balance platforms.", "type": "string" }, "capabilities": { "additionalProperties": { "$ref": "#/$defs/AccountHolderCapability" }, "description": "Contains key-value pairs that specify the actions that an account holder can do in your platform. The key is a capability required for your integration. For example, **issueCard** for Issuing. The value is an object containing the settings for the capability.", "type": "object" }, "contactDetails": { "deprecated": true, "description": "Contact details of the account holder.", "$ref": "#/$defs/ContactDetails" }, "description": { "description": "Your description for the account holder, maximum 300 characters.", "maxLength": 300, "type": "string" }, "id": { "description": "The unique identifier of the account holder.", "readOnly": true, "type": "string" }, "legalEntityId": { "description": "The unique identifier of the [legal entity](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities#responses-200-id) associated with the account holder. Adyen performs a verification process against the legal entity of the account holder.", "type": "string" }, "metadata": { "additionalProperties": { "type": "string" }, "description": "A set of key and value pairs for general use.\nThe keys do not have specific names and may be used for storing miscellaneous data as desired.\n> 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" }, "migratedAccountHolderCode": { "description": "The unique identifier of the migrated account holder in the classic integration.", "readOnly": true, "type": "string" }, "primaryBalanceAccount": { "description": "The ID of the account holder's primary balance account. By default, this is set to the first balance account that you create for the account holder. To assign a different balance account, send a PATCH request.", "type": "string" }, "reference": { "description": "Your reference for the account holder, maximum 150 characters.", "maxLength": 150, "type": "string" }, "status": { "description": "The status of the account holder.\n\nPossible values: \n\n * **active**: The account holder is active. This is the default status when creating an account holder. \n\n * **inactive (Deprecated)**: The account holder is temporarily inactive due to missing KYC details. You can set the account back to active by providing the missing KYC details. \n\n * **suspended**: The account holder is permanently deactivated by Adyen. This action cannot be undone. \n\n* **closed**: The account holder is permanently deactivated by you. This action cannot be undone.", "enum": [ "active", "closed", "inactive", "suspended" ], "type": "string" }, "timeZone": { "description": "The time zone of the account holder. For example, **Europe/Amsterdam**.\nDefaults to the time zone of the balance platform if no time zone is set. For possible values, see the [list of time zone codes](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).", "type": "string" }, "verificationDeadlines": { "description": "List of verification deadlines and the capabilities that will be disallowed if verification errors are not resolved.", "items": { "$ref": "#/$defs/VerificationDeadline" }, "readOnly": true, "type": "array" } }, "required": [ "legalEntityId", "id" ], "type": "object" }, "AccountHolderCapability": { "properties": { "allowed": { "description": "Indicates whether the capability is allowed. Adyen sets this to **true** if the verification is successful and the account holder is permitted to use the capability.", "readOnly": true, "type": "boolean" }, "allowedLevel": { "description": "The capability level that is allowed for the account holder.\n\nPossible values: **notApplicable**, **low**, **medium**, **high**.", "enum": [ "high", "low", "medium", "notApplicable" ], "readOnly": true, "type": "string" }, "allowedSettings": { "description": "A JSON object containing the settings that are allowed for the account holder.", "readOnly": true, "$ref": "#/$defs/CapabilitySettings" }, "enabled": { "description": "Indicates whether the capability is enabled. If **false**, the capability is temporarily disabled for the account holder.", "type": "boolean" }, "problems": { "description": "Contains verification errors and the actions that you can take to resolve them.", "items": { "$ref": "#/$defs/CapabilityProblem" }, "readOnly": true, "type": "array" }, "requested": { "description": "Indicates whether the capability is requested. To check whether the account holder is permitted to use the capability, refer to the `allowed` field.", "type": "boolean" }, "requestedLevel": { "description": "The requested level of the capability. Some capabilities, such as those used in [card issuing](https://docs.adyen.com/issuing/add-capabilities#capability-levels), have different levels. Levels increase the capability, but also require additional checks and increased monitoring.\n\nPossible values: **notApplicable**, **low**, **medium**, **high**.", "enum": [ "high", "low", "medium", "notApplicable" ], "type": "string" }, "requestedSettings": { "description": "A JSON object containing the settings that were requested for the account holder.", "readOnly": true, "$ref": "#/$defs/CapabilitySettings" }, "transferInstruments": { "description": "Contains the status of the transfer instruments associated with this capability. ", "items": { "$ref": "#/$defs/AccountSupportingEntityCapability" }, "readOnly": true, "type": "array" }, "verificationStatus": { "description": "The status of the verification checks for the capability.\n\nPossible values:\n\n* **pending**: Adyen is running the verification.\n\n* **invalid**: The verification failed. Check if the `errors` array contains more information.\n\n* **valid**: The verification has been successfully completed.\n\n* **rejected**: Adyen has verified the information, but found reasons to not allow the capability.\n", "enum": [ "invalid", "pending", "rejected", "valid" ], "readOnly": true, "type": "string" } }, "type": "object" }, "AccountSupportingEntityCapability": { "properties": { "allowed": { "description": "Indicates whether the supporting entity capability is allowed. Adyen sets this to **true** if the verification is successful and the account holder is permitted to use the capability.", "readOnly": true, "type": "boolean" }, "allowedLevel": { "description": "The capability level that is allowed for the account holder.\n\nPossible values: **notApplicable**, **low**, **medium**, **high**.", "enum": [ "high", "low", "medium", "notApplicable" ], "readOnly": true, "type": "string" }, "enabled": { "description": "Indicates whether the capability is enabled. If **false**, the capability is temporarily disabled for the account holder.", "type": "boolean" }, "id": { "description": "The ID of the supporting entity.", "readOnly": true, "type": "string" }, "requested": { "description": "Indicates whether the capability is requested. To check whether the account holder is permitted to use the capability, refer to the `allowed` field.", "type": "boolean" }, "requestedLevel": { "description": "The requested level of the capability. Some capabilities, such as those used in [card issuing](https://docs.adyen.com/issuing/add-capabilities#capability-levels), have different levels. Levels increase the capability, but also require additional checks and increased monitoring.\n\nPossible values: **notApplicable**, **low**, **medium**, **high**.", "enum": [ "high", "low", "medium", "notApplicable" ], "type": "string" }, "verificationStatus": { "description": "The status of the verification checks for the supporting entity capability.\n\nPossible values:\n\n* **pending**: Adyen is running the verification.\n\n* **invalid**: The verification failed. Check if the `errors` array contains more information.\n\n* **valid**: The verification has been successfully completed.\n\n* **rejected**: Adyen has verified the information, but found reasons to not allow the capability.\n", "enum": [ "invalid", "pending", "rejected", "valid" ], "readOnly": true, "type": "string" } }, "type": "object" }, "Address": { "properties": { "city": { "description": "The name of the city. Maximum length: 3000 characters.", "maxLength": 3000, "type": "string" }, "country": { "description": "The two-character ISO-3166-1 alpha-2 country code. For example, **US**.\n> If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.", "type": "string" }, "houseNumberOrName": { "description": "The number or name of the house. Maximum length: 3000 characters.", "maxLength": 3000, "type": "string" }, "postalCode": { "description": "A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.", "type": "string" }, "stateOrProvince": { "description": "The two-character ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada.\n> Required for the US and Canada.", "type": "string" }, "street": { "description": "The name of the street. Maximum length: 3000 characters.\n> The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.", "maxLength": 3000, "type": "string" } }, "required": [ "street", "houseNumberOrName", "city", "postalCode", "country" ], "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" }, "CapabilityProblem": { "properties": { "entity": { "description": "Contains the type of the entity and the corresponding ID.", "$ref": "#/$defs/CapabilityProblemEntity" }, "verificationErrors": { "description": "Contains information about the verification error.", "items": { "$ref": "#/$defs/VerificationError" }, "type": "array" } }, "type": "object" }, "CapabilityProblemEntity": { "properties": { "documents": { "description": "List of document IDs to which the verification errors related to the capabilities correspond to.", "items": { "type": "string" }, "type": "array" }, "id": { "description": "The ID of the entity.", "type": "string" }, "owner": { "description": "Contains details about the owner of the entity that has an error.", "$ref": "#/$defs/CapabilityProblemEntity-recursive" }, "type": { "description": "Type of entity. \n\nPossible values: **LegalEntity**, **BankAccount**, **Document**.", "enum": [ "BankAccount", "Document", "LegalEntity" ], "type": "string" } }, "type": "object" }, "CapabilityProblemEntity-recursive": { "properties": { "documents": { "description": "List of document IDs to which the verification errors related to the capabilities correspond to.", "items": { "type": "string" }, "type": "array" }, "id": { "description": "The ID of the entity.", "type": "string" }, "type": { "description": "Type of entity. \n\nPossible values: **LegalEntity**, **BankAccount**, **Document**.", "enum": [ "BankAccount", "Document", "LegalEntity" ], "type": "string" } }, "required": [], "type": "object" }, "CapabilitySettings": { "properties": { "amountPerIndustry": { "additionalProperties": { "$ref": "#/$defs/Amount" }, "description": "", "type": "object" }, "authorizedCardUsers": { "description": "", "type": "boolean" }, "fundingSource": { "description": "", "items": { "enum": [ "credit", "debit", "prepaid" ], "type": "string" }, "type": "array" }, "interval": { "description": "", "enum": [ "daily", "monthly", "weekly" ], "type": "string" }, "maxAmount": { "description": "", "$ref": "#/$defs/Amount" } }, "type": "object" }, "ContactDetails": { "properties": { "address": { "description": "The address of the account holder.", "$ref": "#/$defs/Address" }, "email": { "description": "The email address of the account holder.", "type": "string" }, "phone": { "description": "The phone number of the account holder.", "$ref": "#/$defs/Phone" }, "webAddress": { "description": "The URL of the account holder's website.", "type": "string" } }, "required": [ "email", "phone", "address" ], "type": "object" }, "Phone": { "properties": { "number": { "description": "The full phone number provided as a single string. \nFor example, **\"0031 6 11 22 33 44\"**, **\"+316/1122-3344\"**, \n\n or **\"(0031) 611223344\"**.", "type": "string" }, "type": { "description": "Type of phone number.\nPossible values: \n**Landline**, **Mobile**.\n", "enum": [ "landline", "mobile" ], "type": "string" } }, "required": [ "number", "type" ], "type": "object" }, "RemediatingAction": { "properties": { "code": { "description": "The remediating action code.", "type": "string" }, "message": { "description": "A description of how you can resolve the verification error.", "type": "string" } }, "type": "object" }, "VerificationDeadline": { "properties": { "capabilities": { "description": "The names of the capabilities to be disallowed.", "items": { "enum": [ "acceptExternalFunding", "acceptPspFunding", "acceptTransactionInRestrictedCountries", "acceptTransactionInRestrictedCountriesCommercial", "acceptTransactionInRestrictedCountriesConsumer", "acceptTransactionInRestrictedIndustries", "acceptTransactionInRestrictedIndustriesCommercial", "acceptTransactionInRestrictedIndustriesConsumer", "acquiring", "atmWithdrawal", "atmWithdrawalCommercial", "atmWithdrawalConsumer", "atmWithdrawalInRestrictedCountries", "atmWithdrawalInRestrictedCountriesCommercial", "atmWithdrawalInRestrictedCountriesConsumer", "authorisedPaymentInstrumentUser", "getGrantOffers", "issueBankAccount", "issueCard", "issueCardCommercial", "issueCardConsumer", "localAcceptance", "payout", "payoutToTransferInstrument", "processing", "receiveFromBalanceAccount", "receiveFromPlatformPayments", "receiveFromThirdParty", "receiveFromTransferInstrument", "receiveGrants", "receivePayments", "sendToBalanceAccount", "sendToThirdParty", "sendToTransferInstrument", "thirdPartyFunding", "useCard", "useCardCommercial", "useCardConsumer", "useCardInRestrictedCountries", "useCardInRestrictedCountriesCommercial", "useCardInRestrictedCountriesConsumer", "useCardInRestrictedIndustries", "useCardInRestrictedIndustriesCommercial", "useCardInRestrictedIndustriesConsumer", "withdrawFromAtm", "withdrawFromAtmCommercial", "withdrawFromAtmConsumer", "withdrawFromAtmInRestrictedCountries", "withdrawFromAtmInRestrictedCountriesCommercial", "withdrawFromAtmInRestrictedCountriesConsumer" ], "type": "string" }, "readOnly": true, "type": "array" }, "entityIds": { "description": "The unique identifiers of the bank account(s) that the deadline applies to", "items": { "type": "string" }, "readOnly": true, "type": "array" }, "expiresAt": { "description": "The date that verification is due by before capabilities are disallowed.", "format": "date-time", "readOnly": true, "type": "string" } }, "required": [ "expiresAt", "capabilities" ], "type": "object" }, "VerificationError": { "properties": { "capabilities": { "description": "Contains the capabilities that the verification error applies to.", "items": { "enum": [ "acceptExternalFunding", "acceptPspFunding", "acceptTransactionInRestrictedCountries", "acceptTransactionInRestrictedCountriesCommercial", "acceptTransactionInRestrictedCountriesConsumer", "acceptTransactionInRestrictedIndustries", "acceptTransactionInRestrictedIndustriesCommercial", "acceptTransactionInRestrictedIndustriesConsumer", "acquiring", "atmWithdrawal", "atmWithdrawalCommercial", "atmWithdrawalConsumer", "atmWithdrawalInRestrictedCountries", "atmWithdrawalInRestrictedCountriesCommercial", "atmWithdrawalInRestrictedCountriesConsumer", "authorisedPaymentInstrumentUser", "getGrantOffers", "issueBankAccount", "issueCard", "issueCardCommercial", "issueCardConsumer", "localAcceptance", "payout", "payoutToTransferInstrument", "processing", "receiveFromBalanceAccount", "receiveFromPlatformPayments", "receiveFromThirdParty", "receiveFromTransferInstrument", "receiveGrants", "receivePayments", "sendToBalanceAccount", "sendToThirdParty", "sendToTransferInstrument", "thirdPartyFunding", "useCard", "useCardCommercial", "useCardConsumer", "useCardInRestrictedCountries", "useCardInRestrictedCountriesCommercial", "useCardInRestrictedCountriesConsumer", "useCardInRestrictedIndustries", "useCardInRestrictedIndustriesCommercial", "useCardInRestrictedIndustriesConsumer", "withdrawFromAtm", "withdrawFromAtmCommercial", "withdrawFromAtmConsumer", "withdrawFromAtmInRestrictedCountries", "withdrawFromAtmInRestrictedCountriesCommercial", "withdrawFromAtmInRestrictedCountriesConsumer" ], "type": "string" }, "type": "array" }, "code": { "description": "The verification error code.", "type": "string" }, "message": { "description": "A description of the error.", "type": "string" }, "remediatingActions": { "description": "Contains the actions that you can take to resolve the verification error.", "items": { "$ref": "#/$defs/RemediatingAction" }, "type": "array" }, "subErrors": { "description": "Contains more granular information about the verification error.", "items": { "$ref": "#/$defs/VerificationError-recursive" }, "type": "array" }, "type": { "description": "The type of error.\n\n Possible values: **invalidInput**, **dataMissing**.", "enum": [ "dataMissing", "invalidInput", "pendingStatus" ], "type": "string" } }, "type": "object" }, "VerificationError-recursive": { "properties": { "capabilities": { "description": "Contains the capabilities that the verification error applies to.", "items": { "enum": [ "acceptExternalFunding", "acceptPspFunding", "acceptTransactionInRestrictedCountries", "acceptTransactionInRestrictedCountriesCommercial", "acceptTransactionInRestrictedCountriesConsumer", "acceptTransactionInRestrictedIndustries", "acceptTransactionInRestrictedIndustriesCommercial", "acceptTransactionInRestrictedIndustriesConsumer", "acquiring", "atmWithdrawal", "atmWithdrawalCommercial", "atmWithdrawalConsumer", "atmWithdrawalInRestrictedCountries", "atmWithdrawalInRestrictedCountriesCommercial", "atmWithdrawalInRestrictedCountriesConsumer", "authorisedPaymentInstrumentUser", "getGrantOffers", "issueBankAccount", "issueCard", "issueCardCommercial", "issueCardConsumer", "localAcceptance", "payout", "payoutToTransferInstrument", "processing", "receiveFromBalanceAccount", "receiveFromPlatformPayments", "receiveFromThirdParty", "receiveFromTransferInstrument", "receiveGrants", "receivePayments", "sendToBalanceAccount", "sendToThirdParty", "sendToTransferInstrument", "thirdPartyFunding", "useCard", "useCardCommercial", "useCardConsumer", "useCardInRestrictedCountries", "useCardInRestrictedCountriesCommercial", "useCardInRestrictedCountriesConsumer", "useCardInRestrictedIndustries", "useCardInRestrictedIndustriesCommercial", "useCardInRestrictedIndustriesConsumer", "withdrawFromAtm", "withdrawFromAtmCommercial", "withdrawFromAtmConsumer", "withdrawFromAtmInRestrictedCountries", "withdrawFromAtmInRestrictedCountriesCommercial", "withdrawFromAtmInRestrictedCountriesConsumer" ], "type": "string" }, "type": "array" }, "code": { "description": "The verification error code.", "type": "string" }, "message": { "description": "A description of the error.", "type": "string" }, "type": { "description": "The type of error.\n\n Possible values: **invalidInput**, **dataMissing**.", "enum": [ "dataMissing", "invalidInput", "pendingStatus" ], "type": "string" }, "remediatingActions": { "description": "Contains the actions that you can take to resolve the verification error.", "items": { "$ref": "#/$defs/RemediatingAction" }, "type": "array" } }, "required": [], "type": "object" } } }