Reference
REST API
95 specified operations across 14 resource groups. Logical IDs, typed errors, and receipts. A write without an idempotency key is rejected.
Base URL and headers
httpconventions
POST /v1/campaigns Authorization: Bearer ilk_… Content-Type: application/json Idempotency-Key: 0f3c2a9e-… If-Match: "rev-42"
Resource groups
| Group | Examples |
|---|---|
| Identity | /v1/tenants, /v1/users, /v1/roles |
| Advertisers | /v1/advertisers, /v1/billing-profiles |
| Campaigns | /v1/campaigns, /v1/line-items, /v1/budgets |
| Authority | /v1/warrants, /v1/approvals, /v1/policies |
| Decisions | /v1/decisions/bid, /v1/decisions/eligibility |
| Inventory | /v1/inventory, /v1/deals, /v1/floors |
| Audiences | /v1/audiences, /v1/segments, /v1/consent |
| Creative | /v1/creatives, /v1/experiments |
| Measurement | /v1/measurement, /v1/attribution |
| Treasury | /v1/funding, /v1/reservations, /v1/journal |
| Operations | /v1/tasks, /v1/receipts, /v1/webhooks |
Bid decision
jsonPOST /v1/decisions/bid
{
"tenant_id": "tnt_acme",
"campaign_id": "camp_88f1",
"warrant_id": "w_7f3a",
"impression": {
"exchange": "fixture",
"floor_micros": 1200,
"consent": "granted"
},
"expected_revision": 14
}Errors
| Code | HTTP | Client action |
|---|---|---|
invalid_request | 400 | Fix fields listed in field_errors. |
unauthorized | 401 | Re-authenticate; do not retry blindly. |
forbidden | 403 | Request a narrower scope or stop. |
conflict | 409 | Re-read and retry with the current revision. |
approval_required | 428 | Route to an authenticated approver. |
rate_limited | 429 | Honor retry_after. |
The OpenAPI document is published at /openapi.json. Examples are illustrative and do not imply production availability.