Movements of One Bank Account
What went in and out of one bank account, newest first. An account holding several bank accounts can see what produced each balance instead of one merged history.
New in v3: v2 has no equivalent.
Authorization:
Every request is signed with your API key: a short-lived JWT, signed with your private key, sent in one header on /v3/* and /api/v2/* alike.
Headers:
Authorization: APIKey {SIGNED_JWT}
How to build and sign the JWT: Authentication.
Endpoint
/v3/bank-accounts/{bank_account_id}/transactions
Path parameters
| Parameter | Type | Description |
|---|---|---|
bank_account_id | string (bnk_…) | Required. The bank account. |
An account-scoped key reads only its own account's bank accounts; another account's reads as 404. A workspace-scoped key reads any bank account of the workspace.
Query parameters
Every filter is optional; leaving one out means no filter on it.
| Parameter | Type | Description |
|---|---|---|
status | string | Only movements in this status: pending, success, failed, returned, cancelled or issue. |
direction | string | in for money that arrived, out for money that left. |
created_at_gte | string (date-time) | Only movements created at or after this instant. RFC 3339 (2026-08-01T00:00:00Z), or a day (2026-08-01, read as midnight UTC). |
created_at_lt | string (date-time) | Only movements created before this instant. Same forms. |
page | integer | Page number, from 1. Default 1. |
limit | integer | Rows per page. Default 25, at most 100: a larger value is capped at 100 (see Lists). |
Response Sample
{
"data": [
{
"id": "019fcde5-822a-79d2-8e21-8a188794b2c7",
"bank_account_id": "bnk_01k8x4p6sx9t5v7x1z3b5d7f9h",
"reference": "019fcde5-822a-7a10-9b3c-41d6e8f20a57",
"direction": "out",
"status": "success",
"amount": { "amount": "200.00", "currency": "USD" },
"fee": { "amount": "0", "currency": "USD" },
"total": { "amount": "200.00", "currency": "USD" },
"created_at": "2026-10-12T15:03:44Z",
"updated_at": "2026-10-12T15:03:44Z"
},
{
"id": "019fcd9a-1b3e-7c41-a5d2-3e8f0b6c9a14",
"bank_account_id": "bnk_01k8x4p6sx9t5v7x1z3b5d7f9h",
"reference": "019fcd9a-1b3e-7d02-8c6f-9a2b4e71d3c8",
"direction": "in",
"status": "success",
"amount": { "amount": "500.00", "currency": "USD" },
"fee": { "amount": "0", "currency": "USD" },
"total": { "amount": "500.00", "currency": "USD" },
"created_at": "2026-10-02T11:30:09Z",
"updated_at": "2026-10-02T11:30:09Z"
}
],
"page": 1,
"limit": 25,
"total_items": 2,
"total_pages": 1
}
Response Schema
| Field | Type | Description |
|---|---|---|
data | array | The movements on this page, newest first. |
data[].id | string (UUID) | The movement. A plain UUID, not a TypeID. |
data[].bank_account_id | string (bnk_…) | The bank account it went through. |
data[].reference | string | The movement's reference. Absent when it has none. |
data[].direction | string | in or out, from the account's side. |
data[].status | string | pending, success, failed, returned, cancelled or issue. |
data[].amount | money | What left or arrived, before fees. |
data[].fee | money | What BlockWyre charged. |
data[].total | money | What actually moved once the fee was applied. |
data[].created_at / updated_at | string (date-time) | RFC 3339, UTC. |
page, limit, total_items, total_pages | integer | Pagination, as described in the API v3 overview. next_cursor and prev_cursor are not returned yet. |
A money value is { "amount": "<decimal string>", "currency": "<coin>" }, in the bank account's currency.
Errors
| Status | message | When |
|---|---|---|
400 | failed to parse request | A parameter has the wrong form: bank_account_id is not a bnk_… id, page or limit is not an integer, status or direction is not one of the listed values, or a created_at_* value is not a date-time or a day. |
401 | unauthorized | Missing or invalid signature. |
404 | bank_account_not_found | No such bank account, or it belongs to another account. |
Support and Resources
If you need assistance or have any questions, our support team is here to help. You can contact our support team at support@blockwyre.com.
Stay Updated
Stay up-to-date with the latest news, updates, and features from BlockWyre by following us on social media:
- Instagram: BlockWyre Instagram
- Twitter: BlockWyre Twitter
- Facebook: BlockWyre Facebook
- LinkedIn: BlockWyre LinkedIn
We are excited to have you on board and look forward to seeing how you leverage BlockWyre's powerful tools to enhance your financial operations. Happy integrating!