Quickstart

Everything in Waveband: campaigns, line items, creatives, targeting, conversion events, reports, webhooks: is available over a REST API with the same permissions model as the console. This page gets you from zero to a live campaign.

1. Create an API key

In the console, go to Settings → API keys and create a key with the scopes you need (for example campaigns:write, creatives:write, reports:read). The key is shown once: store it in a secret manager.

export WAVEBAND_API_KEY="wbk_..."

2. Find your workspace

curl -s https://waveband-staging.adwave.com/api/v1/workspaces \
  -H "Authorization: Bearer $WAVEBAND_API_KEY"

3. Create a campaign

curl -s -X POST https://waveband-staging.adwave.com/api/v1/campaigns \
  -H "Authorization: Bearer $WAVEBAND_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-first-campaign" \
  -d '{
    "workspaceId": "<workspace-id>",
    "name": "Spring CTV Launch",
    "channel": "ctv",
    "startDate": "2026-08-01",
    "budgetUsdMinor": 500000,
    "goalType": "impressions"
  }'

Budgets are integer USD minor units (cents): 500000 = $5,000. All ids are Waveband UUIDs. POST endpoints accept an Idempotency-Key header so retries are safe.

4. Watch it go live

Trafficking changes sync to delivery asynchronously. Subscribe a webhook to sync.succeeded.v1 / sync.failed.v1 (see Webhooks & events) or poll GET /api/v1/events.

5. Pull results

curl -s "https://waveband-staging.adwave.com/api/v1/reports?workspaceId=<id>&from=2026-08-01&to=2026-08-07&groupBy=campaign" \
  -H "Authorization: Bearer $WAVEBAND_API_KEY"

TypeScript SDK

import { WavebandClient } from "@waveband/sdk";

const waveband = new WavebandClient({
  apiKey: process.env.WAVEBAND_API_KEY!,
  baseUrl: "https://waveband-staging.adwave.com",
});

const campaigns = await waveband.campaigns.list({ workspaceId });

The full REST surface is described by the OpenAPI 3.1 spec and browsable in the API reference.

Console creatives worth knowing

For display attention formats, generate Waveforms in Creative Studio (documented in Waveforms). For audio-led CTV/OLV video, see Soundframe. Both land as ordinary creatives on the same API.

Quickstart · Waveband Docs