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
| Field | Type | Required | Description |
|---|---|---|---|
quote_id | string | yes | The 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
| Status | error | Meaning |
|---|---|---|
| 400 | idempotency_key_required | Send an Idempotency-Key header. |
| 400 | quote_id_required | Send the quote_id from a bank-deposit quote. |
| 409 | quote_expired_or_used | Get a new quote. |
| 422 | bank_deposit_rejected | The payment network refused the account request. |