Transactions API¶
CRUD operations and filtering for transactions.
Endpoints¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/transactions |
List transactions |
| GET | /api/v1/transactions/count |
Count matching transactions |
| GET | /api/v1/transactions/{id} |
Get single transaction |
| POST | /api/v1/transactions |
Create transaction |
| PATCH | /api/v1/transactions/{id} |
Update transaction |
| DELETE | /api/v1/transactions/{id} |
Delete transaction |
| POST | /api/v1/transactions/bulk-update |
Bulk update |
| POST | /api/v1/transactions/{id}/tags |
Add tag |
| DELETE | /api/v1/transactions/{id}/tags/{tag} |
Remove tag |
| GET | /api/v1/transactions/export |
Export to CSV |
List Transactions¶
Query Parameters¶
| Parameter | Type | Description |
|---|---|---|
skip |
int | Offset (default: 0) |
limit |
int | Max results (default: 100, max: 500) |
start_date |
date | Filter from date |
end_date |
date | Filter to date |
account |
string[] | Include accounts |
account_exclude |
string[] | Exclude accounts |
tag |
string[] | Include tags (namespace:value) |
tag_exclude |
string[] | Exclude tags |
search |
string | Search text |
search_regex |
bool | Use regex matching |
amount_min |
float | Minimum amount |
amount_max |
float | Maximum amount |
is_transfer |
bool | Filter by transfer status |
reconciliation_status |
string | unreconciled, matched, ignored |
Response¶
[
{
"id": 1,
"date": "2024-01-15",
"amount": -45.67,
"merchant": "Grocery Store",
"description": "GROCERY STORE #123",
"account_source": "checking",
"reconciliation_status": "unreconciled",
"is_transfer": false,
"created_at": "2024-01-15T10:30:00Z"
}
]
Export to CSV¶
Returns a CSV file with all matching transactions.