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

GroupExamples
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

CodeHTTPClient action
invalid_request400Fix fields listed in field_errors.
unauthorized401Re-authenticate; do not retry blindly.
forbidden403Request a narrower scope or stop.
conflict409Re-read and retry with the current revision.
approval_required428Route to an authenticated approver.
rate_limited429Honor retry_after.

The OpenAPI document is published at /openapi.json. Examples are illustrative and do not imply production availability.