account and media_buy_id. A single request can span multiple accounts and campaigns.
Response Time: ~1s.
Request Schema: /schemas/v3/account/report-usage-request.json
Response Schema: /schemas/v3/account/report-usage-response.json
Request Parameters
Usage Record Fields
Each record requiresaccount, vendor_cost, and currency. Additional fields depend on the vendor type:
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 includeidempotency_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.
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
- sync_accounts — Sync advertiser accounts with a seller before reporting
- Accounts Protocol — How account establishment and settlement fit together
- Accounts and agents — Billing hierarchy and operator model