GBP bank virtual account endorsement
Request the gbp_bank_v1 endorsement and complete the required individual or business information for GBP bank virtual accounts.
Request the GBP bank virtual account endorsement when an account needs access to GBP bank virtual account details.
Prerequisites
- Complete onboarding for the account.
- Complete the account’s standard KYC/KYB flow.
- Store the Due account ID, such as
acct_DqvgNSAuQv5OEK9v. - Use the account ID in the
Due-Account-Idheader when requesting the endorsement.
How GBP bank virtual account endorsements work
Request the gbp_bank_v1 endorsement for the account before creating GBP bank virtual accounts that require this endorsement.
If the endorsement response creates a KYC/KYB submission, complete the requirements returned in the submission.requirements array. After the endorsement is approved, create the GBP virtual account through the regular virtual account creation flow.
Request the endorsement
Call the endorsement endpoint with the gbp_bank_v1 code.
POST /v1/kyc/endorsements/gbp_bank_v1curl --request POST \
--url https://api.sandbox.due.network/v1/kyc/endorsements/gbp_bank_v1 \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Due-Account-Id: acct_DqvgNSAuQv5OEK9v'Replace:
| Value | Description |
|---|---|
<API_KEY> | Your Due API key. |
acct_DqvgNSAuQv5OEK9v | The account ID that needs GBP bank virtual accounts. |
gbp_bank_v1 | The endorsement code for GBP bank virtual accounts. |
Requirements examples
If the endorsement response creates a KYC/KYB submission, complete the requirements returned in the submission.requirements array. The exact requirements depend on the account type.
Individual requirements example
[
{
"kind": "static",
"info": [
{ "key": "nationality", "type": "iso3166_1_alpha2" },
{ "key": "email", "type": "email" },
{ "key": "phone", "type": "e164" },
{
"key": "address",
"type": "object",
"fields": [
{ "key": "country", "type": "iso3166_1_alpha2" },
{ "key": "postCode", "type": "swift_x" },
{ "key": "town", "type": "swift_x" },
{ "key": "street", "type": "swift_x" },
{ "key": "state", "type": "iso3166_2" }
]
}
]
}
]Business requirements example
[
{
"kind": "static",
"info": [
{ "key": "phone", "type": "e164" },
{ "key": "website", "type": "string" },
{ "key": "companyName", "type": "string" },
{ "key": "registrationNumber", "type": "string" },
{ "key": "registrationDate", "type": "date" },
{
"key": "address",
"type": "object",
"fields": [
{ "key": "country", "type": "iso3166_1_alpha2" },
{ "key": "postCode", "type": "swift_x" },
{ "key": "town", "type": "swift_x" },
{ "key": "street", "type": "swift_x" },
{ "key": "state", "type": "iso3166_2" }
]
}
]
}
]Wait for approval
After requesting the endorsement, listen for the endorsement.status_changed webhook event and confirm the gbp_bank_v1 endorsement is approved before creating GBP virtual accounts that require this endorsement.
Webhook response example:
{
"endorsement": {
"ownerId": "acct_DsQYd4DB1dOWIwYQ",
"code": "gbp_bank_v1",
"status": "awaiting_approval"
}
}Use endorsement.code to identify the GBP endorsement and endorsement.status to track whether it is still awaiting approval or approved.
When you receive the webhook, you can also retrieve the endorsement status for the account:
GET /v1/kyc/endorsements/gbp_bank_v1If the endorsement creates a submission, complete the submission first. The endorsement can only be approved after the required information has been provided and reviewed.
Create the GBP virtual account
After the endorsement is approved, create the GBP virtual account through the regular virtual account creation flow.
Use the account ID in the Due-Account-Id header when creating the virtual account.