Create job

POST/v1/jobsADVANCED

Use this when you intentionally need job-plus-decision orchestration. New Server API integrations should start with POST /v1/placements. Browser-activation requests use a separate public-contract branch with contract_version and job.job_type.

AUTH

Secret key, or activation token for browser flows

CONTENT TYPE

application/json

STATUS

Advanced
Secret key or browser activation tokenSandbox thisOpen as Markdown ↗

Request parameters

client_id
string
Required
Project ID (client_id, WAVEBIRD_CLIENT_ID), formatted like wbproj_....
session_id
string
Optional
Optional stable publisher session identifier.
job_type
string
Optional
Optional workload category: chat, code, image, voice, agent. Missing values normalize to chat.
slots_requested
integer
Optional
Number of ad slots to request. Defaults to one.
prompt
object | string
Optional
Optional context. Prefer { topic, text }; raw text is processed only when prompt_shared is true and is never sent to SSPs or advertisers.
consent
object
Optional
Request-level consent flags: semantic_targeting, prompt_shared, gdpr_applies, and consent_source.

Returns

job_id
string
Created job identifier.
slot_ids
string[]
Slots to render or poll for decisions.
poll_path_template
string
Canonical decision polling path.
request_id
string
Support identifier.

Errors

unauthorized401

Missing key or activation token.

forbidden403

Wrong key type for the request.

rate_limited429

Key exceeded its rate limit; retry after the Retry-After header.

unsupported_media_type415

Non-empty request bodies must use Content-Type: application/json.

validation_error400

The request body failed validation.

Related

Need rollout review?

Start with the Server API. Use contact only when you need rollout review, enterprise coordination, or non-standard integration help.

Contact the team