GET/v1/decisions/{slot_id}

Get decision

Call this after job creation only for advanced flows. Filled decisions include placement.render so the hosted renderer can own media, sizing, click, and beacon behavior.

Secret key requiredSecret key or browser activation contextSandbox this

Request parameters

NameTypeRequiredDescription
slot_idstringRequiredSlot ID returned from POST /v1/jobs.
wait_msintegerOptionalOptional long-poll wait time in milliseconds.

Returns

NameTypeDescription
statusstringDecision state, usually pending, ready, or no_fill.
placementobject | nullHosted-render placement descriptor when a fill is ready.
placement.renderobjectHosted frame descriptor with frame_url, script_url, media_type, dimensions, label, sponsor, and click URL.
decisionobject | nullCanonical decision payload retained for compatibility and debugging.

Request example

GET /v1/decisions/{slot_id}

get-decision.shbash
1curl "https://api.wavebird.ai/v1/decisions/slot_demo_123?wait_ms=1500" \2  -H "Authorization: Bearer sk_test_wavebird_demo_secret"

Response example

Response

response.jsonjson
1{2  "status": "ready",3  "slot_id": "slot_demo_123",4  "placement": {5    "image_url": "https://api.wavebird.ai/v1/test-assets/banner?...",6    "click_url": "https://sponsor.example",7    "sponsor_name": "Demo Sponsor",8    "width": 728,9    "height": 90,10    "format": "banner",11    "asset_token": "wbat_asset_demo",12    "ad_label_text": "Sponsored",13    "render": {14      "strategy": "hosted_frame",15      "frame_url": "https://api.wavebird.ai/v1/render/wbat_asset_demo",16      "script_url": "https://api.wavebird.ai/v1/render.js",17      "media_type": "image",18      "width": 728,19      "height": 90,20      "aspect_ratio": "728/90",21      "label_text": "Sponsored",22      "sponsor_name": "Demo Sponsor",23      "click_url": "https://sponsor.example"24    }25  },26  "decision": {27    "fill": true,28    "format": "banner",29    "asset_token": "wbat_asset_demo"30  }31}

Errors

unauthorized401

Missing auth.

not_found404

Slot does not exist or belongs to another project.

rate_limited429

Polling rate exceeded.

Related

Need rollout review?

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