Apply authenticated participant gain to a conference room

POST https://z.u1v.ru/api/v1/calls/conferences/participants/gain

Apply a participant gain change to an authenticated live conference room for the active Zulip account.

This endpoint only operates on the caller-owned live conference record already exposed through POST /calls/recovery. It fails closed when the room contract does not expose compatible gain semantics or the PBX control bridge is unavailable.

Usage examples

The -u line implements HTTP Basic authentication. See the Authorization header documentation for how to get those credentials for Zulip users and bots.

curl -sSX POST https://z.u1v.ru/api/v1/calls/conferences/participants/gain \
    -u EMAIL_ADDRESS:API_KEY \
    --data-urlencode owner_user_id=42 \
    --data-urlencode room_id=room-1 \
    --data-urlencode participant_user_id=17 \
    --data-urlencode channel_id=channel-2a \
    --data-urlencode gain_value=3 \
    --data-urlencode semantic=participant_global_speaker_gain

Parameters

owner_user_id string required

Example: "42"

Stringified Zulip user ID that owns the authenticated live conference record.


room_id string required

Example: "room-1"

Authenticated conference room identifier.


participant_user_id integer required

Example: 17

Zulip user ID of the participant whose speaker gain should be adjusted.


channel_id string | null optional

Example: "channel-2a"

Optional PBX channel identifier. Required for participant_global_speaker_gain, omitted for participant_local_speaker_gain.


gain_value integer required

Example: 3

Requested gain offset in room-supported gain steps.


semantic string required

Example: "participant_global_speaker_gain"

Participant gain semantic exposed by the authenticated room contract.

Must be one of: "participant_global_speaker_gain", "participant_local_speaker_gain".


Response

Return values

  • roomId: string

    Server-authoritative roomId value. * participantUserId: string

    Server-authoritative participantUserId value. * authenticatedUserId: string

    Server-authoritative authenticatedUserId value. * channelId: string

    Server-authoritative channelId value. * gainValue: integer

    Server-authoritative gainValue value. * appliedGainValue: integer

    Server-authoritative appliedGainValue value. * semantic: string

    Server-authoritative semantic value. * appliedVariable: string

    Server-authoritative appliedVariable value. * metadata: object

    Server-authoritative metadata details. * Server-authoritative mapping value.

Example response(s)

Changes: As of Zulip 7.0 (feature level 167), if any parameters sent in the request are not supported by this endpoint, a successful JSON response will include an ignored_parameters_unsupported array.

A typical successful JSON response may look like:

{
    "appliedGainValue": 3,
    "appliedVariable": "CONFBRIDGE(user,listen_volume)",
    "authenticatedUserId": "42",
    "channelId": "channel-2a",
    "gainValue": 3,
    "metadata": {
        "source": "pbx-admin"
    },
    "msg": "",
    "participantUserId": "17",
    "result": "success",
    "roomId": "room-1",
    "semantic": "participant_global_speaker_gain"
}