Skip to main content
POST
Create a meeting session

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request body for creating a new meeting session.

Cross-field rules:

  • Neither avatar nor assistant can be combined with join_at; both are available only for sessions that join immediately.
  • assistant cannot be combined with barge_in: true.
  • The avatar and assistant options take effect at session creation and cannot be modified later.
  • An effective Avatar or Assistant webpage output takes precedence over camera_image; the static image is ignored and a URL source is not fetched.
meeting_url
string<uri>
required

The meeting URL the bot should join.

bot_name
string

Display name for the bot in the meeting. Defaults to "Meeting Bot".

Required string length: 1 - 100
join_at
string<date-time>

ISO-8601 timestamp in the future at which the bot should join. If omitted, the bot joins immediately.

voice
string

Session-default voice identifier used for speak_on_enter and ordinary speak actions. A voice supplied on an individual speak action overrides this default for that utterance.

Required string length: 1 - 100
speak_on_enter
string

Text the bot speaks when it enters the meeting.

Required string length: 1 - 4000
barge_in
boolean
default:false

When enabled, a human participant speech_on event interrupts and stops the current bot audio; it does not bypass admission or initiate speech. Assistant sessions reject barge_in: true.

summarize_on_end
boolean
default:false

If true, generate a summary artifact when the session ends.

camera_image
MeetingSessionCameraImageBase64Source · object

Write-only static camera-tile image for this session, not a native account or participant profile photo. Supply exactly one JPEG source. When effective, the image is used as the bot's static camera/video output; presentation varies by meeting platform and recording configuration and is not guaranteed in recordings. An effective Avatar or Assistant webpage output takes precedence, so this input is ignored and a URL source is not fetched.

Example:
webhook_url
string<uri>

HTTPS endpoint to receive session lifecycle callbacks. Static validation requires HTTPS, rejects embedded credentials and blocked hosts, and enforces egress policy. Validation makes no network request to the endpoint.

metadata
object

Arbitrary key-value metadata attached to the session. The serialized JSON representation must not exceed 16384 characters at runtime.

idempotency_key
string

Client-supplied idempotency key to safely retry creation requests without duplicating sessions. Lookup is scoped to the authenticated account and compares the key only; the request payload is not fingerprinted or compared.

Required string length: 1 - 255
avatar
MeetingSessionAvatarRequest · object

Request options for attaching a bring-your-own-key avatar to the session.

assistant
MeetingSessionAssistantRequest · object

Request options for attaching a voice assistant to the session. Routing fields (call_control_connection_id, from, and loopback_sip_uri) are used only to establish the assistant call leg and are omitted from response objects. audio_gate is returned with id in the assistant response object.

Response

Replayed existing meeting session matching the account-scoped idempotency_key. Replay is key-only; the request payload is not fingerprinted or compared.

data
MeetingSession · object
required

Represents a meeting session. All serializer fields are present and required; nullable fields use null when absent. No actor, provider-bot, idempotency, routing, key, or internal fields are exposed.