SDK package quickstart
Use this page when you intentionally want package-level control. Create a wavebird account first, complete onboarding, and start with the sandbox secret key from your dashboard. Hosted defaults remain documented under /api/quickstart and /api/patterns/server-api. The SDK quickstart below uses the released wavebird surface.
Default integration lives in the API docs
This page is the package quickstart. If you are adding Wavebird for the first time, use the Server API default instead: backend calls /v1/placements, frontend loads render.js, and wavebird.withTurn() handles the turn lifecycle.
SDK prerequisite: dashboard keys
Before this snippet runs, create an account, complete onboarding, and copy the sandbox secret key from your dashboard. Use it as WAVEBIRD_SECRET_KEY on the server. For browser SDK usage, copy a publishable key and configure allowed origins before testing. Switch to your live secret key only when production traffic and any partner path are approved.
node-server.ts
typescript
Expand the minimal call
Add privacy controls
Add GDPR, TCF, US privacy, and prompt-sharing choices only when your app needs them.
add-privacy-controls.ts
typescript
Add brand safety
Block categories and advertiser domains without changing the minimal flow.
add-brand-safety.ts
typescript
Add context
Use context.topic when you want matching context without sharing prompt text.
add-context.ts
typescript
Add slot customization
Constrain formats, sizes, position hints, and bidfloors per request.
add-slot-customization.ts
typescript
If you send prompt text
The prompt field is optional. If you send it, the payload goes to the wavebird runtime, where the data firewall extracts only an abstract topic category and the language. These two signals are the only data that can reach a configured partner path. Users' prompts, chat history, and identifiers are never sent to SSPs, DSPs, or advertisers. If you want to understand the full data flow, see How wavebird works and Data Firewall.
Copy the code only after choosing the SDK path and storing your sandbox secret key server-side as WAVEBIRD_SECRET_KEY. Move to Integration flow, Configuration, and the WavebirdClient reference for deeper lifecycle and type details.
- Shows the smallest working server-side call with
job_typeonly. - Constructor-level
publishermetadata keeps the request minimal while still sending app identity.
Read next
Choose hosted defaults or package control
These pages document the package layer for teams that choose wavebird to control ad requests, decisions, rendering helpers, consent, and beacons directly. Use the API docs for hosted defaults, and use contact only when you want rollout review, enterprise coordination, or help with non-standard integration constraints. Beacon billing rules live in SDK Concepts.