List Chart Transactions
Lists general-ledger transactions (ChartTransaction records) - Campfire’s GL transaction log, and the recommended endpoint for retrieving GL transaction data.
Each transaction carries account, department, vendor, entity, journal/date metadata, and tags (where applicable). Product metadata is not stored directly on a transaction; it is reached through relations with other Campfire objects.
Date range: filter with start_date and end_date (both YYYY-MM-DD, inclusive); the bounds match on transaction date (the journal entry date, which posted_at mirrors).
Pagination: results are paginated via limit (default 100, max 10000) and offset. To retrieve more than 10000 records, page through with offset, or use cursor pagination by passing an empty cursor= parameter and following the next link.
Key response fields:
amount- amount in consolidated currency (the root entity’s currency).amount_book- amount in the currency of the entity the transaction belongs to.amount_native- amount in the currency the transaction was originally created in. Example: for a transaction made in GBP where the entity uses EUR and the root entity uses USD,amount_nativeis GBP,amount_bookis EUR, andamountis USD.posted_at- the transaction date; determines which period the transaction falls in.date_yearanddate_monthare derived from it.vendor/vendor_name- the linked CampfireVendorobject’s ID and name.merchant_name- a free-text field stored directly on the transaction; not linked to any Campfire object.account- the CampfireChartAccount(GL account) the transaction is posted to.entity- the CampfireChartEntityID.tags- the transaction’s tags; each tag’sgroup/group_nameidentify the tag group (dimension) it belongs to. List a customer’s tag groups via/coa/api/tag-groupand tags via/coa/api/tag.
Dynamic tag-group columns: in addition to tags, each row carries flattened per-dimension columns tag_group_<id> (tag ID) and tag_group_<id>_name (tag name), one pair per tag group defined by the customer, plus tag_group_none / tag_group_none_name for ungrouped tags. Journal-level custom fields are merged in as custom_field_<name> keys. These columns are customer-specific, so they cannot appear in this static schema - discover tag groups via /coa/api/tag-group and custom fields via /ca/api/v1/custom-fields.
Authorizations
Token-based authentication with required prefix "Token"
Query Parameters
Comma-separated aggregations, e.g. sum:amount,count:id
If true, uses full transaction date range for the customer; start_date and end_date are ignored
Filter by categorization state (true/false)
If true, dispatch async CSV/Excel email export instead of returning rows
Latest date (inclusive) for which to retrieve data. Defaults to end of current month
Comma-separated list of columns to return, e.g. 'posted_at,debit_amount,account'. Omit to receive the full payload. 'id' is always included. Narrowing the column list also skips the derived values behind the omitted columns, so it is the recommended way to pull large pages: a 1000-row page returns roughly 90% less data and responds materially faster when only a few columns are needed. Unrecognized names are ignored.
Comma-separated list of fields to group by (e.g. account,vendor,tag_group_)
Comma-separated values matched positionally to group_fields for drill-down
When set to 'true', returns ONLY deleted records instead of active records. Deleted records contain minimal data: 'id', 'is_deleted=true', 'deleted_at' timestamp, and 'last_modified_at'. When 'false' or omitted, returns ONLY active records. This provides clean separation between active and deleted data.
If true, include match metadata (has_matches, primary_action_type) in serialized rows
Filter for records modified on or after this timestamp. Format: ISO 8601 (e.g., '2024-01-01T00:00:00Z' or '2024-01-01'). Works with both active records and deleted records (filters by deletion time for deleted records).
Filter for records modified on or before this timestamp. Format: ISO 8601 (e.g., '2024-12-31T23:59:59Z' or '2024-12-31'). Works with both active records and deleted records (filters by deletion time for deleted records).
Maximum number of records to return per page. Default 100, maximum 10000. Use with offset to paginate
all, any Number of records to skip before collecting the result page. Use with limit to paginate
Integer payee id or Campfire ID (VEN-/CUST-/EMP-)
Integer payee id or Campfire ID (VEN-/CUST-/EMP-)
Comma-separated list of pivot dimensions
Free-text search across journal memo, bank description, and related fields
Sort field; prefix with - for descending. Default: -posted_at
Earliest date (inclusive) for which to retrieve data. Defaults to six months ago
Integer payee id or Campfire ID (VEN-/CUST-/EMP-)
Integer payee id or Campfire ID (VEN-/CUST-/EMP-)