Files
adyen-openapi/yaml/BalancePlatformConfigurationNotification-v1.yaml
Adyen Automation 56cce4a9a0 spec release
2025-01-03 17:02:02 +01:00

2537 lines
94 KiB
YAML

openapi: 3.1.0
info:
version: '1'
x-publicVersion: true
title: Configuration webhooks
description: "Adyen sends webhooks to inform your system about events that occur\
\ in your platform. These events include, for example, when an account holder's\
\ capabilities are updated, or when a sweep configuration is created or updated.\
\ \nWhen an event occurs, Adyen makes an HTTP POST request to a URL on your server\
\ and includes the details of the event in the request body.\n\nYou can use these\
\ webhooks to build your implementation. For example, you can use this information\
\ to update internal statuses when the status of a capability is changed."
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://github.com/Adyen/adyen-openapi
tags:
- name: Account holder
- name: Balance account
- name: Payment instrument
- name: Card order
webhooks:
balancePlatform.accountHolder.created:
post:
tags:
- Account holder
summary: Account holder created
description: Adyen sends this webhook when you successfully [create an account
holder](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/accountHolders).
operationId: post-balancePlatform.accountHolder.created
x-sortIndex: 1
x-methodName: accountHolderCreated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
balancePlatform-accountHolder-created:
$ref: '#/components/examples/post-balancePlatform.accountHolder.created-balancePlatform-accountHolder-created'
balancePlatform-accountHolder-created-lem-v3:
$ref: '#/components/examples/post-balancePlatform.accountHolder.created-balancePlatform-accountHolder-created-lem-v3'
schema:
$ref: '#/components/schemas/AccountHolderNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.accountHolder.updated:
post:
tags:
- Account holder
summary: Account holder updated
description: Adyen sends this webhook when you successfully [update an account
holder](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/accountHolders/_id_).
operationId: post-balancePlatform.accountHolder.updated
x-sortIndex: 2
x-methodName: accountHolderUpdated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
balancePlatform-accountHolder-updated:
$ref: '#/components/examples/post-balancePlatform.accountHolder.updated-balancePlatform-accountHolder-updated'
balancePlatform-accountHolder-updated-lem-v3:
$ref: '#/components/examples/post-balancePlatform.accountHolder.updated-balancePlatform-accountHolder-updated-lem-v3'
schema:
$ref: '#/components/schemas/AccountHolderNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.balanceAccount.created:
post:
tags:
- Balance account
summary: Balance account created
description: Adyen sends this webhook when you successfully [create a balance
account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts).
operationId: post-balancePlatform.balanceAccount.created
x-sortIndex: 1
x-methodName: balanceAccountCreated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
balancePlatform-balanceAccount-created:
$ref: '#/components/examples/post-balancePlatform.balanceAccount.created-balancePlatform-balanceAccount-created'
schema:
$ref: '#/components/schemas/BalanceAccountNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.balanceAccount.updated:
post:
tags:
- Balance account
summary: Balance account updated
description: Adyen sends this webhook when you successfully [update a balance
account](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/balanceAccounts/_id_).
operationId: post-balancePlatform.balanceAccount.updated
x-sortIndex: 2
x-methodName: balanceAccountUpdated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
balancePlatform-balanceAccount-updated:
$ref: '#/components/examples/post-balancePlatform.balanceAccount.updated-balancePlatform-balanceAccount-updated'
schema:
$ref: '#/components/schemas/BalanceAccountNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.balanceAccountSweep.created:
post:
tags:
- Balance account
summary: Sweep created
description: Adyen sends this webhook when you successfully [create a sweep](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts/_balanceAccountId_/sweeps).
operationId: post-balancePlatform.balanceAccountSweep.created
x-sortIndex: 3
x-methodName: sweepCreated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
balancePlatform-sweep-created:
$ref: '#/components/examples/post-balancePlatform.balanceAccountSweep.created-balancePlatform-sweep-created'
schema:
$ref: '#/components/schemas/SweepConfigurationNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.balanceAccountSweep.deleted:
post:
tags:
- Balance account
summary: Sweep deleted
description: Adyen sends this webhook when you successfully [delete a sweep](https://docs.adyen.com/api-explorer/balanceplatform/latest/delete/balanceAccounts/_balanceAccountId_/sweeps/_sweepId_).
operationId: post-balancePlatform.balanceAccountSweep.deleted
x-sortIndex: 5
x-methodName: sweepDeleted
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
balancePlatform-sweep-deleted:
$ref: '#/components/examples/post-balancePlatform.balanceAccountSweep.deleted-balancePlatform-sweep-deleted'
schema:
$ref: '#/components/schemas/SweepConfigurationNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.balanceAccountSweep.updated:
post:
tags:
- Balance account
summary: Sweep updated
description: Adyen sends this webhook when you successfully [update a sweep](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/balanceAccounts/_balanceAccountId_/sweeps/_sweepId_).
operationId: post-balancePlatform.balanceAccountSweep.updated
x-sortIndex: 4
x-methodName: sweepUpdated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
balancePlatform-sweep-updated:
$ref: '#/components/examples/post-balancePlatform.balanceAccountSweep.updated-balancePlatform-sweep-updated'
schema:
$ref: '#/components/schemas/SweepConfigurationNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.cardorder.created:
post:
tags:
- Card order
summary: Card order created
description: Adyen sends this webhook to indicate a successful creation of a
card order after you create a [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments)
of `type` **card** and `formFactor` **physical**.
operationId: post-balancePlatform.cardorder.created
x-sortIndex: 1
x-methodName: cardOrderCreated
security:
- BasicAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CardOrderNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.cardorder.updated:
post:
tags:
- Card order
summary: Card order updated
description: Adyen sends this webhook when there is an update in card order
status.
operationId: post-balancePlatform.cardorder.updated
x-sortIndex: 2
x-methodName: cardOrderUpdated
security:
- BasicAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CardOrderNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.paymentInstrument.created:
post:
tags:
- Payment instrument
summary: Payment instrument created
description: "Adyen sends this webhook when you successfully [create a payment\
\ instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments).\
\ \n>The webhook does not include the card number when creating virtual cards.\
\ You can only get the card number in the response of the POST [/paymentInstruments](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-card-number)\
\ request."
operationId: post-balancePlatform.paymentInstrument.created
x-sortIndex: 1
x-methodName: paymentInstrumentCreated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
balancePlatform-paymentInstrument-created:
$ref: '#/components/examples/post-balancePlatform.paymentInstrument.created-balancePlatform-paymentInstrument-created'
schema:
$ref: '#/components/schemas/PaymentNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.paymentInstrument.updated:
post:
tags:
- Payment instrument
summary: Payment instrument updated
description: 'Adyen sends this webhook when you successfully [update a payment
instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/paymentInstruments/_id_). '
operationId: post-balancePlatform.paymentInstrument.updated
x-sortIndex: 2
x-methodName: paymentInstrumentUpdated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
balancePlatform-paymentInstrument-updated:
$ref: '#/components/examples/post-balancePlatform.paymentInstrument.updated-balancePlatform-paymentInstrument-updated'
schema:
$ref: '#/components/schemas/PaymentNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
components:
schemas:
AccountHolder:
additionalProperties: false
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: '#/components/schemas/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: '#/components/schemas/ContactDetails'
description:
description: Your description for the account holder.
maxLength: 300
type: string
id:
description: The unique identifier of the account holder.
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.
The keys do not have specific names and may be used for storing miscellaneous
data as desired.
> 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.
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.
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**.
Defaults 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: '#/components/schemas/VerificationDeadline'
type: array
required:
- legalEntityId
- id
type: object
AccountHolderCapability:
additionalProperties: false
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.
type: boolean
allowedLevel:
description: 'The capability level that is allowed for the account holder.
Possible values: **notApplicable**, **low**, **medium**, **high**.'
enum:
- high
- low
- medium
- notApplicable
type: string
allowedSettings:
description: A JSON object containing the settings that are allowed for
the account holder.
$ref: '#/components/schemas/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: '#/components/schemas/CapabilityProblem'
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.
Possible 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.
$ref: '#/components/schemas/CapabilitySettings'
transferInstruments:
description: 'Contains the status of the transfer instruments associated
with this capability. '
items:
$ref: '#/components/schemas/AccountSupportingEntityCapability'
type: array
verificationStatus:
description: 'The status of the verification checks for the capability.
Possible values:
* **pending**: Adyen is running the verification.
* **invalid**: The verification failed. Check if the `errors` array contains
more information.
* **valid**: The verification has been successfully completed.
* **rejected**: Adyen has verified the information, but found reasons
to not allow the capability.
'
enum:
- invalid
- pending
- rejected
- valid
type: string
type: object
AccountHolderNotificationData:
additionalProperties: false
properties:
accountHolder:
description: Contains information about the account holder resource that
triggered the event.
$ref: '#/components/schemas/AccountHolder'
balancePlatform:
description: The unique identifier of the balance platform.
type: string
type: object
AccountHolderNotificationRequest:
additionalProperties: false
properties:
data:
description: Contains event details.
$ref: '#/components/schemas/AccountHolderNotificationData'
environment:
description: 'The environment from which the webhook originated.
Possible values: **test**, **live**.'
type: string
timestamp:
description: When the event was queued.
format: date-time
type: string
type:
description: Type of webhook.
enum:
- balancePlatform.accountHolder.updated
- balancePlatform.accountHolder.created
type: string
required:
- environment
- type
- data
type: object
AccountSupportingEntityCapability:
additionalProperties: false
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.
type: boolean
allowedLevel:
description: 'The capability level that is allowed for the account holder.
Possible values: **notApplicable**, **low**, **medium**, **high**.'
enum:
- high
- low
- medium
- notApplicable
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.
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.
Possible 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.
Possible values:
* **pending**: Adyen is running the verification.
* **invalid**: The verification failed. Check if the `errors` array contains
more information.
* **valid**: The verification has been successfully completed.
* **rejected**: Adyen has verified the information, but found reasons
to not allow the capability.
'
enum:
- invalid
- pending
- rejected
- valid
type: string
type: object
Address:
additionalProperties: false
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**.
> 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.
> Required for the US and Canada.'
type: string
street:
description: 'The name of the street. Maximum length: 3000 characters.
> 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:
additionalProperties: false
properties:
currency:
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#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#minor-units).
format: int64
type: integer
required:
- value
- currency
type: object
Authentication:
additionalProperties: false
properties:
email:
description: The email address where the one-time password (OTP) is sent.
type: string
password:
description: "The password used for 3D Secure password-based authentication.\
\ The value must be between 1 to 30 characters and must only contain the\
\ following supported characters.\n\n* Characters between **a-z**, **A-Z**,\
\ and **0-9**\n\n* Special characters: **\xE4\xF6\xFC\xDF\xC4\xD6\xDC\
+-*/\xE7%()=?!~#'\",;:$&\xE0\xF9\xF2\xE2\xF4\xFB\xE1\xFA\xF3**"
maxLength: 30
minLength: 1
type: string
phone:
description: 'The phone number where the one-time password (OTP) is sent.
This object must have:
* A `type` set to **mobile**.
* A `number` with a valid country code.
* A `number` with more than 4 digits, excluding the country code.
>Make sure to verify that the card user owns the phone number.'
$ref: '#/components/schemas/Phone'
type: object
Balance:
additionalProperties: false
properties:
available:
description: The balance available for use.
format: int64
type: integer
balance:
description: The sum of transactions that have already been settled.
format: int64
type: integer
currency:
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes)
of the balance.
type: string
pending:
description: The sum of the transactions that will be settled in the future.
format: int64
type: integer
reserved:
description: The balance currently held in reserve.
format: int64
type: integer
required:
- currency
- balance
- reserved
- available
type: object
BalanceAccount:
additionalProperties: false
properties:
accountHolderId:
description: The unique identifier of the [account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/accountHolders__resParam_id)
associated with the balance account.
type: string
balances:
description: List of balances with the amount and currency.
items:
$ref: '#/components/schemas/Balance'
type: array
defaultCurrencyCode:
description: 'The default three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes)
of the balance account.
The default value is **EUR**.
> After a balance account is created, you cannot change its default currency.'
type: string
description:
description: A human-readable description of the balance account, maximum
300 characters. You can use this parameter to distinguish between multiple
balance accounts under an account holder.
maxLength: 300
type: string
id:
description: The unique identifier of the balance account.
type: string
metadata:
additionalProperties:
type: string
description: 'A set of key and value pairs for general use.
The keys do not have specific names and may be used for storing miscellaneous
data as desired.
> 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
migratedAccountCode:
description: The unique identifier of the account of the migrated account
holder in the classic integration.
type: string
paymentInstruments:
description: List of [payment instruments](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments)
associated with the balance account.
items:
$ref: '#/components/schemas/PaymentInstrumentReference'
type: array
platformPaymentConfiguration:
description: Contains key-value pairs to the configure the settlement model
in a balance account.
$ref: '#/components/schemas/PlatformPaymentConfiguration'
reference:
description: Your reference for the balance account, maximum 150 characters.
maxLength: 150
type: string
status:
description: "The status of the balance account, set to **Active** by default.\
\ \n"
enum:
- Active
- Closed
- Inactive
- Suspended
type: string
timeZone:
description: 'The time zone of the balance account. For example, **Europe/Amsterdam**.
Defaults to the time zone of the account holder 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
required:
- accountHolderId
- id
type: object
BalanceAccountNotificationData:
additionalProperties: false
properties:
balanceAccount:
$ref: '#/components/schemas/BalanceAccount'
balancePlatform:
description: The unique identifier of the balance platform.
type: string
type: object
BalanceAccountNotificationRequest:
additionalProperties: false
properties:
data:
description: Contains event details.
$ref: '#/components/schemas/BalanceAccountNotificationData'
environment:
description: 'The environment from which the webhook originated.
Possible values: **test**, **live**.'
type: string
timestamp:
description: When the event was queued.
format: date-time
type: string
type:
description: Type of webhook.
enum:
- balancePlatform.balanceAccount.updated
- balancePlatform.balanceAccount.created
type: string
required:
- environment
- type
- data
type: object
BalancePlatformNotificationResponse:
additionalProperties: false
properties:
notificationResponse:
description: Respond with any **2xx** HTTP status code to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications).
type: string
type: object
BankAccountDetails:
additionalProperties: false
properties:
accountNumber:
description: The bank account number, without separators or whitespace.
type: string
accountType:
default: checking
description: 'The bank account type.
Possible values: **checking** or **savings**. Defaults to **checking**.'
type: string
branchNumber:
description: The bank account branch number, without separators or whitespace
type: string
formFactor:
default: physical
description: "Business accounts with a `formFactor` value of **physical**\
\ are business accounts issued under the central bank of that country.\
\ The default value is **physical** for NL, US, and UK business accounts.\
\ \n\nAdyen creates a local IBAN for business accounts when the `formFactor`\
\ value is set to **virtual**. The local IBANs that are supported are\
\ for DE and FR, which reference a physical NL account, with funds being\
\ routed through the central bank of NL."
type: string
iban:
description: The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html)
standard.
type: string
routingNumber:
description: The [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number),
without separators or whitespace.
type: string
sortCode:
description: The [sort code](https://en.wikipedia.org/wiki/Sort_code), without
separators or whitespace.
type: string
type:
default: iban
description: '**iban** or **usLocal** or **ukLocal**'
type: string
required:
- type
type: object
BulkAddress:
additionalProperties: false
properties:
city:
description: The name of the city.
type: string
company:
description: The name of the company.
type: string
country:
description: The two-character ISO-3166-1 alpha-2 country code. For example,
**US**.
type: string
email:
description: The email address.
type: string
houseNumberOrName:
description: The house number or name.
type: string
mobile:
description: The full telephone number.
type: string
postalCode:
description: 'The postal code.
Maximum length:
* 5 digits for addresses in the US.
* 10 characters for all other countries.'
type: string
stateOrProvince:
description: 'The two-letter ISO 3166-2 state or province code.
Maximum length: 2 characters for addresses in the US.'
type: string
street:
description: The streetname of the house.
type: string
required:
- country
type: object
CapabilityProblem:
additionalProperties: false
properties:
entity:
description: Contains the type of the entity and the corresponding ID.
$ref: '#/components/schemas/CapabilityProblemEntity'
verificationErrors:
description: Contains information about the verification error.
items:
$ref: '#/components/schemas/VerificationError'
type: array
type: object
CapabilityProblemEntity:
additionalProperties: false
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: '#/components/schemas/CapabilityProblemEntity-recursive'
type:
description: "Type of entity. \n\nPossible values: **LegalEntity**, **BankAccount**,\
\ **Document**."
enum:
- BankAccount
- Document
- LegalEntity
type: string
type: object
CapabilityProblemEntity-recursive:
additionalProperties: false
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:
additionalProperties: false
properties:
amountPerIndustry:
additionalProperties:
$ref: '#/components/schemas/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: '#/components/schemas/Amount'
type: object
Card:
additionalProperties: false
properties:
authentication:
description: Contains the card user's password and mobile phone number.
This is required when you issue cards that can be used to make online
payments within the EEA and the UK, or can be added to digital wallets.
Refer to [3D Secure and digital wallets](https://docs.adyen.com/issuing/3d-secure-and-wallets)
for more information.
$ref: '#/components/schemas/Authentication'
bin:
description: The bank identification number (BIN) of the card number.
type: string
brand:
description: 'The brand of the physical or the virtual card.
Possible values: **visa**, **mc**.'
type: string
brandVariant:
description: 'The brand variant of the physical or the virtual card. For
example, **visadebit** or **mcprepaid**.
>Reach out to your Adyen contact to get the values relevant for your integration.'
type: string
cardholderName:
description: "The name of the cardholder.\n Maximum length: 26 characters."
maxLength: 26
type: string
configuration:
description: "Settings required when creating a physical or a virtual card.\
\ \n\nReach out to your Adyen contact to get the values that you can send\
\ in this object."
$ref: '#/components/schemas/CardConfiguration'
cvc:
description: 'The CVC2 value of the card.
> The CVC2 is not sent by default. This is only returned in the `POST`
response for single-use virtual cards.'
type: string
deliveryContact:
description: The delivery contact (name and address) for physical card delivery.
$ref: '#/components/schemas/Contact'
expiration:
description: The expiration date of the card.
$ref: '#/components/schemas/Expiry'
formFactor:
description: 'The form factor of the card.
Possible values: **virtual**, **physical**.'
enum:
- physical
- unknown
- virtual
type: string
lastFour:
description: Last last four digits of the card number.
type: string
number:
description: 'The primary account number (PAN) of the card.
> The PAN is masked by default and returned only for single-use virtual
cards.'
type: string
threeDSecure:
description: 'Allocates a specific product range for either a physical or
a virtual card. Possible values: **fullySupported**, **secureCorporate**.
>Reach out to your Adyen contact to get the values relevant for your integration.'
type: string
required:
- formFactor
- cardholderName
- brand
- brandVariant
- number
type: object
CardConfiguration:
additionalProperties: false
properties:
activation:
description: Overrides the activation label design ID defined in the `configurationProfileId`.
The activation label is attached to the card and contains the activation
instructions.
type: string
activationUrl:
description: "Your app's URL, if you want to activate cards through your\
\ app. For example, **my-app://ref1236a7d**. A QR code is created based\
\ on this URL, and is included in the carrier. Before you use this field,\
\ reach out to your Adyen contact to set up the QR code process. \n\n\
Maximum length: 255 characters."
maxLength: 255
type: string
bulkAddress:
description: Overrides the shipment bulk address defined in the `configurationProfileId`.
$ref: '#/components/schemas/BulkAddress'
cardImageId:
description: The ID of the card image. This is the image that will be printed
on the full front of the card.
type: string
carrier:
description: Overrides the carrier design ID defined in the `configurationProfileId`.
The carrier is the letter or packaging to which the card is attached.
type: string
carrierImageId:
description: The ID of the carrier image. This is the image that will printed
on the letter to which the card is attached.
type: string
configurationProfileId:
description: 'The ID of the card configuration profile that contains the
settings of the card. For example, the envelope and PIN mailer designs
or the logistics company handling the shipment. All the settings in the
profile are applied to the card, unless you provide other fields to override
them.
For example, send the `shipmentMethod` to override the logistics company
defined in the card configuration profile.'
type: string
currency:
description: The three-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217)
currency code of the card. For example, **EUR**.
type: string
envelope:
description: 'Overrides the envelope design ID defined in the `configurationProfileId`. '
type: string
insert:
description: Overrides the insert design ID defined in the `configurationProfileId`.
An insert is any additional material, such as marketing materials, that
are shipped together with the card.
type: string
language:
description: The two-letter [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
language code of the card. For example, **en**.
type: string
logoImageId:
description: The ID of the logo image. This is the image that will be printed
on the partial front of the card, such as a logo on the upper right corner.
type: string
pinMailer:
description: Overrides the PIN mailer design ID defined in the `configurationProfileId`.
The PIN mailer is the letter on which the PIN is printed.
type: string
shipmentMethod:
description: Overrides the logistics company defined in the `configurationProfileId`.
type: string
required:
- configurationProfileId
type: object
CardOrderItem:
additionalProperties: false
properties:
balancePlatform:
description: The unique identifier of the balance platform.
type: string
card:
description: 'The status of the card delivery.
Possible values: **created**, **rejected**, **processing**, **produced**,
**shipped**, **delivered**, **notApplicable**, **unknown**. '
$ref: '#/components/schemas/CardOrderItemDeliveryStatus'
cardOrderItemId:
description: The unique identifier of the card order item.
type: string
creationDate:
description: The date and time when the event was triggered, in ISO 8601
extended format. For example, **2020-12-18T10:15:30+01:00**.
format: date-time
type: string
id:
description: The ID of the resource.
type: string
paymentInstrumentId:
description: The unique identifier of the payment instrument related to
the card order item.
type: string
pin:
description: Contains information about the status of the PIN delivery.
$ref: '#/components/schemas/CardOrderItemDeliveryStatus'
shippingMethod:
description: The shipping method used to deliver the card or the PIN.
type: string
type: object
CardOrderItemDeliveryStatus:
additionalProperties: false
properties:
errorMessage:
description: An error message.
type: string
status:
description: The status of the PIN delivery.
enum:
- created
- delivered
- notApplicable
- processing
- produced
- rejected
- shipped
- unknown
type: string
trackingNumber:
description: The tracking number of the PIN delivery.
type: string
type: object
CardOrderNotificationRequest:
additionalProperties: false
properties:
data:
description: Contains event details.
$ref: '#/components/schemas/CardOrderItem'
environment:
description: 'The environment from which the webhook originated.
Possible values: **test**, **live**.'
type: string
timestamp:
description: When the event was queued.
format: date-time
type: string
type:
description: Type of webhook.
enum:
- balancePlatform.cardorder.created
- balancePlatform.cardorder.updated
type: string
required:
- environment
- type
- data
type: object
Contact:
additionalProperties: false
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'
webAddress:
description: The URL of the website of the contact.
type: string
type: object
ContactDetails:
deprecated: true
additionalProperties: false
properties:
address:
description: The address of the account holder.
$ref: '#/components/schemas/Address'
email:
description: The email address of the account holder.
type: string
phone:
description: The phone number of the account holder.
$ref: '#/components/schemas/Phone'
webAddress:
description: The URL of the account holder's website.
type: string
required:
- email
- phone
- address
type: object
Expiry:
additionalProperties: false
properties:
month:
description: The month in which the card will expire.
type: string
year:
description: The year in which the card will expire.
type: string
type: object
IbanAccountIdentification:
additionalProperties: false
properties:
iban:
description: The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html)
standard.
type: string
type:
default: iban
description: '**iban**'
enum:
- iban
type: string
required:
- type
- iban
type: object
Name:
additionalProperties: false
properties:
firstName:
description: The first name.
maxLength: 80
type: string
lastName:
description: The last name.
maxLength: 80
type: string
required:
- firstName
- lastName
type: object
PaymentInstrument:
additionalProperties: false
properties:
additionalBankAccountIdentifications:
description: Contains optional, additional business account details. Returned
when you create a payment instrument with `type` **bankAccount**.
items:
oneOf:
- $ref: '#/components/schemas/IbanAccountIdentification'
type: array
balanceAccountId:
description: The unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/v1/post/balanceAccounts__resParam_id)
associated with the payment instrument.
type: string
bankAccount:
description: Contains the business account details. Returned when you create
a payment instrument with `type` **bankAccount**.
$ref: '#/components/schemas/BankAccountDetails'
card:
description: Contains information about the card payment instrument. Returned
when you create a payment instrument with `type` **card**.
$ref: '#/components/schemas/Card'
description:
description: Your description for the payment instrument, maximum 300 characters.
maxLength: 300
type: string
id:
description: The unique identifier of the payment instrument.
type: string
issuingCountryCode:
description: The two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
country code where the payment instrument is issued. For example, **NL**
or **US**.
type: string
paymentInstrumentGroupId:
description: The unique identifier of the [payment instrument group](https://docs.adyen.com/api-explorer/#/balanceplatform/v1/post/paymentInstrumentGroups__resParam_id)
to which the payment instrument belongs.
type: string
reference:
description: Your reference for the payment instrument, maximum 150 characters.
maxLength: 150
type: string
status:
description: "The status of the payment instrument. If a status is not specified\
\ when creating a payment instrument, it is set to **Active** by default.\
\ However, there can be exceptions for cards based on the `card.formFactor`\
\ and the `issuingCountryCode`. For example, when issuing physical cards\
\ in the US, the default status is **Requested**.\n\nPossible values:\
\ \n\n * **Active**: The payment instrument is active and can be used\
\ to make payments. \n\n * **Requested**: The payment instrument has been\
\ requested. This state is applicable for physical cards. \n\n* **Inactive**:\
\ The payment instrument is inactive and cannot be used to make payments.\
\ \n\n * **Suspended**: The payment instrument is temporarily suspended\
\ and cannot be used to make payments. \n\n * **Closed**: The payment\
\ instrument is permanently closed. This action cannot be undone. \n\n\
* **Stolen** \n\n * **Lost**\n\n "
enum:
- Active
- Closed
- Inactive
- Lost
- Requested
- Stolen
- Suspended
- blocked
- discarded
type: string
type:
description: 'The type of payment instrument.
Possible values: **card**, **bankAccount**.'
enum:
- bankAccount
- card
type: string
required:
- balanceAccountId
- issuingCountryCode
- type
- id
type: object
PaymentInstrumentNotificationData:
additionalProperties: false
properties:
balancePlatform:
description: The unique identifier of the balance platform.
type: string
paymentInstrument:
description: Contains information about the payment instrument resource
that triggered the event.
$ref: '#/components/schemas/PaymentInstrument'
type: object
PaymentInstrumentReference:
additionalProperties: false
properties:
id:
description: The unique identifier of the payment instrument.
type: string
required:
- id
type: object
PaymentNotificationRequest:
additionalProperties: false
properties:
data:
description: Contains event details.
$ref: '#/components/schemas/PaymentInstrumentNotificationData'
environment:
description: 'The environment from which the webhook originated.
Possible values: **test**, **live**.'
type: string
timestamp:
description: When the event was queued.
format: date-time
type: string
type:
description: Type of webhook.
enum:
- balancePlatform.paymentInstrument.created
- balancePlatform.paymentInstrument.updated
type: string
required:
- environment
- type
- data
type: object
PersonalData:
additionalProperties: false
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
type: object
Phone:
additionalProperties: false
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
PhoneNumber:
additionalProperties: false
properties:
phoneCountryCode:
description: 'The two-character ISO-3166-1 alpha-2 country code of the phone
number.
For example, **US** or **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.
Possible values: **Landline**, **Mobile**, **SIP**, **Fax**.'
enum:
- Fax
- Landline
- Mobile
- SIP
type: string
type: object
PlatformPaymentConfiguration:
additionalProperties: false
properties:
salesDayClosingTime:
description: 'Specifies at what time a [sales day](https://docs.adyen.com/platforms/settle-funds/sales-day-settlement#sales-day)
ends for this account.
Possible values: Time in **"HH:MM"** format. **HH** ranges from **00**
to **07**. **MM** must be **00**.
Default value: **"00:00"**.'
format: time
type: string
settlementDelayDays:
description: 'Specifies after how many business days the funds in a [settlement
batch](https://docs.adyen.com/platforms/settle-funds/sales-day-settlement#settlement-batch)
are made available in this balance account.
Possible values: **1** to **20**, or **null**.
* Setting this value to an integer enables Sales day settlement in this
balance account. See how Sales day settlement works in your [marketplace](https://docs.adyen.com/marketplaces/settle-funds/sales-day-settlement)
or [platform](https://docs.adyen.com/platforms/settle-funds/sales-day-settlement).
* Setting this value to **null** enables Pass-through settlement in this
balance account. See how Pass-through settlement works in your [marketplace](https://docs.adyen.com/marketplaces/settle-funds/pass-through-settlement)
or [platform](https://docs.adyen.com/platforms/settle-funds/pass-through-settlement).
Default value: **null**.'
format: int32
type: integer
type: object
RemediatingAction:
additionalProperties: false
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
Resource:
additionalProperties: false
properties:
balancePlatform:
description: The unique identifier of the balance platform.
type: string
creationDate:
description: The date and time when the event was triggered, in ISO 8601
extended format. For example, **2020-12-18T10:15:30+01:00**.
format: date-time
type: string
id:
description: The ID of the resource.
type: string
type: object
SweepConfigurationNotificationData:
additionalProperties: false
properties:
accountId:
description: The unique identifier of the balance account for which the
sweep was configured.
type: string
balancePlatform:
description: The unique identifier of the balance platform.
type: string
sweep:
description: Contains information about the sweep resource that triggered
the event.
$ref: '#/components/schemas/SweepConfigurationV2'
type: object
SweepConfigurationNotificationRequest:
additionalProperties: false
properties:
data:
description: Contains event details.
$ref: '#/components/schemas/SweepConfigurationNotificationData'
environment:
description: 'The environment from which the webhook originated.
Possible values: **test**, **live**.'
type: string
timestamp:
description: When the event was queued.
format: date-time
type: string
type:
description: Type of webhook.
enum:
- balancePlatform.balanceAccountSweep.created
- balancePlatform.balanceAccountSweep.updated
- balancePlatform.balanceAccountSweep.deleted
type: string
required:
- environment
- type
- data
type: object
SweepConfigurationV2:
additionalProperties: false
properties:
counterparty:
description: 'The destination or the source of the funds, depending on the
sweep `type`.
Either a `balanceAccountId`, `transferInstrumentId`, or `merchantAccount`
is required.'
$ref: '#/components/schemas/SweepCounterparty'
currency:
description: 'The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes)
in uppercase. For example, **EUR**.
The sweep currency must match any of the [balances currencies](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balanceAccounts/{id}__resParam_balances).'
type: string
description:
description: 'The message that will be used in the sweep transfer''s description
body with a maximum length of 140 characters.
If the message is longer after replacing placeholders, the message will
be cut off at 140 characters.'
type: string
id:
description: The unique identifier of the sweep.
type: string
reason:
description: The reason for disabling the sweep.
enum:
- accountHierarchyNotActive
- amountLimitExceeded
- approved
- balanceAccountTemporarilyBlockedByTransactionRule
- counterpartyAccountBlocked
- counterpartyAccountClosed
- counterpartyAccountNotFound
- counterpartyAddressRequired
- counterpartyBankTimedOut
- counterpartyBankUnavailable
- declined
- declinedByTransactionRule
- directDebitNotSupported
- error
- notEnoughBalance
- pendingApproval
- pendingExecution
- refusedByCounterpartyBank
- refusedByCustomer
- routeNotFound
- scaFailed
- transferInstrumentDoesNotExist
- unknown
type: string
reasonDetail:
description: The human readable reason for disabling the sweep.
type: string
reference:
description: Your reference for the sweep configuration.
maxLength: 80
type: string
referenceForBeneficiary:
description: The reference sent to or received from the counterparty. Only
alphanumeric characters are allowed.
maxLength: 80
type: string
schedule:
description: The schedule when the `triggerAmount` is evaluated. If the
balance meets the threshold, funds are pushed out of or pulled in to the
balance account.
$ref: '#/components/schemas/SweepSchedule'
status:
description: "The status of the sweep. If not provided, by default, this\
\ is set to **active**.\n\nPossible values: \n\n * **active**: the sweep\
\ is enabled and funds will be pulled in or pushed out based on the defined\
\ configuration. \n\n * **inactive**: the sweep is disabled and cannot\
\ be triggered. \n\n"
enum:
- active
- inactive
type: string
sweepAmount:
description: The amount that must be pushed out or pulled in. You can configure
either `sweepAmount` or `targetAmount`, not both.
$ref: '#/components/schemas/Amount'
targetAmount:
description: The amount that must be available in the balance account after
the sweep. You can configure either `sweepAmount` or `targetAmount`, not
both.
$ref: '#/components/schemas/Amount'
triggerAmount:
description: 'The threshold amount that triggers the sweep. If not provided,
by default, the amount is set to zero. The `triggerAmount` is evaluated
according to the specified `schedule.type`.
* For `type` **pull**, if the balance is less than or equal to the `triggerAmount`,
funds are pulled in to the balance account.
* For `type` **push**, if the balance is more than or equal to the `triggerAmount`,
funds are pushed out of the balance account.'
$ref: '#/components/schemas/Amount'
type:
default: push
description: "The direction of sweep, whether pushing out or pulling in\
\ funds to the balance account. If not provided, by default, this is set\
\ to **push**.\n\nPossible values:\n\n * **push**: _push out funds_ to\
\ a destination balance account or transfer instrument.\n\n * **pull**:\
\ _pull in funds_ from a source merchant account, transfer instrument,\
\ or balance account."
enum:
- pull
- push
type: string
required:
- id
- schedule
- currency
- counterparty
type: object
SweepCounterparty:
additionalProperties: false
properties:
balanceAccountId:
description: "The unique identifier of the destination or source [balance\
\ account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).\n\
\n > If you are updating the counterparty from a transfer instrument to\
\ a balance account, set `transferInstrumentId` to **null**."
type: string
merchantAccount:
description: 'The merchant account that will be the source of funds.
You can only use this parameter with sweeps of `type` **pull** and if
you are processing payments with Adyen.'
type: string
transferInstrumentId:
description: 'The unique identifier of the destination or source [transfer
instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id)
depending on the sweep `type`
. To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin)
or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin),
use this parameter in combination with a `merchantAccount` and a sweep
`type` of **pull**.
Top-up sweeps start a direct debit request from the source transfer instrument.
Contact Adyen Support to enable this feature.> If you are updating the
counterparty from a balance account to a transfer instrument, set `balanceAccountId`
to **null**.'
type: string
type: object
SweepSchedule:
additionalProperties: false
properties:
cronExpression:
description: "A [cron expression](https://en.wikipedia.org/wiki/Cron#CRON_expression)\
\ that is used to set the sweep schedule. The schedule uses the time zone\
\ of the balance account. \nFor example, **30 17 * * MON** schedules a\
\ sweep every Monday at 17:30.\n\nThe expression must have five values\
\ separated by a single space in the following order:\n\n* Minute: **0-59**\n\
\n* Hour: **0-23**\n\n* Day of the month: **1-31**\n\n* Month: **1-12**\
\ or **JAN-DEC**\n\n* Day of the week: **0-7** (0 and 7 are Sunday) or\
\ **MON-SUN**.\n\nThe following non-standard characters are supported:\
\ *****, **L**, **#**, **W** and **/**. See [crontab guru](https://crontab.guru/)\
\ for more examples.\n\nRequired when `type` is **cron**.\n"
type: string
type:
description: 'The schedule type.
Possible values:
* **cron**: push out funds based on a `cronExpression`.
* **daily**: push out funds daily at 07:00 AM CET.
* **weekly**: push out funds every Monday at 07:00 AM CET.
* **monthly**: push out funds every first of the month at 07:00 AM CET.
* **balance**: execute the sweep instantly if the `triggerAmount` is reached.
'
enum:
- daily
- weekly
- monthly
- balance
- cron
type: string
required:
- type
type: object
VerificationDeadline:
additionalProperties: false
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
- issueChargeCard
- issueChargeCardCommercial
- issueCreditLimit
- localAcceptance
- payout
- payoutToTransferInstrument
- processing
- receiveFromBalanceAccount
- receiveFromPlatformPayments
- receiveFromThirdParty
- receiveFromTransferInstrument
- receiveGrants
- receivePayments
- sendToBalanceAccount
- sendToThirdParty
- sendToTransferInstrument
- thirdPartyFunding
- useCard
- useCardCommercial
- useCardConsumer
- useCardInRestrictedCountries
- useCardInRestrictedCountriesCommercial
- useCardInRestrictedCountriesConsumer
- useCardInRestrictedIndustries
- useCardInRestrictedIndustriesCommercial
- useCardInRestrictedIndustriesConsumer
- useChargeCard
- useChargeCardCommercial
- withdrawFromAtm
- withdrawFromAtmCommercial
- withdrawFromAtmConsumer
- withdrawFromAtmInRestrictedCountries
- withdrawFromAtmInRestrictedCountriesCommercial
- withdrawFromAtmInRestrictedCountriesConsumer
type: string
type: array
entityIds:
description: The unique identifiers of the bank account(s) that the deadline
applies to
items:
type: string
type: array
expiresAt:
description: The date that verification is due by before capabilities are
disallowed.
format: date-time
type: string
required:
- expiresAt
- capabilities
type: object
VerificationError:
additionalProperties: false
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
- issueChargeCard
- issueChargeCardCommercial
- issueCreditLimit
- localAcceptance
- payout
- payoutToTransferInstrument
- processing
- receiveFromBalanceAccount
- receiveFromPlatformPayments
- receiveFromThirdParty
- receiveFromTransferInstrument
- receiveGrants
- receivePayments
- sendToBalanceAccount
- sendToThirdParty
- sendToTransferInstrument
- thirdPartyFunding
- useCard
- useCardCommercial
- useCardConsumer
- useCardInRestrictedCountries
- useCardInRestrictedCountriesCommercial
- useCardInRestrictedCountriesConsumer
- useCardInRestrictedIndustries
- useCardInRestrictedIndustriesCommercial
- useCardInRestrictedIndustriesConsumer
- useChargeCard
- useChargeCardCommercial
- 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: '#/components/schemas/RemediatingAction'
type: array
subErrors:
description: Contains more granular information about the verification error.
items:
$ref: '#/components/schemas/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:
additionalProperties: false
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
- issueChargeCard
- issueChargeCardCommercial
- issueCreditLimit
- localAcceptance
- payout
- payoutToTransferInstrument
- processing
- receiveFromBalanceAccount
- receiveFromPlatformPayments
- receiveFromThirdParty
- receiveFromTransferInstrument
- receiveGrants
- receivePayments
- sendToBalanceAccount
- sendToThirdParty
- sendToTransferInstrument
- thirdPartyFunding
- useCard
- useCardCommercial
- useCardConsumer
- useCardInRestrictedCountries
- useCardInRestrictedCountriesCommercial
- useCardInRestrictedCountriesConsumer
- useCardInRestrictedIndustries
- useCardInRestrictedIndustriesCommercial
- useCardInRestrictedIndustriesConsumer
- useChargeCard
- useChargeCardCommercial
- 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: '#/components/schemas/RemediatingAction'
type: array
required: []
type: object
securitySchemes:
BasicAuth:
scheme: basic
type: http
examples:
post-balancePlatform.accountHolder.created-balancePlatform-accountHolder-created:
summary: Account holder created with LEM API v1, v2
description: Example webhook when an account holder was created with LEM API
v1, v2
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
accountHolder:
contactDetails:
email: test@adyen.com
phone:
number: 0612345678
type: Mobile
address:
houseNumberOrName: '23'
city: Amsterdam
country: NL
postalCode: '12345'
street: Main Street 1
description: Shelly Eller
legalEntityId: LE00000000000000000000001
reference: YOUR_REFERENCE-2412C
capabilities:
issueCard:
enabled: true
requested: true
allowed: false
verificationStatus: pending
receiveFromTransferInstrument:
enabled: true
requested: true
allowed: false
verificationStatus: pending
sendToTransferInstrument:
enabled: true
requested: true
allowed: false
verificationStatus: pending
sendToBalanceAccount:
enabled: true
requested: true
allowed: false
verificationStatus: pending
receiveFromBalanceAccount:
enabled: true
requested: true
allowed: false
verificationStatus: pending
id: AH00000000000000000000001
status: Active
environment: test
type: balancePlatform.accountHolder.created
post-balancePlatform.accountHolder.created-balancePlatform-accountHolder-created-lem-v3:
summary: Account holder created with LEM API v3
description: Example webhook when an account holder was created with LEM API
v3
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
accountHolder:
legalEntityId: LE00000000000000000000001
reference: YOUR_REFERENCE-2412C
capabilities:
sendToTransferInstrument:
enabled: true
requested: true
allowed: false
problems:
- entity:
id: LE00000000000000000000001
type: LegalEntity
verificationErrors:
- code: '2_902'
message: Terms Of Service forms are not accepted.
remediatingActions:
- code: '2_902'
message: Accept TOS
type: invalidInput
- entity:
id: SE00000000000000000000001
type: BankAccount
verificationErrors:
- code: '2_8037'
message: '''bankStatement'' was missing.'
remediatingActions:
- code: '1_703'
message: Upload a bank statement
type: dataMissing
- entity:
id: SE00000000000000000000002
type: BankAccount
verificationErrors:
- code: '2_8037'
message: '''bankStatement'' was missing.'
remediatingActions:
- code: '1_703'
message: Upload a bank statement
type: dataMissing
- entity:
id: LE00000000000000000000001
type: LegalEntity
verificationErrors:
- code: '2_8189'
message: '''UBO through control'' was missing.'
remediatingActions:
- code: '2_151'
message: Add 'organization.entityAssociations' of type 'uboThroughControl'
to legal entity
type: dataMissing
- code: '1_50'
message: Organization details couldn't be verified
subErrors:
- code: '1_5016'
message: The tax ID number couldn't be verified
remediatingActions:
- code: '1_500'
message: Update organization details
- code: '1_501'
message: Upload a registration document
type: invalidInput
type: invalidInput
- code: '2_8067'
message: '''Signatory'' was missing.'
remediatingActions:
- code: '2_124'
message: Add 'organization.entityAssociations' of type 'signatory'
to legal entity
type: dataMissing
transferInstruments:
- enabled: true
requested: true
allowed: false
id: SE00000000000000000000001
verificationStatus: pending
- enabled: true
requested: true
allowed: false
id: SE00000000000000000000002
verificationStatus: pending
verificationStatus: pending
id: AH00000000000000000000001
status: Active
environment: live
type: balancePlatform.accountHolder.created
post-balancePlatform.accountHolder.updated-balancePlatform-accountHolder-updated:
summary: Account holder updated with LEM API v1, v2
description: Example webhook when an account holder was updated with LEM API
v1, v2
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
accountHolder:
description: Shelly Eller
legalEntityId: LE00000000000000000000001
reference: YOUR_REFERENCE-2412C
capabilities:
sendToTransferInstrument:
enabled: true
requested: true
allowed: false
problems:
- entity:
id: LE00000000000000000000001
type: BankAccount
verificationErrors:
- code: '2_8037'
message: '''bankStatement'' was missing.'
remediatingActions:
- code: '1_703'
message: Upload a bank statement
type: dataMissing
verificationStatus: invalid
id: AH00000000000000000000001
status: Active
environment: test
type: balancePlatform.accountHolder.updated
post-balancePlatform.accountHolder.updated-balancePlatform-accountHolder-updated-lem-v3:
summary: Account holder updated with LEM API v3
description: Example webhook when an account holder was updated with LEM API
v3
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
accountHolder:
legalEntityId: LE00000000000000000000001
reference: YOUR_REFERENCE-2412C
capabilities:
sendToTransferInstrument:
enabled: true
requested: true
allowed: false
problems:
- entity:
id: LE00000000000000000000001
type: LegalEntity
verificationErrors:
- code: '2_902'
message: Terms Of Service forms are not accepted.
remediatingActions:
- code: '2_902'
message: Accept TOS
type: invalidInput
- entity:
id: SE00000000000000000000001
type: BankAccount
verificationErrors:
- code: '2_8037'
message: '''bankStatement'' was missing.'
remediatingActions:
- code: '1_703'
message: Upload a bank statement
type: dataMissing
- entity:
id: SE00000000000000000000002
type: BankAccount
verificationErrors:
- code: '2_8037'
message: '''bankStatement'' was missing.'
remediatingActions:
- code: '1_703'
message: Upload a bank statement
type: dataMissing
- entity:
id: LE00000000000000000000001
type: LegalEntity
verificationErrors:
- code: '2_8189'
message: '''UBO through control'' was missing.'
remediatingActions:
- code: '2_151'
message: Add 'organization.entityAssociations' of type 'uboThroughControl'
to legal entity
type: dataMissing
- code: '1_50'
message: Organization details couldn't be verified
subErrors:
- code: '1_5016'
message: The tax ID number couldn't be verified
remediatingActions:
- code: '1_500'
message: Update organization details
- code: '1_501'
message: Upload a registration document
type: invalidInput
type: invalidInput
- code: '2_8067'
message: '''Signatory'' was missing.'
remediatingActions:
- code: '2_124'
message: Add 'organization.entityAssociations' of type 'signatory'
to legal entity
type: dataMissing
transferInstruments:
- enabled: true
requested: true
allowed: false
id: SE00000000000000000000001
verificationStatus: pending
- enabled: true
requested: true
allowed: false
id: SE00000000000000000000002
verificationStatus: pending
verificationStatus: pending
id: AH00000000000000000000001
status: Active
environment: live
type: balancePlatform.accountHolder.updated
post-balancePlatform.balanceAccount.created-balancePlatform-balanceAccount-created:
summary: Balance account created
description: Example webhook when a balance account was created
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
balanceAccount:
accountHolderId: AH00000000000000000001
defaultCurrencyCode: EUR
id: BA00000000000000000001
status: Active
environment: test
type: balancePlatform.balanceAccount.created
post-balancePlatform.balanceAccount.updated-balancePlatform-balanceAccount-updated:
summary: Balance account updated
description: Example webhook when a balance account was updated
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
balanceAccount:
accountHolderId: AH00000000000000000001
defaultCurrencyCode: EUR
id: BA00000000000000000001
status: Active
timeZone: Europe/Amsterdam
environment: test
type: balancePlatform.balanceAccount.updated
post-balancePlatform.balanceAccountSweep.created-balancePlatform-sweep-created:
summary: Sweep created
description: Example webhook when a sweep was created
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
accountId: BA00000000000000000001
sweep:
id: SWPC4227C224555B5FTD2NT2JV4WN5
schedule:
type: weekly
status: active
targetAmount:
currency: EUR
value: 0
triggerAmount:
currency: EUR
value: 0
type: push
counterparty:
balanceAccountId: BA00000000000000000002
currency: EUR
environment: test
type: balancePlatform.balanceAccountSweep.created
post-balancePlatform.balanceAccountSweep.deleted-balancePlatform-sweep-deleted:
summary: Sweep deleted
description: Example webhook when a sweep was deleted
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
accountId: BA00000000000000000001
sweep:
id: SWPC4227C224555B5FTD2NT2JV4WN5
schedule:
type: weekly
status: active
targetAmount:
currency: EUR
value: 0
triggerAmount:
currency: EUR
value: 0
type: push
counterparty:
balanceAccountId: BA00000000000000000002
currency: EUR
environment: test
type: balancePlatform.balanceAccountSweep.deleted
post-balancePlatform.balanceAccountSweep.updated-balancePlatform-sweep-updated:
summary: Sweep updated
description: Example webhook when a sweep was updated
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
accountId: BA00000000000000000001
sweep:
id: SWPC4227C224555B5FTD2NT2JV4WN5
schedule:
type: weekly
status: inactive
targetAmount:
currency: EUR
value: 0
triggerAmount:
currency: EUR
value: 0
type: push
counterparty:
balanceAccountId: BA00000000000000000002
currency: EUR
environment: test
type: balancePlatform.balanceAccountSweep.created
post-balancePlatform.paymentInstrument.created-balancePlatform-paymentInstrument-created:
summary: Card created
description: Example webhook when a card was created
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
paymentInstrument:
balanceAccountId: BA00000000000000000001
description: C. Holden - card
issuingCountryCode: GB
status: Active
type: card
card:
cardholderName: Carl Holden
formFactor: virtual
brand: mc
brandVariant: mc
number: '4010100000000000000'
bin: '555544'
expiration:
month: '04'
year: '2024'
lastFour: '2732'
id: PI00000000000000000001
environment: test
type: balancePlatform.paymentInstrument.created
post-balancePlatform.paymentInstrument.updated-balancePlatform-paymentInstrument-updated:
summary: Card updated
description: Example webhook when a card was updated
value:
data:
balancePlatform: YOUR_BALANCE_PLATFORM
paymentInstrument:
balanceAccountId: BA00000000000000000001
description: C. Holden - card
issuingCountryCode: GB
status: Suspended
type: card
card:
cardholderName: Carl Holden
formFactor: virtual
brand: mc
brandVariant: mc
number: '4010100000000000000'
bin: '555544'
expiration:
month: '04'
year: '2024'
lastFour: '2732'
id: PI00000000000000000001
environment: test
type: balancePlatform.paymentInstrument.updated