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.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| slot_id | string | Required | Slot ID returned from POST /v1/jobs. |
| wait_ms | integer | Optional | Optional long-poll wait time in milliseconds. |
Returns
| Name | Type | Description |
|---|---|---|
| status | string | Decision state, usually pending, ready, or no_fill. |
| placement | object | null | Hosted-render placement descriptor when a fill is ready. |
| placement.render | object | Hosted frame descriptor with frame_url, script_url, media_type, dimensions, label, sponsor, and click URL. |
| decision | object | null | Canonical 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
unauthorized401Missing auth.
not_found404Slot does not exist or belongs to another project.
rate_limited429Polling rate exceeded.