Public developer API

POST /v1/bank-deposits

Creates an Eversend amount-bound temporary NGN bank account for a quoted deposit.

Access

A project-specific API key (Authorization: Bearer dapi_live_...) and its Business ID (X-Business-Id). Rate limited per business (120 calls a minute by default).

Requires an Idempotency-Key header.

Requires an Idempotency-Key header and an unused, unexpired quote.

Do not initiate a transfer unless bank_account details are present. A 202 response means the provider outcome is being checked.

Only the exact quoted NGN amount confirmed by the provider is credited, less the Dutch API fee. A mismatch is held for reconciliation.

Body

FieldTypeRequiredDescription
quote_idstringyesThe quote id from POST /v1/bank-deposits/quote.

Example request

curl --request POST \
  --url 'https://production.dutchapi.co/v1/bank-deposits' \
  --header 'X-Business-Id: YOUR_BUSINESS_ID' \
  --header 'Authorization: Bearer bsk_live_YOUR_BUSINESS_SECRET' \
  --header 'Idempotency-Key: bank-deposits-0001' \
  --header 'Content-Type: application/json' \
  --data '{"quote_id":"bdq_5a1c"}'

Response 201

{
  "id": "bdep_8f2a1c",
  "object": "bank_deposit",
  "status": "pending",
  "amount": 50000,
  "currency": "NGN",
  "fee": 0,
  "country": "NG",
  "bank_account": {
    "account_number": "0123456789",
    "account_name": "Acme Payments Ltd",
    "bank_name": "Eversend Test Bank",
    "reference": "TBA-NG-1",
    "amount": 50000,
    "currency": "NGN",
    "expires_at": "2026-10-13T09:40:00.000Z"
  }
}

Errors

StatuserrorMeaning
400idempotency_key_requiredSend an Idempotency-Key header.
400quote_id_requiredSend the quote_id from a bank-deposit quote.
409quote_expired_or_usedGet a new quote.
422bank_deposit_rejectedThe payment network refused the account request.

Related references

Browse the complete endpoint directory, the developer portal and the security and controls guide.