Resolve Greeting Audio Playback Url
Mint a short-lived presigned GET URL to re-preview greeting audio.
Recomputes the content fingerprint from request.text + the version’s
TTS config (the same way the runtime does), then presigns the stored
object. Returns 404 if no recording exists for that exact text+voice
(e.g. the text was edited but not regenerated). The bucket and org come
from trusted server state, so there is no caller-supplied location.
For an agent with a randomized voice pool, every pool voice must have a recording before this reports success: a partial set still plays, but the calls that draw a missing voice fall back to live TTS, and the builder saying “pre-generated” while some calls are not would be the lie this endpoint exists to prevent. One presigned URL is returned per pool voice so each can be auditioned.
Headers
Organization ID for user PATs (pat_ prefix tokens)
Body
Request to pre-generate (or re-preview) static-greeting audio.
text is supplied by the caller so it works on unsaved drafts (mirrors
suggest-action-grid). The TTS voice is read from the saved version's
configured TTS model, and the stored object is content-addressed over
text + that config, so the same body identifies the same recording.
Response
Successful Response
Short-lived presigned URLs for playing/previewing greeting audio.
An agent with a randomized voice pool has one recording per pool voice — any of them can open a real call, so all of them are auditionable.
The primary voice's recording (pool entry 0 when there is a pool).
Serialized alongside recordings so a client that predates the
per-voice list keeps working — including across a deploy where the
backend rolls out ahead of the builder.

