Getting started
Integration paths
Pick the smallest integration path that matches where your app controls rendering and consent.
Server API is the default
Use the Server API when your app already has a backend. It keeps secret keys out of the browser while the hosted renderer owns media sizing, clicks, and beacons.
- Best for production consumer AI apps with backend orchestration.
- Uses secret keys and POST /v1/placements.
- Pairs cleanly with render.js and wavebird.withTurn().
Script Tag is the browser path
Use the Script Tag when you want a browser slot to activate, request, render, and beacon with minimal application code.
- Uses publishable keys plus allowed origins.
- Handles consent UI when configured.
- Keeps publisher markup small and framework independent.
SDK is advanced compatibility
Use the SDK when a TypeScript wrapper and the job-plus-decision model are intentionally better than direct REST or Script Tag markup. The SDK has no client.createPlacement() method; POST /v1/placements remains the separate one-step REST path.
- Useful when your app needs slot IDs and explicit decision polling.
- Still supported for backwards compatibility.
- Not the primary onboarding surface.
Need rollout review?
Start with the Server API. Use contact only when you need rollout review, enterprise coordination, or non-standard integration help.