Manage your bank account , which you can later use for payments
Status update Webhook
Webhook notification about status update
Request Body schema: application/json
Webhook payload
scope | string Value: "bank-accounts" The scope of the webhook |
event_name | string Value: "status-update" event_name |
id | string ID of the bank account |
sortCode | string (sortCode) ^[0-9]{6}$ Sort code of the bank account. Must be 6 digits long |
accountNumber | string (accountNumber) ^[0-9]{8}$ Account number of the bank account. Must be 8 digits long |
name | string (bankAccountName) Bank account name |
provider | string (bankAccountProviderName) Enum: "ob-natwest" "ob-lloyds-personal" "ob-rbs" "ob-tsb" "ob-halifax-personal" "ob-mettle" "ob-bos-personal" "ob-hsbc-personal" "ob-barclays-business" "ob-revolut" "starling" "ob-bos-business" "ob-first-direct" "ob-nationwide" "ob-monzo" "ob-lloyds-business" "ob-santander" "ob-virgin-money" "ob-hsbc-business" "ob-barclays-personal" "ob-tide" "ob-ulster" "other" "ob-chase" "ob-aibni-retail" "ob-aibni-corporate" "ob-aibgb-retail" "ob-aibgb-corporate" "ob-boi-uk-b365" "ob-boi-uk-bol" provider id |
isDefault | boolean Is this bank account default for the company |
status | string (bankAccountStatus) Bank account status |
string or string or string (bankAccountConnectionType) Bank account connection type | |
createdAt | string (createdAt) Date when entity was created |
bankStatementAttachmentURL | string <url> Bank account statement |
bankConsentExpired | string Enum: "day-30" "day-14" "day-1" "expired" "up-to-date" Bank account consent status. Determines if the bank account consent is expired or in which days it will expire. If the bank account is up-to-date reconsent is not needed |
Responses
Request samples
- Payload
{- "scope": "bank-accounts",
- "event_name": "status-update",
- "id": "62b48c5b6ba2cd6a040b20a8",
- "sortCode": "123456",
- "accountNumber": "12345678",
- "name": "Default account",
- "provider": "other",
- "isDefault": true,
- "status": "verified",
- "connectionType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "bankConsentExpired": "day-30"
}
Consent expiration Webhook
Webhook notification about consent expiration. Only for bank acounts connected via App
Request Body schema: application/json
Webhook payload
scope | string Value: "bank-accounts" The scope of the webhook |
event_name | string Value: "status-update" event_name |
id | string ID of the bank account |
sortCode | string (sortCode) ^[0-9]{6}$ Sort code of the bank account. Must be 6 digits long |
accountNumber | string (accountNumber) ^[0-9]{8}$ Account number of the bank account. Must be 8 digits long |
name | string (bankAccountName) Bank account name |
provider | string (bankAccountProviderName) Enum: "ob-natwest" "ob-lloyds-personal" "ob-rbs" "ob-tsb" "ob-halifax-personal" "ob-mettle" "ob-bos-personal" "ob-hsbc-personal" "ob-barclays-business" "ob-revolut" "starling" "ob-bos-business" "ob-first-direct" "ob-nationwide" "ob-monzo" "ob-lloyds-business" "ob-santander" "ob-virgin-money" "ob-hsbc-business" "ob-barclays-personal" "ob-tide" "ob-ulster" "other" "ob-chase" "ob-aibni-retail" "ob-aibni-corporate" "ob-aibgb-retail" "ob-aibgb-corporate" "ob-boi-uk-b365" "ob-boi-uk-bol" provider id |
isDefault | boolean Is this bank account default for the company |
status | string (bankAccountStatus) Bank account status |
string or string or string (bankAccountConnectionType) Bank account connection type | |
createdAt | string (createdAt) Date when entity was created |
bankStatementAttachmentURL | string <url> Bank account statement |
bankConsentExpired | string Enum: "day-30" "day-14" "day-1" "expired" "up-to-date" Bank account consent status. Determines if the bank account consent is expired or in which days it will expire. If the bank account is up-to-date reconsent is not needed |
Responses
Request samples
- Payload
{- "scope": "bank-accounts",
- "event_name": "status-update",
- "id": "62b48c5b6ba2cd6a040b20a8",
- "sortCode": "123456",
- "accountNumber": "12345678",
- "name": "Default account",
- "provider": "other",
- "isDefault": true,
- "status": "verified",
- "connectionType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "bankConsentExpired": "day-30"
}
Create a new bank account
Create a new bank account
path Parameters
companyId required | string Example: 62b48adf6ba2cd6a040b1eec Mongoose Object ID of the target managed company |
header Parameters
terminal-secret required | string <uuid> Example: 3858f642-e92f-431c-9d38-46d15efb7fba |
terminal-id required | string Example: 62b48adf6ba2cd6a040b1eec |
Request Body schema: application/json
sortCode required | string (sortCode) ^[0-9]{6}$ Sort code of the bank account. Must be 6 digits long |
accountNumber required | string (accountNumber) ^[0-9]{8}$ Account number of the bank account. Must be 8 digits long |
name required | string (bankAccountName) Bank account name |
provider required | string (bankAccountProviderName) Enum: "ob-natwest" "ob-lloyds-personal" "ob-rbs" "ob-tsb" "ob-halifax-personal" "ob-mettle" "ob-bos-personal" "ob-hsbc-personal" "ob-barclays-business" "ob-revolut" "starling" "ob-bos-business" "ob-first-direct" "ob-nationwide" "ob-monzo" "ob-lloyds-business" "ob-santander" "ob-virgin-money" "ob-hsbc-business" "ob-barclays-personal" "ob-tide" "ob-ulster" "other" "ob-chase" "ob-aibni-retail" "ob-aibni-corporate" "ob-aibgb-retail" "ob-aibgb-corporate" "ob-boi-uk-b365" "ob-boi-uk-bol" provider id |
bankStatementAttachmentURL required | string <url> (BankAccountAttachment) Link to the bank account statement attachment file |
Responses
Request samples
- Payload
{- "sortCode": "123456",
- "accountNumber": "12345678",
- "name": "Default account",
- "provider": "other",
}
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "62b48c5b6ba2cd6a040b20a8",
- "sortCode": "123456",
- "accountNumber": "12345678",
- "name": "Default account",
- "provider": "other",
- "isDefault": true,
- "status": "verified",
- "connectionType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "bankConsentExpired": "day-30"
}
Get all Bank accounts
Get all Bank accounts
path Parameters
companyId required | string Example: 62b48adf6ba2cd6a040b1eec Mongoose Object ID of the target managed company |
query Parameters
page | integer Default: 1 Example: page=4 Current page number |
limit | integer Default: 25 Example: limit=10 Number of items per page |
header Parameters
terminal-secret required | string <uuid> Example: 3858f642-e92f-431c-9d38-46d15efb7fba |
terminal-id required | string Example: 62b48adf6ba2cd6a040b1eec |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "data": {
- "page": 1,
- "totalDocs": 100,
- "totalPages": 5,
- "limit": 25,
- "hasNextPage": true,
- "docs": [
- {
- "id": "62b48c5b6ba2cd6a040b20a8",
- "sortCode": "123456",
- "accountNumber": "12345678",
- "name": "Default account",
- "provider": "other",
- "isDefault": true,
- "status": "verified",
- "connectionType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "bankConsentExpired": "day-30"
}
]
}
}
Get a bank account by ID
Get a bank account by ID
path Parameters
companyId required | string Example: 62b48adf6ba2cd6a040b1eec Mongoose Object ID of the target managed company |
id required | string Example: 62b48c5b6ba2cd6a040b20a8 Mongoose Object ID of the target entity |
header Parameters
terminal-secret required | string <uuid> Example: 3858f642-e92f-431c-9d38-46d15efb7fba |
terminal-id required | string Example: 62b48adf6ba2cd6a040b1eec |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "62b48c5b6ba2cd6a040b20a8",
- "sortCode": "123456",
- "accountNumber": "12345678",
- "name": "Default account",
- "provider": "other",
- "isDefault": true,
- "status": "verified",
- "connectionType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "bankConsentExpired": "day-30"
}
Update a bank account name by ID
Update a bank account name by ID
path Parameters
companyId required | string Example: 62b48adf6ba2cd6a040b1eec Mongoose Object ID of the target managed company |
id required | string Example: 62b48c5b6ba2cd6a040b20a8 Mongoose Object ID of the target entity |
header Parameters
terminal-secret required | string <uuid> Example: 3858f642-e92f-431c-9d38-46d15efb7fba |
terminal-id required | string Example: 62b48adf6ba2cd6a040b1eec |
Request Body schema: application/json
name | string (bankAccountName) Bank account name |
Responses
Request samples
- Payload
{- "name": "Default account"
}
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "62b48c5b6ba2cd6a040b20a8",
- "sortCode": "123456",
- "accountNumber": "12345678",
- "name": "Default account",
- "provider": "other",
- "isDefault": true,
- "status": "verified",
- "connectionType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "bankConsentExpired": "day-30"
}
Set a bank account as default by ID
Set a bank account as default by ID
path Parameters
companyId required | string Example: 62b48adf6ba2cd6a040b1eec Mongoose Object ID of the target managed company |
id required | string Example: 62b48c5b6ba2cd6a040b20a8 Mongoose Object ID of the target entity |
header Parameters
terminal-secret required | string <uuid> Example: 3858f642-e92f-431c-9d38-46d15efb7fba |
terminal-id required | string Example: 62b48adf6ba2cd6a040b1eec |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "62b48c5b6ba2cd6a040b20a8",
- "sortCode": "123456",
- "accountNumber": "12345678",
- "name": "Default account",
- "provider": "other",
- "isDefault": true,
- "status": "verified",
- "connectionType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "bankConsentExpired": "day-30"
}