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

  1. Complete onboarding for the account.
  2. Complete the account’s standard KYC/KYB flow.
  3. Store the Due account ID, such as acct_DqvgNSAuQv5OEK9v.
  4. Use the account ID in the Due-Account-Id header 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_v1
curl --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:

ValueDescription
<API_KEY>Your Due API key.
acct_DqvgNSAuQv5OEK9vThe account ID that needs GBP bank virtual accounts.
gbp_bank_v1The 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_v1

If 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.