curl --request GET \
--url https://api.meetcampfire.com/coa/api/v1/invoice/report/preview \
--header 'Authorization: <api-key>'{
"count": 123,
"next": "<string>",
"previous": "<string>",
"results": [
{
"filter_params": {},
"group_id": 123,
"id": 123
}
],
"engine_used": "postgres",
"pivot_result_fields": [
"<string>"
],
"pivot_value_mappings": {}
}Execute invoice report preview from query params.
:param request: HTTP request with report configuration :return: Paginated response or CSV stream
curl --request GET \
--url https://api.meetcampfire.com/coa/api/v1/invoice/report/preview \
--header 'Authorization: <api-key>'{
"count": 123,
"next": "<string>",
"previous": "<string>",
"results": [
{
"filter_params": {},
"group_id": 123,
"id": 123
}
],
"engine_used": "postgres",
"pivot_result_fields": [
"<string>"
],
"pivot_value_mappings": {}
}Token-based authentication with required prefix "Token"
Aggregates: sum:amount, sum:amount_paid, sum:amount_due, etc.
Filter by client ID(s)
Filter by contract ID(s)
Filter by currency code
Filter by department ID(s)
End date (YYYY-MM-DD)
Entity ID(s), comma-separated
Row dimensions: client_id, invoice_id, invoice_date_month, product_id, etc.
Drilldown parent keys
Page size (max 10000)
paginated | full | csv
Pagination offset
Filter by status: draft,open,sent,partial,paid,uncollectible
Column dimensions: product_id, client_id, etc.
Filter by product ID(s)
Enable pivot columns
Start date (YYYY-MM-DD)
Output schema for invoice report responses.
Total rows before pagination
Next page URL (null for datatable pagination)
Previous page URL
Paginated result rows
Show child attributes
Execution engine: 'postgres'
postgres - postgrespostgres Sorted list of pivot column names
Mapping of pivot field -> {display_name: id} for drilldown
Show child attributes