Overview
Transactions represent financial activities in Budget Bee. They support categories, tags, line items, and can be filtered by various criteria.Base URL
Authorization
All transaction endpoints require authentication via JWT token:List Transactions
Retrieve a list of transactions. Results are automatically filtered based on user/organization context.Query Parameters
Columns to return. Default:
* (all columns)Sort order. Example:
transaction_date.desc or amount.ascMaximum number of results to return
Number of results to skip (for pagination)
Filter by category ID. Use
eq.{uuid} formatFilter by status. Values:
paid, pending, failedFilter by date. Use operators like
gte.2024-01-01 or lte.2024-12-31Filter by amount. Use operators like
gt.100 or lt.1000Request Example
Response
Unique transaction identifier
Transaction amount (decimal with 2 places)
Currency code (default: “usd”)
Owner user ID
Organization ID (null for personal transactions)
External reference ID (for imports)
Category reference
Reference or invoice number
Transaction name/title
Detailed description
Transaction status:
paid, pending, failedSource of transaction (default: “manual”)
Additional metadata as JSON
When the transaction occurred
When the record was created
Last update timestamp
Response Example
Get Transaction
Retrieve a single transaction by ID.Request Example
Add
Accept: application/vnd.pgrst.object+json header to return a single object instead of an array.Response Example
Create Transaction
Create a new transaction.Request Body
Transaction amount
Transaction name/title
Currency code (default: “usd”)
Category reference
Detailed description
Status:
paid, pending, or failed (default: “paid”)Source identifier (default: “manual”)
Reference or invoice number
External system reference ID
Additional metadata as JSON
Transaction date (default: current timestamp)
User ID (auto-populated from JWT)
Organization ID (auto-populated from JWT if in org context)
Request Example
Include
Prefer: return=representation header to return the created transaction in the response.Response Example
Update Transaction
Update an existing transaction.Request Body
Any transaction fields that need to be updated. Only include fields you want to change.Request Example
Response Example
Delete Transaction
Delete a transaction permanently.Request Example
Response
Returns204 No Content on successful deletion.
Bulk Operations
Create Multiple Transactions
Create multiple transactions in a single request.Request Example
Update Multiple Transactions
Update multiple transactions matching a filter.Advanced Filtering
Filter by Date Range
Filter by Amount Range
Filter by Multiple Statuses
Search by Name
Complex Filters with OR
Access Control
Transaction access is controlled by organization roles:Owner
Full access: list, get, create, update, delete
Admin
Full access: list, get, create, update, delete
Editor
Full access: list, get, create, update, delete
Viewer
Read-only: list, get
Personal vs Organization Transactions
- Personal:
organization_idisnull, accessible only by the user - Organization:
organization_idis set, accessible by organization members based on their role
Error Responses
401 Unauthorized
403 Forbidden
404 Not Found
PostgREST returns an empty array instead of 404 when no rows match the query.

