Expenses#

Read manual expenses and provider-reported advertising spend together, with explicit provenance and aggregate spend reporting across Activities.

Authentication required

All endpoints require a Bearer token in the Authorization header. See the Authentication guide for setup instructions.

GET /v1/expenses#

List manual expense records and read-only provider-reported advertising spend across Activities. Provenance distinguishes editable expenses from retained platform measurements. Sort the combined ledger before pagination.

bash
GET /v1/expenses?page_index=0&page_size=25&workspace_id=1c7743a8-6410-4a9e-9f3b-2c1d5e8a4b01
Authorization: Bearer {token}

Parameters#

NameTypeRequiredDescription
pageIndexintegerRequiredZero-based page index for pagination.
pageSizeintegerRequiredNumber of items per page (1-100).
workspaceIdstring (UUID)RequiredWorkspace identifier.
activityIdstring (UUID)—Filter by activity identifier.
creatorIdstring (UUID)—Filter by creator identifier.
campaignIdstring (UUID)—Filter by campaign identifier.
searchTermstring—Search expense category, description, or activity name.
categoryIdstring (UUID)—Filter by expense category identifier.
sortBy'amount' | 'createdAt'—Expense field to sort by.
sortDirection'asc' | 'desc'—Sort direction: ascending or descending.

Response#

Returns { items, totalCount, facets, _meta } with paginated results.

GET /v1/expenses/count#

Count the manual expense and provider-reported spend records shown in the Spend ledger, with optional Activity, creator, or Campaign filters.

bash
GET /v1/expenses/count?workspace_id=1c7743a8-6410-4a9e-9f3b-2c1d5e8a4b01
Authorization: Bearer {token}

Parameters#

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
activityIdstring (UUID)—Filter by activity identifier.
creatorIdstring (UUID)—Filter by creator identifier.
campaignIdstring (UUID)—Filter by campaign identifier.

Response#

Returns { count, _meta }.

GET /v1/expenses/stats#

Aggregate total spend, spend coverage, non-campaign spend, and largest category using the active spend filters.

bash
GET /v1/expenses/stats?workspace_id=1c7743a8-6410-4a9e-9f3b-2c1d5e8a4b01
Authorization: Bearer {token}

Parameters#

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
activityIdstring (UUID)—Unique identifier (UUID v4).
creatorIdstring (UUID)—Unique identifier (UUID v4).
campaignIdstring (UUID)—Unique identifier (UUID v4).
searchTermstring—
categoryIdstring (UUID)—Unique identifier (UUID v4).

Response#

Returns { data, _meta } with the result.