Base URL
Production:/v1/.... Unversioned metadata routes
(/health, /version, /openapi.yaml) sit at the service root.
Authentication
Send your advertiser API key on every request:
A key without the required permission returns
403 forbidden.
Response format
Successful responses wrap payloads in adata field. Errors
use application/problem+json:
What you can do today
Campaign management
Write endpoints under/v1/advertiser/campaigns and /v1/advertiser/line-items
support the full campaign lifecycle: create, validate, compose (campaign + line
item in one call), update, duplicate, activate, and manage budgets, bids, targeting,
and creatives. See Campaign management for the
endpoint reference and examples.
Reporting
GET /v1/advertiser/reporting/campaigns returns aggregated impressions,
clicks, spend, and derived KPIs from daily rollups. Filter by date range,
campaign IDs, and breakdown (campaign or daily). See
Advertiser reporting for parameters, metrics,
and examples.
Creating a campaign requires a
user_id in the request body. The API key identifies
your organization, not a single user, so you must pass a user who belongs to
that org. The service rejects a user_id outside your org with 403.Machine-readable contract
The full OpenAPI 3.1 spec is served by the running API:Health check
No authentication required:Related documentation
This API is not the publisher/get-ad endpoint. Publishers integrating ad
delivery should use the
REST API integration guide instead.
For product context on campaigns and measurement, see
Campaign setup and
Measurement.
