POST /api/v2/buyer/creatives/adopt-managed-audio-source
This operation creates, or idempotently returns, one audio_hosted creative
manifest from a promoted managed audio source. The caller supplies an opaque
source identity, never an object-storage URL. Apostra issues the manifest’s
bounded HTTPS asset URL server-side only after it confirms the exact source
belongs to the authenticated buyer, advertiser, and storefront connection.
Supplying
campaign_id attaches the creative to that campaign. Like any other
creative, it is then added to every media buy on the campaign whose product
accepts audio_hosted, and sellers receive the hosted audio link in the
background. A 201 confirms the campaign attachment, not that a seller has
accepted the creative; read the media buy to see where it is live.Request shape
Response
An enabled request returns201 with the manifest identity, opaque source and
publication identities, and bounded hosted-audio URL:
created is false on a replay that finds the already-adopted source. Reusing
the same source_uid and name is safe; if campaign_id is included, the
call also retries the campaign association. A different name is refused rather
than silently renaming the existing creative.
The hosted URL is a revocable, time-bounded publication, not a private GCS URL.
It is never a caller-supplied value, and the response never exposes the private
object-storage URL or location.
Errors
404 NOT_FOUND— the source is missing or is not owned by the authenticated buyer/advertiser/storefront triple. Those cases are intentionally indistinguishable.409 CONFLICT— the source/name identity is already held, an earlier adoption is still resolving, the adopted asset is no longer available, or the source’s delivery was revoked. Readdetails.reason; only the two*_in_progressreasons are automatically retryable.422 CAPABILITY_NOT_SUPPORTED— the bounded delivery origin is disabled or empty. A source that is not a promoted, unexpired audio source or a campaign from another advertiser is also refused with a422validation error.503 SERVICE_UNAVAILABLE— the bounded delivery origin is non-empty but invalid or otherwise misconfigured, so no bounded URL can be issued.
Related
Bring your own creative
Managed-media adoption and its delivery boundary
Creative overview
Manifest identity and creative transport