{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/telnyx/main/json-schema/telnyx-join-conference-request-schema.json", "title": "Join Conference Request", "x-generated": "2026-10-08", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/telnyx-conference-commands-api-openapi.yml#/components/schemas/JoinConferenceRequest", "properties": { "beep_enabled": { "description": "Whether a beep sound should be played when the participant joins and/or leaves the conference. Can be used to override the conference-level setting.", "enum": [ "always", "never", "on_enter", "on_exit" ], "type": "string" }, "call_control_id": { "description": "Unique identifier and token for controlling the call", "type": "string" }, "client_state": { "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string. Please note that the client_state will be updated for the participient call leg and the change will not affect conferencing webhooks unless the participient is the owner of the conference.", "type": "string" }, "command_id": { "description": "Use this field to avoid execution of duplicate commands. Telnyx will ignore subsequent commands with the same `command_id` as one that has already been executed.", "type": "string" }, "end_conference_on_exit": { "description": "Whether the conference should end and all remaining participants be hung up after the participant leaves the conference. Defaults to \"false\".", "type": "boolean" }, "hold": { "description": "Whether the participant should be put on hold immediately after joining the conference. Defaults to \"false\".", "type": "boolean" }, "hold_audio_url": { "description": "The URL of a file to be played to the participant when they are put on hold after joining the conference. hold_media_name and hold_audio_url cannot be used together in one request. Takes effect only when \"start_conference_on_create\" is set to \"false\". This property takes effect only if \"hold\" is set to \"true\".", "type": "string" }, "hold_media_name": { "description": "The media_name of a file to be played to the participant when they are put on hold after joining the conference. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file. Takes effect only when \"start_conference_on_create\" is set to \"false\". This property takes effect only if \"hold\" is set to \"true\".", "type": "string" }, "mute": { "description": "Whether the participant should be muted immediately after joining the conference. Defaults to \"false\".", "type": "boolean" }, "region": { "$ref": "#/$defs/ConferenceRegion" }, "soft_end_conference_on_exit": { "description": "Whether the conference should end after the participant leaves the conference. NOTE this doesn't hang up the other participants. Defaults to \"false\".", "type": "boolean" }, "start_conference_on_enter": { "description": "Whether the conference should be started after the participant joins the conference. Defaults to \"false\".", "type": "boolean" }, "supervisor_role": { "description": "Sets the joining participant as a supervisor for the conference. A conference can have multiple supervisors. \"barge\" means the supervisor enters the conference as a normal participant. This is the same as \"none\". \"monitor\" means the supervisor is muted but can hear all participants. \"whisper\" means that only the specified \"whisper_call_control_ids\" can hear the supervisor. Defaults to \"none\".", "enum": [ "barge", "monitor", "none", "whisper" ], "type": "string" }, "whisper_call_control_ids": { "description": "Array of unique call_control_ids the joining supervisor can whisper to. If none provided, the supervisor will join the conference as a monitoring participant only.", "items": { "type": "string" }, "type": "array" } }, "required": [ "call_control_id" ], "type": "object", "$defs": { "ConferenceRegion": { "description": "Region where the conference data is located. Defaults to the region defined in user's data locality settings (Europe or US).", "enum": [ "Australia", "Europe", "Middle East", "US" ], "type": "string" } } }