Skip to main content

Offers

Campaign offers (a campaign matched to a podcast)

Send an offer: match a podcast to the campaign and notify the podcast owner

Creates a pending offer linking the podcast to the campaign and emails the podcast owner a tokenized review link. The campaign must have all fields required to send an offer filled in and, if variant_id is given, that variant must exist; the podcast must belong to this network; and no offer may already exist for the podcast (and variant) (any of these returns 400). The email is best-effort and never fails the request (the response's email_sent reports whether it went out). Requires the administrator network role.

Directly approve a podcast for the campaign (admin bypass)

Creates (or reuses an open) offer for the podcast and approves it immediately, skipping the recipient invitation/verification flow, then renders the host-voiced creative exactly as accept does (resolving voice_id — or the podcast's primary voice — and the campaign copy, linking creative_id). Returns 400 for a missing podcast_id, an unknown variant, or a podcast outside this network; 409 if an offer already exists and is no longer open, or the podcast/campaign isn't renderable. Audio synthesis runs asynchronously (poll the creative or use the creative webhook). Requires the administrator network role.

Accept an offer and start generating its host-voiced creative

Transitions an open offer (pending or negotiating) to accepted; an offer that is already accepted or rejected returns 409. As a consequence of acceptance the server renders the host-voiced creative for you (resolving the podcast's configured voice and the campaign copy) and links it back via creative_id; if the podcast has no usable voice or the campaign isn't renderable the whole action fails 409 with no state change. The transition is synchronous and returns 200 immediately with a still-pending creative; the audio synthesis then runs asynchronously, so poll the creative for ready/failed or subscribe to the creative.ready / creative.failed webhook. Requires the administrator network role.