Getting started
Quickstart
The shortest path is: create keys, call /v1/jobs, read a decision, render, and record beacons. Use Script Tag when the browser should own rendering, and SDK only when you intentionally want the package layer.
Start in the dashboard
Create a workspace, generate test keys, copy the project client_id, and configure local allowed origins before browser testing.
Option 1
Server API request
Recommended default path for backend-owned integrations.
curl -X POST https://api.wavebird.ai/v1/jobs \
-H "Authorization: Bearer sk_test_wavebird_demo_secret" \
-H "Content-Type: application/json" \
-d '{
"client_id": "wbproj_demo_8jK42",
"session_id": "sess_demo_123",
"job_type": "chat",
"slots_requested": 1,
"consent": {
"source": "publisher",
"purposes": {
"ads": true,
"measurement": true
}
}
}'Option 2
Script Tag install
Browser-first rendering with built-in activation, consent, and beacons.
<script
src="https://wavebird.ai/wavebird.js"
data-client-id="wbproj_demo_8jK42"
data-publishable-key="pk_test_wavebird_demo_publishable"
data-job-type="chat">
</script>
<div
data-wavebird-slot
data-wavebird-formats="banner,native"
data-wavebird-position="between">
</div>Option 3
Advanced SDK
Compatibility package for TypeScript teams that intentionally choose a wrapper.
import { CslClient } from "@csl/wrapper-sdk";
const client = new CslClient({
baseUrl: "https://api.wavebird.ai",
getApiKey: () => process.env.WAVEBIRD_SECRET_KEY ?? "",
});
const job = await client.createJob({
client_id: "wbproj_demo_8jK42",
session_id: "sess_demo_123",
job_type: "chat",
slots_requested: 1,
});Validate decisions
Check filled, pending, and no-fill paths before live traffic.
Validate consent
Confirm consent is collected or synced before sponsored decisions that require it.
Validate beacons
Confirm render, visibility, click, and retry behavior is idempotent.
Need rollout review?
Start in the dashboard, choose Script Tag or Server API, and use contact only when you need rollout review, enterprise coordination, or non-standard integration help. Billing beacon rules live in the API concepts guide.