v1

latestOpenAPI 3.0.32026-07-26362271803.3 KB
Core Accounting

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_native is GBP, amount_book is EUR, and amount is USD.
  • posted_at - the transaction date; determines which period the transaction falls in. date_year and date_month are derived from it.
  • vendor / vendor_name - the linked Campfire Vendor object's ID and name.
  • merchant_name - a free-text field stored directly on the transaction; not linked to any Campfire object.
  • account - the Campfire ChartAccount (GL account) the transaction is posted to.
  • entity - the Campfire ChartEntity ID.
get/coa/api/transaction

Query parameters

accountinteger
account_idinteger
account_rollupboolean
account_subtypestring
account_typestring
accountsinteger
aggregation_fieldsstring

Comma-separated aggregations, e.g. sum:amount,count:id

all_timeboolean

If true, uses full transaction date range for the customer; start_date and end_date are ignored

bankinteger
bank_descriptionstring
bank_idinteger
categorizedstring

Filter by categorization state (true/false)

credit_amount_equalnumber double
credit_amount_gtenumber double
credit_amount_ltenumber double
credit_amount_nullboolean
currencystring
debit_amount_equalnumber double
debit_amount_gtenumber double
debit_amount_ltenumber double
debit_amount_nullboolean
departmentinteger
department_idinteger
department_or_unassignedboolean
display_opening_balanceboolean

If true, skip opening-balance computation

downloadboolean

If true, dispatch async CSV/Excel email export instead of returning rows

end_datestring date

Latest date (inclusive) for which to retrieve data. Defaults to end of current month

entityinteger
entity_idinteger
entity_rollupboolean
exclude_entityinteger
exclude_entity_idinteger
exclude_idinteger
exclude_journalinteger
exclude_reconciliation_reportinteger
exclude_uncategorized_accountsboolean
expense_or_apboolean
groupinteger
group_fieldsstring

Comma-separated list of fields to group by (e.g. account,vendor,tag_group_<id>)

group_idinteger
group_keysstring

Comma-separated values matched positionally to group_fields for drill-down

has_linked_fixed_assetstring
has_parent_bank_transactionstring
include_deletedboolean

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.

include_matchesboolean

If true, include match metadata (has_matches, primary_action_type) in serialized rows

is_not_reconciledboolean
is_reconciledboolean
journal_typestring
journal_type__ninstring
last_modified_at__gtestring

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).

last_modified_at__ltestring

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).

limitinteger

Maximum number of records to return per page. Default 100, maximum 10000. Use with offset to paginate

match_type'all' | 'any'
needs_reviewboolean
no_departmentboolean
no_tagboolean
no_vendorboolean
offsetinteger

Number of records to skip before collecting the result page. Use with limit to paginate

opposing_accountinteger
opposing_account_subtypestring
orderingstring
payeeinteger
payee_idinteger
pivot_fieldsstring

Comma-separated list of pivot dimensions

qstring

Free-text search across journal memo, bank description, and related fields

reconciliation_reportinteger
revenue_or_receivablesboolean
shouldPivotboolean
sortstring

Sort field; prefix with - for descending. Default: -posted_at

start_datestring date

Earliest date (inclusive) for which to retrieve data. Defaults to six months ago

taginteger
tag_groupsinteger
tag_idinteger
vendorinteger
vendor_idinteger

Response

No response body