List transactions
Returns transactions you can access. Filters combine with AND. Each page contains up to 100 transactions.
Request
- Base URL: https://next-api.saturation.io/v1
- URL: https://next-api.saturation.io/v1/transactions
- Auth: HTTP bearer
Query parameters
Project ID or slug. Use none for unassigned transactions.
How the transaction entered Saturation. Financial fields are editable only for manual transactions.
Transaction source. Separate multiple values with commas.
Transaction type. Separate multiple values with commas.
Current transaction status. Available statuses vary by source.
Filter by status. Separate multiple values with commas.
Set to true for refunds and other reversals.
A stable resource ID, such as prj_…, txn_…, or doc_….
Assigned contact ID.
A stable resource ID, such as prj_…, txn_…, or doc_….
Budget line ID.
A stable resource ID, such as prj_…, txn_…, or doc_….
Linked purchase order ID.
Three-letter currency code. Required with amountMin or amountMax.
Earliest transaction time, inclusive. Must be on or before dateTo.
Latest transaction time, inclusive.
Minimum amount, inclusive, in minor currency units. Requires currency.
Maximum amount, inclusive, in minor currency units. Requires currency.
Set to true for itemized transactions or false for transactions without items.
Merchant name. Matching is case-insensitive and partial.
Set to true for transactions with documents or false for transactions without documents.
Search transaction descriptions.
Comma list of related data to inline on transactions (depth ≤ 2). Unknown or too-deep key returns 400 expand_invalid.
[ "items.account" ]
Fields available for sorting. The default is timestamp in descending order.
Field to sort the transactions list by. A non-unique field appends ,id as the tiebreaker. Defaults to timestamp desc.
Sort direction.
Maximum number of items to return on a page. Capped at 100.
Cursor from the previous page's nextCursor. Use it with the same filters and sort.
Include the total number of matching items. Defaults to false.
Response
A page of transactions.
Example response
{
"data": [
{
"id": "txn_8f2a1c9e",
"source": "manual",
"type": "CreditCard",
"status": "posted",
"amount": {
"amount": 152900,
"currency": "USD"
},
"exchangeRateSource": "bank",
"timestamp": "2026-05-20T14:03:00.000Z",
"contactId": "txn_8f2a1c9e",
"projectId": "txn_8f2a1c9e",
"budgetLineId": "txn_8f2a1c9e",
"fringeId": "txn_8f2a1c9e",
"purchaseOrderId": "txn_8f2a1c9e",
"contact": {
"id": "txn_8f2a1c9e"
},
"documents": [
{
"id": "txn_8f2a1c9e"
}
],
"items": [
{
"id": "txn_8f2a1c9e",
"lineNumber": "1",
"budgetLineId": "txn_8f2a1c9e",
"fringeId": "txn_8f2a1c9e",
"contactId": "txn_8f2a1c9e",
"qty": "3",
"unit": "Day",
"customUnitId": "txn_8f2a1c9e",
"amount": {
"amount": 152900,
"currency": "USD"
},
"account": {
"id": "txn_8f2a1c9e",
"name": "Camera",
"code": "1200"
},
"tagIds": [
"txn_8f2a1c9e"
],
"tags": [
{
"id": "txn_8f2a1c9e"
}
]
}
],
"account": {
"id": "txn_8f2a1c9e",
"name": "Camera",
"code": "1200"
},
"purchaseOrder": {
"id": "txn_8f2a1c9e"
}
}
],
"nextCursor": "eyJpZCI6InR4bl84ZjJhMWM5ZSJ9",
"statusReachability": {
"manual": [
"posted",
"void",
"projected"
],
"plaid": [
"pending",
"posted",
"void",
"needs_review"
],
"saturation_pay": [
"unpaid",
"pending",
"posted",
"void",
"rejected"
],
"saturation_credit": [
"pending",
"posted",
"void",
"needs_review",
"rejected"
]
}
}Changes
Changes to this operation have not been checked yet.