Bank accounts (1.0.2)
Download OpenAPI specification:Download
Bank accounts API requests specification
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
eventScope | string Value: "bank-accounts" The scope of the webhook |
eventName | string Value: "status-update" The name of the event |
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-barclays-corporate" "ob-danske-private" "ob-danske-business" "ob-revolut" "ob-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 |
string or string or string or string (bankAccountStatus) Bank account status | |
string or string or string (bankAccountCreationType) Bank account connection type | |
createdAt | string (createdAt) Date when entity was created |
bankStatementAttachmentURL | string <url> Bank account statement |
consentID | string Bank account consent ID. This ID is only available for bank accounts connected via App |
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 value is |
Responses
Request samples
- Payload
{- "eventScope": "bank-accounts",
- "eventName": "status-update",
- "id": "62b48c5b6ba2cd6a040b20a8",
- "sortCode": "123456",
- "accountNumber": "12345678",
- "name": "Default account",
- "provider": "other",
- "isDefault": true,
- "status": "verified",
- "creationType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "consentID": "string",
- "bankConsentExpired": "day-30"
}
Reconsent notification Webhook
Webhook notification about the number of days until the consent expires or if it has already expired. Consent expiration status is specified in bankConsentExpired field.
Request Body schema: application/json
Webhook payload
eventScope | string Value: "bank-accounts" The scope of the webhook |
eventName | string Value: "reconsent-notification" 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-barclays-corporate" "ob-danske-private" "ob-danske-business" "ob-revolut" "ob-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 |
string or string or string or string (bankAccountStatus) Bank account status | |
string or string or string (bankAccountCreationType) Bank account connection type | |
createdAt | string (createdAt) Date when entity was created |
bankStatementAttachmentURL | string <url> Bank account statement |
consentID | string Bank account consent ID. This ID is only available for bank accounts connected via App |
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 value is |
Responses
Request samples
- Payload
{- "eventScope": "bank-accounts",
- "eventName": "reconsent-notification",
- "id": "62b48c5b6ba2cd6a040b20a8",
- "sortCode": "123456",
- "accountNumber": "12345678",
- "name": "Default account",
- "provider": "other",
- "isDefault": true,
- "status": "verified",
- "creationType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "consentID": "string",
- "bankConsentExpired": "day-30"
}
Create a new bank account manually
Create a new bank account manually
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-barclays-corporate" "ob-danske-private" "ob-danske-business" "ob-revolut" "ob-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",
- "creationType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "consentID": "string",
- "bankConsentExpired": "day-30"
}
Connect a bank account via App.
Bank account connection via App. Once successfully connected, the webhook with status update will be sent to the Partner
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
provider | string (bankAccountProviderNameEnumNoOther) 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-barclays-corporate" "ob-danske-private" "ob-danske-business" "ob-revolut" "ob-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" "ob-chase" "ob-aibni-retail" "ob-aibni-corporate" "ob-aibgb-retail" "ob-aibgb-corporate" "ob-boi-uk-b365" "ob-boi-uk-bol" provider id |
Responses
Request samples
- Payload
{- "provider": "ob-revolut"
}
Response samples
- 200
- 401
- 403
- 404
- 500
{- "data": {
- "authUri": "string"
}
}
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",
- "creationType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "consentID": "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",
- "creationType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "consentID": "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",
- "creationType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "consentID": "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",
- "creationType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "consentID": "string",
- "bankConsentExpired": "day-30"
}
Reconsent
Initiate reconsent process for a bank account by ID.Only available for bank accounts connected via App. he reconsent process is required when the bank account consent has expired.
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",
- "creationType": "manual",
- "createdAt": "2022-12-24T00:00:00Z",
- "bankStatementAttachmentURL": "string",
- "consentID": "string",
- "bankConsentExpired": "day-30"
}