Play audio in room

View as Markdown
**Rate limit: Per room** · **Burst:** 8 · **Refill:** 3 req/s Start playing audio URLs into a room. Before accepting finite room playback, the gateway probes each source with HEAD first and falls back to a ranged GET. A source that cannot be prepared returns a synchronous HTTP error, and no playback webhook is emitted. **Triggered webhooks:** `command.room.playback.start.accepted` (immediate), `room.playback.ended` (deferred, on natural completion or API stop), and `room.playback.failed` (deferred, on playback error or timeout)

Authentication

AuthorizationBearer
Application auth. Send `Authorization: Bearer <app_uuid>:<api_key>`. See [Authentication](https://voice-platform.docs.buildwithfern.com/api/authentication) for details.

Path parameters

room_idstringRequired

Room ID (format {prefix}-room-{uuid}). The UUID portion is lowercase hexadecimal — uppercase hex is rejected with 400.

Headers

Idempotency-KeystringOptionalformat: "^[a-zA-Z0-9._-]+$"<=128 characters
Optional client-generated key for a mutating endpoint. It identifies one method, route, query, content type, and exact raw body within the authenticated app. Reusing it for a different request returns 422. While its record exists, a retry replays the original accepted response when available. Keys are valid for 1 hour. Allowed characters: letters, digits, dot, hyphen, underscore; max 128 characters. See the Idempotency guide.

Request

This endpoint expects an object.
objectRequired
OR
objectRequired

Response

Room playback command accepted for asynchronous execution
operation_uuidstringformat: "uuid"
statusenum

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error
409
Conflict Error
413
Content Too Large Error
415
Unsupported Media Type Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error
502
Bad Gateway Error
503
Service Unavailable Error