Patterns
The SDK supports multiple integration styles, but this section assumes you already chose the package layer on purpose. New integrations should start in the API docs; inside the SDK surface, use SDK Server Integration only when the package path matches your architecture.
Quick answer
If you are still choosing an integration model, start with the API quickstart. If you are intentionally using the SDK, start with SDK Server Integration because it covers the package surface around jobs, decisions, generation events, and beacons.
Use the other pages as specialized follow-ups: browser for Browser Integration, callback for server-side decision handoff, and proxy compatibility for systems that stay at the HTTP boundary.
Choose your path
SDK reading order
SDK Server Integration
ADVANCEDDirect Node/server usage of @csl/wrapper-sdk and CslClient for job creation, decision reads, generation reporting, and beacon sending.
Use it only when you want the released package surface with typed lifecycle methods instead of the shorter Server API default.
@csl/wrapper-sdkcreateJob()getDecision()
SDK Browser Integration
TESTEDDirect browser usage of @csl/wrapper-sdk/browser with the same CslClient surface.
It fits when you explicitly need browser-side package orchestration with a publishable key and activation handshake, rather than the Script Tag or hosted-renderer path.
@csl/wrapper-sdk/browserdecisionDelivery: "auto"getPublishableKey()orpublishableKey
Callback delivery
ADVANCEDA 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.
decisionDelivery: "callback"callback_urlincreateJob()x-csl-signatureat the callback boundary
Proxy compatibility
COMPATIBLEAn HTTP/API path where the app sends OpenAI-compatible or Anthropic-compatible requests directly to CSL proxy routes.
It fits systems that already emit upstream-shaped HTTP requests and do not want to start with CslClient.
/v1/proxy/openai/v1/chat/completions/v1/proxy/anthropic/v1/messages- direct HTTP instead of
CslClient
Read this section in context
If you are new to Wavebird, do not start here in isolation. Use the API quickstart first; return here only when the SDK package layer is a deliberate choice.
API first, Script Tag second, SDK third
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.