Public developer API
GET /v1/transactions
Lists every transaction on your organization, newest first: collections, deposits, payouts, withdrawals, swaps, conversions, card funding, card transactions and fees. Each has a kind saying what it is.
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).
kind is one of deposit, collection, withdrawal, disbursement, transfer, card_funding, card_transaction, swap, conversion, fee. Collections and payouts made with your project API key are collection and disbursement.
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
kind | string | no | Only this kind, for example collection or disbursement. |
type | string | no | Ledger type: payout, collection, exchange, funding, card_funding, card_transaction or fee. |
status | string | no | processing, completed or failed. |
limit | integer | no | Page size. |
offset | integer | no | Items to skip. |
Example request
curl --request GET \
--url 'https://production.dutchapi.co/v1/transactions' \
--header 'X-Business-Id: YOUR_BUSINESS_ID' \
--header 'Authorization: Bearer bsk_live_YOUR_BUSINESS_SECRET'
Response 200
{
"object": "list",
"total": 1,
"data": [
{
"id": "pyt_8f2c1a",
"object": "payout",
"kind": "disbursement",
"status": "processing",
"amount": 40000,
"currency": "XAF",
"fee": 300,
"description": "Payout to Ada Obi",
"created_at": "2026-10-13T09:30:00.000Z",
"completed_at": null,
"failure_reason": null,
"funding": "balance",
"rail": "bank",
"recipient": {
"name": "Ada Obi",
"account": "******6789",
"country": "NG"
},
"receive": {
"amount": 88978.6,
"currency": "NGN",
"rate": 2.2244
},
"fees": {
"currency": "XAF",
"rule": "fixed",
"ruleDetail": "Under 50,000 XAF: 300 XAF fixed",
"dutchFee": 300,
"markup": 100,
"totalFee": 400
}
}
]
}
Errors
| Status | error | Meaning |
|---|---|---|
| 403 | insufficient_scope | This project key is not allowed to do that. |