Set room participant volume

View as Markdown
Set the volume for a single [room participant](/api/room-participants), addressed by the participant's session UUID. This setting is independent of the room playback volume (`POST /rooms/{room_id}/playback/volume`). Participant volume uses a coarse 1-9 notch scale: - `1`: quietest - `5`: normal/unchanged - `9`: loudest This differs from the 0-200 room playback scale. `1` is the quietest setting but is NOT silence; to silence a participant use the mute command instead. `direction` is named relative to the Room participant: - `to_participant`: how loudly the participant hears the Room - `from_participant`: how loudly the Room hears the participant - `both`: apply the setting in both directions The response acknowledges asynchronous admission. Exactly one terminal webhook follows: - `room.participant.volume_changed` after every requested direction succeeds. - `room.participant.volume_change_failed` after a confirmed full or partial execution failure. See [Room lifecycle, participant, and playback events](/api/rooms#lifecycle-participant-and-playback-events) for complete payload schemas and examples.

Authentication

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

Path parameters

uuidstringRequired

Session identifier.

Headers

Idempotency-KeystringOptionalformat: "^[a-zA-Z0-9._-]+$"<=128 characters
Optional key for safely retrying mutating requests. See [Idempotency](https://voice-platform.docs.buildwithfern.com/idempotency) for details.
Operation-IdstringOptionalformat: "uuid"

optional client-supplied lowercase RFC-4122 v4 UUID returned as operation_uuid; platform generates one when omitted; correlation metadata distinct from Idempotency-Key.

Request

This endpoint expects an object.
directionenumRequired

Room-participant-relative direction. to_participant = participant hears Room; from_participant = Room hears participant; both = both.

Allowed values:
volumeintegerRequired1-9

Participant volume (1-9). 5 = normal/unchanged, 1 = quietest, 9 = loudest.

Response headers

traceparentstringOptional

Server-owned W3C Trace Context for correlating this response with support and observability data. It is present on successful and error responses. A valid incoming traceparent is linked to, but never becomes, the server-owned trace identifier.

Response

Command accepted for async execution
operation_uuidstring
statusenum
already_endedtrueOptional

Optional. Set to true on idempotent terminal commands when the session was already in a terminal state at the time the request was received. Absent otherwise.

Errors

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