CreddotDocsCreddot Docs
API referenceVirtual accounts

Simulate an incoming transfer to a sandbox virtual account

Requires sandbox:simulate and a sandbox API key. Immediately creates and posts a collection ledger entry and credits available balance. This route simulates a verified bank notification; it does not accept or process real transfers.

POST
/api/v1/sandbox/virtual-accounts/{id}/transfers

Requires sandbox:simulate and a sandbox API key. Immediately creates and posts a collection ledger entry and credits available balance. This route simulates a verified bank notification; it does not accept or process real transfers.

Authorization

api-key
headerx-api-key<token>

Your API key: ck_test_... for test mode, ck_live_... for live. Send it with x-api-secret (or Authorization: Bearer ).

Path Parameters

id*string

Sandbox virtual-account ID returned by the list/provision endpoints.

Header Parameters

x-api-secret?string

Recommended: API secret sent over HTTPS. You may send it as Authorization: Bearer instead. If supplied, x-timestamp and x-signature are not required.

x-timestamp?string

Legacy signed mode: Unix time in milliseconds; maximum clock skew five minutes.

x-signature?string

Legacy signed mode: HMAC-SHA256(secret, timestamp.METHOD.url.idempotencyKey.bodyHash).

x-idempotency-key*string

1–128 letters/digits or ._:-. Same key and payload replay for 24 hours; conflicting, in-flight, or expired keys return 409. Never change a key to retry an uncertain payment.

Request Body

application/json
  1. body
amountMinor*string

Positive integer minor units. For NGN, 500000 represents ₦5,000.00.

reference*string

External transfer reference. Unique per business environment across collections and payouts.

Length1 <= length <= 80
senderName?string

Displayed only in the recorded provider response; do not send sensitive bank data.

Lengthlength <= 120

Response Body

application/json
  1. response
id*string
transactionId*string
reference*string
status*"SUCCESS"
Value in"SUCCESS"
amountMinor*string
currency*string
provider?string
providerReference?string
virtualAccountId*string
requiresReconciliation?boolean
Example Request
curl -X POST 'https://api.creddot.com/api/v1/sandbox/virtual-accounts/string/transfers' \  -H 'x-idempotency-key: string' \  -H 'Content-Type: application/json' \  -d '{  "amountMinor": "500000",  "reference": "BANK-TRANSFER-20260919-001"}'
Example Response
{  "id": "string",  "transactionId": "string",  "reference": "string",  "status": "SUCCESS",  "amountMinor": "string",  "currency": "string",  "provider": "string",  "providerReference": "string",  "virtualAccountId": "string",  "requiresReconciliation": false}