Skip to main content
POST
https://ssp.thrads.ai
/
api
/
v1
/
dsp
/
render-ad
{
  "bidId": "bid_abc123",
  "realizedPrice": 7.50,
  "production": true
}
{
  "data": {
    "advertiser": "nike.com",
    "headline": "Premium Running Shoes",
    "description": "Perfect for marathon training. Lightweight and comfortable.",
    "cta_text": "Learn more",
    "url": "https://ssp.thrads.ai/api/v1/dsp/redirect/token_abc123",
    "image_url": null
  }
}
Implementation Required: Your DSP must implement this endpoint on your own server. The SSP at ssp.thrads.ai will send POST requests to your configured DSP endpoint URL.

Authorizations

Content-Type
string
required
Must be application/json
This endpoint does not require API key authentication when called by SSP. Authentication is handled at the SSP level.

Body

bidId
string
required
The bid identifier from the winning bid response. Must match a valid bid in cache (TTL: ~60 seconds).
realizedPrice
float
required
The actual clearing price from the auction (what the winner pays). In first-price auctions, this matches the winning bid amount.
production
boolean
default:"true"
Whether the request is for production. Defaults to true.
{
  "bidId": "bid_abc123",
  "realizedPrice": 7.50,
  "production": true
}
{
  "data": {
    "advertiser": "nike.com",
    "headline": "Premium Running Shoes",
    "description": "Perfect for marathon training. Lightweight and comfortable.",
    "cta_text": "Learn more",
    "url": "https://ssp.thrads.ai/api/v1/dsp/redirect/token_abc123",
    "image_url": null
  }
}

Response

data
object
required
REQUIRED - Ad creative response payload.
error
string
Error message when the request fails. Only present on error responses.

Status Codes

Status CodeMeaningScenario
200 OKSuccessAd creative generated successfully
400 Bad RequestValidation errorMissing required fields (description or url) or invalid data types
404 Not FoundBid not foundBid expired (TTL ~60s), invalid bidId, or bid not in cache
500 Internal Server ErrorServer errorLLM service unavailable, creative generation failed, or database error