Callback delivery

ADVANCED

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

It fits apps that want signed webhook-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: process.env.CSL_BASE_URL ?? "http://127.0.0.1:3000",
  getApiKey: () => process.env.CSL_WRAPPER_API_KEY ?? "",
  decisionDelivery: "callback",
  options: {
    wrapper_version: "wavebird-wrapper/2026.03",
  },
});

await client.createJob({
  job_type: "chat",
  model_id: "gpt-4o-mini",
  locale: "en-US",
  consent: {
    semantic_targeting: true,
    session_persistence: false,
    cross_session_persistence: false,
  },
  prompt: "I want a travel deal for a weekend trip.",
  slots_requested: 1,
  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.

Ask about integration

Ask about integration

Start with Node direct for the recommended production-ready integration path.