List Transactions
GET /api/v1/transactions
Returns a paginated list of transactions.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| page | number | 1 | Page number |
| limit | number | 100 | Items per page (max 500) |
| fields | string | all | Comma-separated field names |
| date_from | string | - | Filter by date on or after (YYYY-MM-DD) |
| date_to | string | - | Filter by date on or before (YYYY-MM-DD) |
| accounts | string | - | Filter by account ID(s), comma-separated |
| currency | string | - | Filter by account currency code (e.g. USD). Resolves to the org's accounts of that currency; intersects with accounts when both are given. |
| statement | string | - | Filter by statement ID(s), comma-separated |
| category | string | - | Filter by category (use "empty" for uncategorized) |
| entity | string | - | Filter by entity (use "empty" for no entity) |
| comments | string | - | Filter by comments (use "empty" for blank) |
| particulars | string | - | Search in particulars (case-insensitive substring) |
| type | string | - | Filter by transaction type |
| amount_from | number | - | Minimum amount in currency units (multiplied by 1000 internally) |
| amount_to | number | - | Maximum amount in currency units (multiplied by 1000 internally) |
| flow_type | string | all | Restrict amount filter to inflow, outflow, or all |
| sort_order | string | DESC | Sort order by date (ASC or DESC) |
Example Request
curl -X GET "https://statements.finopsbricks.com/api/v1/transactions" \
-H "api-key: fob_stm_xxxxxxxxxxxx" \
-H "api-secret: xxxxxxxxxxxxxxxx"
Example: Filter by Date Range
curl -X GET "https://statements.finopsbricks.com/api/v1/transactions?date_from=2025-01-01&date_to=2025-01-31" \
-H "api-key: fob_stm_xxxxxxxxxxxx" \
-H "api-secret: xxxxxxxxxxxxxxxx"
Example: Filter by Account and Category
curl -X GET "https://statements.finopsbricks.com/api/v1/transactions?accounts=acc123&category=income" \
-H "api-key: fob_stm_xxxxxxxxxxxx" \
-H "api-secret: xxxxxxxxxxxxxxxx"
Example: Get Uncategorized Transactions
curl -X GET "https://statements.finopsbricks.com/api/v1/transactions?category=empty" \
-H "api-key: fob_stm_xxxxxxxxxxxx" \
-H "api-secret: xxxxxxxxxxxxxxxx"
Example: Filter by Amount Range (Outflow Only)
curl -X GET "https://statements.finopsbricks.com/api/v1/transactions?amount_from=1000&amount_to=5000&flow_type=outflow" \
-H "api-key: fob_stm_xxxxxxxxxxxx" \
-H "api-secret: xxxxxxxxxxxxxxxx"
amount_from and amount_to are in currency units (e.g. 1000 = ₹1,000); the server multiplies by 1000 internally to compare against stored milli-units.
Example: Filter by Currency
curl -X GET "https://statements.finopsbricks.com/api/v1/transactions?currency=USD" \
-H "api-key: fob_stm_xxxxxxxxxxxx" \
-H "api-secret: xxxxxxxxxxxxxxxx"
Currency lives on the account, so currency resolves to the org's accounts holding that currency and returns only their transactions. Useful for multi-currency orgs — never mix currencies when summing amounts client-side.
Response
{
"data": [
{
"id": "abc123xyz789",
"date": "2025-01-05",
"particulars": "Payment received",
"inflow": 1000500,
"outflow": 0,
"balance": 5000000,
"entity": "Customer Inc",
"category": "income",
"type": "income",
"po": null,
"comments": null,
"account_id": "acc123",
"account_name": "Main Account",
"account_currency": "INR",
"statement": "stmt123"
}
],
"page_context": {
"count": 1,
"page": 1,
"per_page": 100,
"total": 150,
"has_more": true
}
}
Note: Monetary values (inflow, outflow, balance) are integers in milli-units. Divide by 1000 for display (e.g., 1000500 = 1000.50).
Response Fields
See Transaction Object for field descriptions.
Errors
| Code | Description |
|---|---|
| 401 | Invalid or missing API credentials |
| 403 | API key lacks transactions:read permission |
See Also
For more advanced filtering, use the Search endpoint.