Guide

Server-side integration

Use this pattern when your backend owns request context, rendering orchestration, or internal observability.

Create jobs server-side

Your backend calls /v1/jobs with a secret key. Never expose that key to browsers.

create-job.sh
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
      }
    }
  }'

Render safely

Return only the fields the frontend needs to render. Keep internal IDs and key material server-side.

Record beacons

Record rendered and visible events. Use stable beacon IDs so retries are idempotent.

Need rollout review?

Contact the team

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.