---
title: "Create conference"
method: POST
path: "/conferences"
tags: ["Conference Commands"]
---

# Create conference

`POST /conferences`

Create a conference from an existing call leg using a `call_control_id` and a conference name. Upon creating the conference, the call will be automatically bridged to the conference. Conferences will expire after all participants have left the conference or after 4 hours regardless of the number of active participants.

**Expected Webhooks:**

- `conference.created`
- `conference.participant.joined`
- `conference.participant.left`
- `conference.ended`
- `conference.recording.saved`
- `conference.floor.changed`

## Request body

- CreateConferenceRequest
  - `call_control_id` string, required — Unique identifier and token for controlling the call
  - `name` string, required — Name of the conference
  - `beep_enabled` 'always' | 'never' | 'on_enter' | 'on_exit' — Whether a beep sound should be played when participants join and/or leave the conference.
  - `client_state` string — Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string. The client_state will be updated for the creator call leg and will be used for all webhooks related to the created conference.
  - `comfort_noise` boolean — Toggle background comfort noise.
  - `command_id` string — 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.
  - `duration_minutes` integer — Time length (minutes) after which the conference will end.
  - `hold_audio_url` string — The URL of a file to be played to participants joining the conference. The URL can point to either a WAV or MP3 file. 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".
  - `hold_media_name` string — The media_name of a file to be played to participants 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".
  - `max_participants` integer — The maximum number of active conference participants to allow. Must be between 2 and 800. Defaults to 250
  - `start_conference_on_create` boolean — Whether the conference should be started on creation. If the conference isn't started all participants that join are automatically put on hold. Defaults to "true".
  - `region` 'Australia' | 'Europe' | 'Middle East' | 'US' — Sets the region where the conference data will be hosted. Defaults to the region defined in user's data locality settings (Europe or US).

## Response `200`

Successful response with details about a conference.

- object
  - `data` Conference
    - `record_type` 'conference', required
    - `id` string, required — Uniquely identifies the conference
    - `name` string, required — Name of the conference
    - `created_at` string, required — ISO 8601 formatted date of when the conference was created
    - `expires_at` string, required — ISO 8601 formatted date of when the conference will expire
    - `updated_at` string — ISO 8601 formatted date of when the conference was last updated
    - `region` string — Region where the conference is hosted
    - `status` 'init' | 'in_progress' | 'completed' — Status of the conference
    - `end_reason` 'all_left' | 'ended_via_api' | 'host_left' | 'time_exceeded' — Reason why the conference ended
    - `ended_by` object — IDs related to who ended the conference. It is expected for them to all be there or all be null
      - `call_control_id` string — Call Control ID which ended the conference
      - `call_session_id` string — Call Session ID which ended the conference
    - `connection_id` string — Identifies the connection associated with the conference

## Other responses

- `401` — Unauthorized. Authentication failed - the required authentication headers were either invalid or not included in the request.
- `422` — Unprocessable entity. The request was well-formed but could not be processed due to semantic errors. This includes validation errors, invalid parameter values, call state errors, conference errors, queue errors, recording/transcription errors, and business logic violations.

---

[API](https://skmtc.net/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/versions/8f5f4e537994/schema)
