Transactions
List transactions with filtering, search, and pagination
Authorization
bearerAuth Session JWT or OAuth2 access token
In: header
Query Parameters
Pagination cursor
Number of items per page (1-100; higher values cap at 100)
1 <= value20Start date (YYYY-MM-DD)
End date (YYYY-MM-DD)
Search query (FTS)
Category IDs (comma-separated) - legacy, use category_id[in]
Bank account IDs (comma-separated) - legacy, use bank_account_id[in]
Statuses (comma-separated) - legacy, use status[in]
Types: credit,debit,under-50,50-200,200-500,over-500
Sort column
"booking_date"Value in
- "booking_date"
- "amount"
- "created_at"
Sort order
"desc"Value in
- "asc"
- "desc"
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/transactions"{ "data": [ { "id": "string", "organization_id": "string", "bank_account_id": "string", "transaction_id": "string", "booking_date": "string", "amount": 0, "currency": "string", "description": "string", "status": "string", "raw_data": null, "created_at": "string", "updated_at": "string", "name": "string", "method": "string", "category_id": "string", "base_amount": 0, "base_currency": "string", "exclude_from_analytics": true, "notes": "string", "is_recurring": true, "recurrence_period": "string", "recurring_last_detected_at": "string", "recurring_series_id": "string", "bank_account": { "id": "string", "name": "string" }, "category": { "id": "string", "name": "string", "slug": "string", "color": "string" }, "enrichment": { "display_name": "string", "category_slug": "string", "references": [ "string" ] } } ], "meta": { "count": 0, "next_cursor": "string" }}Create a bank or cash transaction
Authorization
bearerAuth Session JWT or OAuth2 access token
In: header
Header Parameters
Optional idempotency key. Reusing the same key with an identical body replays the original response; reusing it with a different body returns 409.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/transactions" \ -H "Content-Type: application/json" \ -d '{ "bank_account_id": "9335a679-63ab-44d5-9de9-e01e0c5a1fff", "booking_date": "string", "amount": 0, "currency": "str" }'{ "data": { "id": "string", "organization_id": "string", "bank_account_id": "string", "transaction_id": "string", "booking_date": "string", "amount": 0, "currency": "string", "description": "string", "status": "string", "raw_data": null, "created_at": "string", "updated_at": "string", "name": "string", "method": "string", "category_id": "string", "base_amount": 0, "base_currency": "string", "exclude_from_analytics": true, "notes": "string", "is_recurring": true, "recurrence_period": "string", "recurring_last_detected_at": "string", "recurring_series_id": "string", "bank_account": { "id": "string", "name": "string" }, "category": { "id": "string", "name": "string", "slug": "string", "color": "string" }, "enrichment": { "display_name": "string", "category_slug": "string", "references": [ "string" ] } }}Get a single transaction by ID
Authorization
bearerAuth Session JWT or OAuth2 access token
In: header
Path Parameters
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/transactions/string"{ "data": { "id": "string", "organization_id": "string", "bank_account_id": "string", "transaction_id": "string", "booking_date": "string", "amount": 0, "currency": "string", "description": "string", "status": "string", "raw_data": null, "created_at": "string", "updated_at": "string", "name": "string", "method": "string", "category_id": "string", "base_amount": 0, "base_currency": "string", "exclude_from_analytics": true, "notes": "string", "is_recurring": true, "recurrence_period": "string", "recurring_last_detected_at": "string", "recurring_series_id": "string", "bank_account": { "id": "string", "name": "string" }, "category": { "id": "string", "name": "string", "slug": "string", "color": "string" }, "enrichment": { "display_name": "string", "category_slug": "string", "references": [ "string" ] } }}Update transaction fields (category, notes, exclude_from_analytics)
Authorization
bearerAuth Session JWT or OAuth2 access token
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/transactions/string" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "id": "string", "organization_id": "string", "bank_account_id": "string", "transaction_id": "string", "booking_date": "string", "amount": 0, "currency": "string", "description": "string", "status": "string", "raw_data": null, "created_at": "string", "updated_at": "string", "name": "string", "method": "string", "category_id": "string", "base_amount": 0, "base_currency": "string", "exclude_from_analytics": true, "notes": "string", "is_recurring": true, "recurrence_period": "string", "recurring_last_detected_at": "string", "recurring_series_id": "string", "bank_account": { "id": "string", "name": "string" }, "category": { "id": "string", "name": "string", "slug": "string", "color": "string" }, "enrichment": { "display_name": "string", "category_slug": "string", "references": [ "string" ] } }}Delete a transaction by ID
Authorization
bearerAuth Session JWT or OAuth2 access token
In: header
Path Parameters
Response Body
application/json
application/json
curl -X DELETE "https://example.com/v1/transactions/string"