Callback delivery

ADVANCED

A server-side path where CSL posts the decision to a callback_url.

It fits apps that want signed callback-style decision delivery and control over callback handling on the server side.

A dedicated SDK verifier helper is not provided; signature verification remains integration-side.

Included today

  • decisionDelivery: "callback"
  • callback_url in createJob()
  • x-csl-signature at the callback boundary

Verified source

  • README callback example
  • Decision-delivery tests

server.ts

typescript

CALLBACK
import { CslClient } from "@csl/wrapper-sdk";

const client = new CslClient({
  baseUrl: "https://api.wavebird.ai",
  getApiKey: () => process.env.WAVEBIRD_SECRET_KEY ?? "",
  publisher: {
    app_name: "MyAIChatApp",
    app_domain: "mychatapp.com",
    categories: ["IAB19"],
  },
  decisionDelivery: "callback",
  options: {
    wrapper_version: "wavebird-wrapper/2026.03",
  },
});

await client.createJob({
  job_type: "chat",
  callback_url: "https://wrapper.example.com/csl/callback",
});

Verification note

Callback verification is currently handled in integration code. A dedicated public SDK helper is not documented today.

API first, Script Tag second, SDK third

Back to API docsContact the team

These pages are the advanced package layer for teams that intentionally choose @csl/wrapper-sdk. Primary onboarding still lives in the API docs, and browser-first installs should start with the Script Tag. Use contact only when you want rollout review, enterprise coordination, or help with non-standard integration constraints. Beacon billing rules live in SDK Concepts.