Skip to content

List transactions

GET/api/v1/transactions

Retrieve bank transactions with filtering by date, ledger, source account, counter ledger, journal entry, or tags.

Operation ID: list_transactions·View as markdown·OpenAPI slice

Authentication

Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.

Parameters

Query

idarray · stringdefault: []

Filter by specific transaction UUIDs

ledger_idarray · stringdefault: []

Filter by bank account ledger UUIDs

opposing_ledger_idstring

Filter by opposing ledger UUID (the category/expense ledger from journal entry line entries)

source_account_idarray · stringdefault: []

Filter by external source account IDs (bank accounts from Plaid)

tag_idarray · stringdefault: []

Filter by assigned tag UUIDs

journal_entry_idstring

Filter by associated journal entry UUID

start_datestring · date-time

Include transactions from this date (ISO 8601)

end_datestring · date-time

Include transactions up to this date (ISO 8601)

searchstring

Search transactions by description or counterparty name (case-insensitive partial match)

amount_directionstring

Filter by amount direction: 'inflow' for positive amounts (money in), 'outflow' for negative amounts (money out)

only_uncategorizedbooleandefault: False

Filter to show only uncategorized transactions (those without a journal entry or linked to system uncategorized ledgers)

missing_counterpartybooleandefault: False

Filter to show only transactions with no counterparty assigned (empty or NULL). Useful for surfacing wires / miscellaneous deposits that the auto-detection pipeline intentionally left blank for the bookkeeper to fill in.

review_statusstring

Filter by review status. Accepts 'reviewed', 'unreviewed', or a comma-separated combination. Must mirror the same flag on the export endpoint so the visible list and the exported file stay in sync.

reconciledboolean

Filter by reconciliation state. true returns only reconciled transactions, false only unreconciled. Omit for all.

posted_statusstring

Filter by bank posting status: 'posted' (cleared activity that affects the books) or 'pending' (unsettled authorizations, read-only awareness layer). Omit to return both.

sourcestring

Filter by transaction origin: 'plaid', 'ramp', 'bulk_upload', 'manual', 'xero', 'quickbooks', or a comma-separated combination. Omit to return every source.

has_attachmentsboolean

Filter by attached receipts / documents. true returns only transactions with at least one attachment, false only those with none (missing receipts). Omit for all.

receipt_statusstring

Filter by receipt tracking status: 'attached', 'exempt', 'not_required', 'requested' or 'missing', or a comma-separated combination. Applies the business's receipt policy, so 'missing' means needs a receipt and has none. Mirrored on the export.

card_holderstring

Only the given cardholder's transactions (a Ramp employee, or the card member a bank reports on a multi-card account), by name exactly as GET /transactions/card-holders lists it (case-insensitive). Mirrored on the export.

rule_idstring

Only transactions whose current category this bank rule chose (each row's categorized_by.rule_id).

cursorstring

Cursor for pagination

limitinteger

Pagination limit

directionstringdefault: next

Pagination direction: 'next' or 'prev'

include_total_countbooleandefault: False

Whether to include total count (expensive - avoid if possible)

sort_bystring

Column name to sort by (e.g. 'created_at', 'amount', 'name'). When changing sort, reset cursor to None.

descendingbooleandefault: True

Sort direction: true for descending (newest/largest first), false for ascending

Responses

200Successful Response

successboolean
messagestring
codestring
dataTransactionListResponse

401Unauthorized - Missing or expired token, an MCP OAuth token used against the REST API, or no access to this business

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

403Forbidden - Insufficient permissions

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

422Validation Error

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.