Skip to main content
Reports how a vendor’s service was consumed after campaign delivery. Called by orchestrators to inform a vendor agent (signals, governance, creative) what was used so the vendor can track earned revenue and verify billing. It is also used against the sales agent itself when a media buy names the buyer or a measurement vendor as the billing authority. Each usage record is self-contained — it carries its own account and media_buy_id. A single request can span multiple accounts and campaigns. Response Time: ~1s. Response Schema: /schemas/3.2.0-beta.0/account/report-usage-response.json

Request Parameters

Usage Record Fields

Each record requires account, vendor_cost, and currency. Additional fields depend on the vendor type: For revenue-share records, pricing_option_id identifies the agreed rate and commission basis. currency must match the selected option, and vendor_cost must not exceed the package’s commission budget.

Response

Examples

Signal usage — single campaign

Creative usage — ad server with CPM pricing

Multi-account batch

A single request spanning two campaigns across two accounts:

Partial acceptance

If some records fail validation, the response identifies how many were accepted:

Retry Safety

Always include idempotency_key in production usage. If a request times out or returns a network error, retry with the same key — the server will return the original result without double-counting. An idempotent replay is transparent: the server returns the original response unchanged and does not emit a DUPLICATE_REQUEST error or advisory. Generate a fresh UUID per request, not per usage record. If you need to report additional records for the same period, submit a new request with a new key.

Reporting cadence

Report at regular intervals — monthly at minimum. For campaigns with significant spend, weekly reporting gives vendor agents timely visibility into earned revenue. Report upon campaign completion to close out the final period.

Error Handling

Next Steps