List Cost Entries
GET/api/cost-entries
Returns a paginated list of cost entries, newest cost date first by default.
purchase-orders:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Allowed sorts: id, description, reference_number, status, cost_date, amount, amount_in_tenant_currency, created_at, updated_at, supplier_name, cost_entry_type_name, allocations_total, unallocated_total. Prefix with - for descending.
filter[search] matches description, reference number, ID, supplier name and cost entry type name. filter[source.is]=bill returns only entries created from bills; filter[source.is_not]=bill returns manual entries. filter[has_amortization.is]=true/false filters by presence of an amortization schedule.
Column filters accept operator suffixes in the form filter[column.operator], e.g. filter[name.contains]=main or filter[created_at.between]=2026-01-01,2026-06-30. Text operators: is, is_not, contains, does_not_contain, starts_with, ends_with, is_empty, is_not_empty, is_one_of. Numeric operators: is, is_not, greater_than, greater_than_or_equal, less_than, less_than_or_equal, between, is_empty, is_not_empty. Date operators: is, is_not, on_or_before, on_or_after, between, is_empty, is_not_empty.
The response includes an unfiltered_total field with the total number of cost entries regardless of filters.
Authentication: Requires Bearer token.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.