Create a meeting session
Creates a new meeting session. When an idempotency_key is supplied in the request body, replay lookup is scoped to the authenticated account and compares only the key; the request payload is not fingerprinted or compared. If a session with that key already exists for the account, the existing session is replayed (200); otherwise a new session is created (201). Supports bring-your-own-key (BYOK) configuration. The session may enter asynchronous states (e.g. joining, waiting_for_admission) before becoming active. Optional camera_image input is write-only and applies only when no Avatar or Assistant webpage output takes precedence. An ignored URL is not fetched. An effective URL source is resolved before bot creation; neither the source URL nor image bytes are persisted, returned, or logged. Treat signed URLs as credentials.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request body for creating a new meeting session.
Cross-field rules:
- Neither
avatarnorassistantcan be combined withjoin_at; both are available only for sessions that join immediately. assistantcannot be combined withbarge_in: true.- The
avatarandassistantoptions 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.
The meeting URL the bot should join.
Display name for the bot in the meeting. Defaults to "Meeting Bot".
1 - 100ISO-8601 timestamp in the future at which the bot should join. If omitted, the bot joins immediately.
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.
1 - 100Text the bot speaks when it enters the meeting.
1 - 4000When 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.
If true, generate a summary artifact when the session ends.
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.
- MeetingSessionCameraImageBase64Source
- MeetingSessionCameraImageUrlSource
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.
Arbitrary key-value metadata attached to the session. The serialized JSON representation must not exceed 16384 characters at runtime.
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.
1 - 255Request options for attaching a bring-your-own-key avatar to the session.
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.
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.