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). 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. With assistant.avatar: true, the assistant is read before the bot is created: an assistant without a Telnyx avatar configured is rejected with 400 invalid_request (message prefix assistant_avatar_not_configured:), an unknown assistant with 400 invalid_request (prefix assistant_not_found:), and a failed lookup with 503 assistant_lookup_unavailable; no bot is created in any of these cases.
POST
/
meeting_sessions
JavaScript
import Telnyx from 'telnyx';const client = new Telnyx({ apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted});const MeetingSession = await client.meetingSessions.create({ meeting_url: 'meeting_url',});console.log(MeetingSession.data);
import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
create_meeting_session = client.meeting_sessions.create(
meeting_url="meeting_url",
)
print(create_meeting_session.data)
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:
assistant cannot be combined with join_at; it is available only for sessions that join immediately.
assistant cannot be combined with barge_in: true.
assistant.avatar: true cannot be combined with speak_on_enter; the assistant greets through its avatar.
The assistant options, including avatar, take effect at session creation and cannot be modified later.
A digital avatar or Assistant webpage output takes precedence over camera_image; the static image is ignored and a URL source is not fetched.
The former top-level avatar object (bring-your-own-key avatar) has been removed and is rejected with 400 invalid_request; use assistant.avatar instead.
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.
Text the bot speaks when it enters the meeting. Not spoken when an assistant is attached: the value is accepted and echoed back on the session, but the assistant owns the voice and the line is never delivered, with no event reporting the omission. Use chat_on_enter to announce an assistant-backed bot. Rejected with 400 invalid_request when assistant.avatar is true.
A message the bot posts to the meeting's chat as soon as it becomes active — typically a recording disclosure. Delivered at most once. Independent of speak_on_enter: both may be set, and the chat message posts first because it does not wait for text-to-speech or avatar startup. Rejected with 422 unsupported_capability on platforms without meeting chat.
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.
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.
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.
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.
Attach a Telnyx AI Assistant to the session. Supply the Assistant's ID; the Meeting service connects it to the meeting directly. The Call Control connection, caller ID and loopback SIP URI previously required here have been removed and are now rejected as unknown fields.
Show child attributes
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.
Show child attributes
Was this page helpful?
JavaScript
import Telnyx from 'telnyx';const client = new Telnyx({ apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted});const MeetingSession = await client.meetingSessions.create({ meeting_url: 'meeting_url',});console.log(MeetingSession.data);
import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
create_meeting_session = client.meeting_sessions.create(
meeting_url="meeting_url",
)
print(create_meeting_session.data)
{
"error": {
"code": "not_configured",
"message": "required feature is not configured"
}
}
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"Telnyx","description":"Infrastructure for real-time agents. Voice, AI, Edge Compute","colors":{"primary":"#00B688","light":"#00B688","dark":"#00B688"},"logo":{"light":"https://mintcdn.com/telnyx/v2FpkbJg6PQ53qHU/assets/images/site/logo.svg?fit=max\u0026auto=format\u0026n=v2FpkbJg6PQ53qHU\u0026q=85\u0026s=5ee3f61d11ba90a197dd9a1e3499fab6","dark":"https://mintcdn.com/telnyx/v2FpkbJg6PQ53qHU/assets/images/site/logo-dark.svg?fit=max\u0026auto=format\u0026n=v2FpkbJg6PQ53qHU\u0026q=85\u0026s=d65aaa12ec708c79e5833cbdea958055"},"favicon":"https://mintcdn.com/telnyx/t-qaBUa_gCxdRz_m/favicon.ico?fit=max\u0026auto=format\u0026n=t-qaBUa_gCxdRz_m\u0026q=85\u0026s=8291283238ab8c0e2a7a985e69f38c2f","background":{"decoration":"gradient"},"navbar":{"links":[{"icon":"triangle-exclamation","href":"/docs/development/api-fundamentals/api-errors","label":"Error codes"},{"icon":"headset","href":"https://telnyx.com/contact-us","label":"Contact us"},{"icon":"user","href":"https://portal.telnyx.com/#/login/sign-in","label":"Login"}],"primary":{"type":"button","label":"Sign Up","href":"https://telnyx.com/sign-up"}},"footer":{"socials":{"github":"https://github.com/team-telnyx","linkedin":"https://www.linkedin.com/company/telnyx","slack":"https://joinslack.telnyx.com","x":"https://x.com/telnyx"},"links":[{"header":"Resources","items":[{"label":"Pricing","href":"https://developers.telnyx.com/internal/pages/pricing"},{"label":"Compare Telnyx","href":"https://developers.telnyx.com/internal/pages/compare"},{"label":"Support center","href":"https://support.telnyx.com/en"},{"label":"SETI","href":"https://seti.telnyx.com"},{"label":"Agent platform configs","href":"https://github.com/team-telnyx/ai"},{"label":"About Telnyx","href":"https://developers.telnyx.com/internal/pages/about"},{"label":"Service status","href":"https://status.telnyx.com"}]},{"header":"Updates","items":[{"label":"Release notes","href":"https://telnyx.com/release-notes"}]},{"header":"Community","items":[{"label":"Low Latency Club","href":"https://lowlatencyclub.ai/"}]},{"header":"Legal","items":[{"label":"Privacy policy","href":"https://telnyx.com/privacy-policy"},{"label":"Terms and conditions","href":"https://telnyx.com/terms-and-conditions"}]}]},"seo":{"metatags":{"og:description":"Infrastructure for real-time agents. Voice, AI, Edge Compute","description":"Infrastructure for real-time agents. Voice, AI, Edge Compute"},"organization":{"name":"Telnyx","url":"https://telnyx.com","logo":"https://telnyx.com/favicon.ico","sameAs":["https://x.com/telnyx","https://www.linkedin.com/company/telnyx/","https://github.com/team-telnyx"]}},"fonts":{"heading":{"family":"PP Formula","weight":800,"source":"assets/fonts/PPFormula-Extrabold.woff2","format":"woff2"},"body":{"family":"Inter","weight":400,"source":"assets/fonts/Inter-Regular.woff2","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"gtm":{"tagId":"GTM-NRRX236"}},"banner":{"content":"Check out our upcoming events and meetups! [View events →](https://lowlatencyclub.ai/)","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Home","icon":"house","href":"/docs/overview"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"telnyx","hasAudioNarration":false,"actualSubdomain":"telnyx","customDomains":["developers.telnyx.com"],"gitSource":{"type":"github","owner":"team-telnyx","repo":"developer-docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae9fb3e2d9111c67b186efb","collectionId":"db37974b-d5ef-4bcd-8f34-87c7b840de28","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae9fb3e2d9111c67b186efb"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae9fdc322dab27fc6c0df2b","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Calling","count":592},{"language":"default","tag":"API Reference","count":552},{"language":"default","tag":"Other APIs","count":402},{"language":"default","tag":"AI","count":382},{"language":"default","tag":"Messaging","count":353},{"language":"default","tag":"Numbers","count":287},{"language":"default","tag":"Agent Platform","count":218},{"language":"default","tag":"Assistants","count":202},{"language":"default","tag":"Voice API","count":178},{"language":"default","tag":"SMS \u0026 MMS","count":149}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"[class*=sidebar] [class*=badge],[class*=sidebar] [class*=tag],nav [class*=badge],nav [class*=tag]{font-size:.8rem!important}#ot-sdk-btn-floating{left:auto!important;right:10px!important}body:has([aria-label=\"Preview Widget\"]) #ot-sdk-btn-floating{bottom:88px!important}#navbar .nav-tabs-item:has(>div>svg[style*=\"/book-open.svg\"]),#navbar div:has(>div>.nav-tabs>a.nav-tabs-item:first-child:last-child){display:none}.nav-tabs a.nav-tabs-item:not([aria-current=location]){display:none}#mobile-nav #navigation-items>div:has(>div>button[aria-haspopup=menu]),#mobile-nav [data-component-part=products-selector-trigger],#mobile-nav.tx-has-directory #navigation-items{display:none!important}#mobile-nav .tx-mobile-directory{padding:0;margin-bottom:1.5rem}#mobile-nav .tx-mobile-directory .tx-dir-suite-head,#mobile-nav .tx-mobile-directory a{min-height:2.75rem}#mobile-nav .tx-mobile-directory :is(a, .tx-dir-suite-head):focus-visible{outline:2px solid currentColor;outline-offset:-2px}.txd-shell{display:flex;gap:0;max-width:none;margin:0;padding:3rem 2rem 6rem 0}.txd-side{width:18rem;flex-shrink:0}.txd-main{flex:1;min-width:0;max-width:56rem;margin-left:11.75rem}@media (max-width:80rem){.txd-main{margin-left:4rem}}:is(#tx-directory, .tx-mobile-directory){margin:0 0 .5rem;padding:0 .5rem 0 1rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.55;margin:0 0 .4rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-label-gap{margin-top:1.5rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-link,:is(#tx-directory, .tx-mobile-directory) summary{display:flex;align-items:center;cursor:pointer;font-size:.875rem;line-height:1.25rem;padding:.35rem .5rem;border-radius:.375rem;color:rgb(55 65 81);text-decoration:none}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-link,html.dark :is(#tx-directory, .tx-mobile-directory) summary{color:rgb(156 163 175)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-link:hover,:is(#tx-directory, .tx-mobile-directory) summary:hover{color:rgb(17 24 39);background:rgb(0 0 0/.04)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-link[aria-current=page]{color:#00b688;background:0 0;box-shadow:none;font-weight:400;text-shadow:-.2px 0 0 currentColor,.2px 0 0 currentColor}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-link:hover,html.dark :is(#tx-directory, .tx-mobile-directory) summary:hover{color:rgb(229 231 235);background:rgb(255 255 255/.06)}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-link[aria-current=page]{color:#5eead4;background:0 0;box-shadow:none}:is(#tx-directory, .tx-mobile-directory) .tx-dir-soon,:is(#tx-directory, .tx-mobile-directory) .tx-dir-soon:hover,html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-soon,html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-soon:hover{cursor:default;opacity:.45;background:0 0;color:inherit}:is(#tx-directory, .tx-mobile-directory) .tx-dir-soon sup{font-size:.6rem;line-height:1;letter-spacing:.05em;text-transform:uppercase;margin-left:.4rem;vertical-align:super}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite{margin-bottom:.15rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head{display:flex;align-items:center;cursor:pointer;user-select:none;font-size:.875rem;line-height:1.25rem;font-weight:500;padding:.35rem .5rem;border-radius:.375rem;color:rgb(55 65 81)}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head,html.dark :is(#tx-directory, .tx-mobile-directory) li a{color:rgb(156 163 175)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head:hover,:is(#tx-directory, .tx-mobile-directory) li a:hover{color:rgb(17 24 39);background:rgb(0 0 0/.04)}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head:hover,html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>.tx-dir-suite-head,html.dark :is(#tx-directory, .tx-mobile-directory) li a:hover{color:rgb(229 231 235);background:rgb(255 255 255/.06)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head::after{content:'';width:.42rem;height:.42rem;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s;flex-shrink:0;opacity:.7}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>.tx-dir-suite-head::after{transform:rotate(45deg)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>.tx-dir-suite-head{color:rgb(17 24 39);background:rgb(0 0 0/.04);font-weight:600}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite>ul{display:none}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>ul{display:block}:is(#tx-directory, .tx-mobile-directory) ul{margin:.15rem 0 .5rem;padding:0}:is(#tx-directory, .tx-mobile-directory) li{list-style:none}:is(#tx-directory, .tx-mobile-directory) li a{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;padding:.3rem .5rem .3rem 1.6rem;border-radius:.375rem;color:rgb(107 114 128);text-decoration:none}:is(#tx-directory, .tx-mobile-directory) .tx-dir-section-item{font-weight:500}:is(#tx-directory, .tx-mobile-directory) .tx-dir-icon{display:inline-block;width:1rem;height:1rem;flex-shrink:0;margin-right:.5rem;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.txi-arrows-left-right-to-line{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/arrows-left-right-to-line.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/arrows-left-right-to-line.svg)}.txi-bolt{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/bolt.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/bolt.svg)}.txi-brain{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain.svg)}.txi-brain-circuit{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain-circuit.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain-circuit.svg)}.txi-brands-whatsapp{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/whatsapp.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/whatsapp.svg)}.txi-broadcast-tower{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/broadcast-tower.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/broadcast-tower.svg)}.txi-browser{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/browser.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/browser.svg)}.txi-circle-nodes{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/circle-nodes.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/circle-nodes.svg)}.txi-clone{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/clone.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/clone.svg)}.txi-cloud{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cloud.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cloud.svg)}.txi-code{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/code.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/code.svg)}.txi-comment-sms{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/comment-sms.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/comment-sms.svg)}.txi-cubes{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cubes.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cubes.svg)}.txi-database{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/database.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/database.svg)}.txi-envelope{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/envelope.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/envelope.svg)}.txi-eye{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/eye.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/eye.svg)}.txi-file-certificate{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/file-certificate.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/file-certificate.svg)}.txi-fingerprint{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/fingerprint.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/fingerprint.svg)}.txi-folder-tree{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/folder-tree.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/folder-tree.svg)}.txi-globe{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/globe.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/globe.svg)}.txi-hard-drive{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hard-drive.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hard-drive.svg)}.txi-hashtag{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hashtag.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hashtag.svg)}.txi-headset{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/headset.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/headset.svg)}.txi-key{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/key.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/key.svg)}.txi-layer-group{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/layer-group.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/layer-group.svg)}.txi-magnifying-glass{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/magnifying-glass.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/magnifying-glass.svg)}.txi-message{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message.svg)}.txi-message-dots{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message-dots.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message-dots.svg)}.txi-microchip-ai{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microchip-ai.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microchip-ai.svg)}.txi-microphone{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microphone.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microphone.svg)}.txi-network-wired{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/network-wired.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/network-wired.svg)}.txi-phone{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone.svg)}.txi-phone-volume{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone-volume.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone-volume.svg)}.txi-plug{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/plug.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/plug.svg)}.txi-right-left{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/right-left.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/right-left.svg)}.txi-robot{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/robot.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/robot.svg)}.txi-server{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/server.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/server.svg)}.txi-share-nodes{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/share-nodes.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/share-nodes.svg)}.txi-shield{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield.svg)}.txi-shield-check{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield-check.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield-check.svg)}.txi-signal{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/signal.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/signal.svg)}.txi-sim-card{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/sim-card.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/sim-card.svg)}.txi-split{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/split.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/split.svg)}.txi-table{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/table.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/table.svg)}.txi-tower-control{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/tower-control.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/tower-control.svg)}.txi-train-tunnel{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/train-tunnel.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/train-tunnel.svg)}.txi-video{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/video.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/video.svg)}.txi-wand-magic-sparkles{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/wand-magic-sparkles.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/wand-magic-sparkles.svg)}.txi-waveform{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform.svg)}.txi-waveform-lines{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform-lines.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform-lines.svg)}.txd-main .txd-h1{font-family:var(--font-family-headings-custom, \"PP Formula\"),-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;font-size:2.1rem;font-weight:500;letter-spacing:-.01em;margin:1.2rem 0 .4rem;color:rgb(22 28 26)}html.dark .txd-main .txd-h1{color:rgb(229 231 235)}.txd-main .txd-lead{font-size:1.3rem;line-height:1.55;font-weight:500;margin:.9rem 0 1.3rem;color:rgb(31 41 55)}html.dark .txd-main .txd-lead{color:rgb(209 213 219)}.txd-main .txd-h2{font-family:var(--font-family-headings-custom, \"PP Formula\"),-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;font-size:1.45rem;font-weight:500;margin:2.4rem 0 .4rem;color:rgb(22 28 26)}html.dark .txd-main .txd-h2{color:rgb(229 231 235)}.txd-main .txd-section-h{font-size:1.05rem;font-weight:600;margin:1.8rem 0 .2rem;opacity:.85}.txd-main .txd-p{margin:.7rem 0 1rem;line-height:1.65;color:rgb(75 85 99)}html.dark .txd-main .txd-p{color:rgb(156 163 175)}.txd-main .txd-follow-up a:hover,.txd-main .txd-p a{text-decoration:underline}.txd-main .txd-h1{max-width:46rem;line-height:1.12}.txd-main .txd-hero-copy{max-width:45rem}.txd-main .txd-follow-up{margin-top:1rem}.txd-main .txd-follow-up a{color:#00b688;font-weight:600;text-decoration:none}.txd-main a:focus-visible{outline:2px solid #00b688;outline-offset:3px}@media (max-width:48rem){.txd-main .txd-h1{font-size:1.9rem}}@media (min-width:64.01rem) and (max-width:90rem){.txd-main{margin-right:4rem}}.rm-explorer{--rm-border:rgb(15 23 42 / 14%);--rm-muted:#5f6b68;--rm-soft:#f6f8f7}.dark .rm-explorer{--rm-border:rgb(255 255 255 / 14%);--rm-muted:#a2aaa8;--rm-soft:#151a19}#resource-map-toolbar{position:sticky;top:5rem;z-index:20;margin:1.25rem 0 1.75rem;padding:.75rem 0;background:var(--rm-surface, #fff);border-bottom:1px solid var(--rm-border)}.dark #resource-map-toolbar{background:#0b0e0d}.rm-controls{display:grid;grid-template-columns:minmax(15rem,1fr) minmax(10rem,auto) auto;gap:.625rem;align-items:center}.rm-search{position:relative;min-width:0}.rm-search svg{position:absolute;top:50%;left:.75rem;width:1rem;height:1rem;color:var(--rm-muted);fill:none;stroke:currentColor;stroke-width:1.8;transform:translateY(-50%);pointer-events:none}.rm-area-select,.rm-collapse,.rm-search input{min-height:2.5rem;font-size:.875rem}.rm-area-select,.rm-clear,.rm-collapse,.rm-empty button,.rm-search input{color:inherit;background:0 0;border:1px solid var(--rm-border);border-radius:.5rem;font:inherit}.rm-empty button{font-size:.875rem}.rm-search input{width:100%;padding:.58rem 2.6rem .58rem 2.35rem}.rm-search input::placeholder{color:var(--rm-muted);opacity:1}.rm-shortcut{position:absolute;top:50%;right:.65rem;display:grid;width:1.5rem;height:1.5rem;place-items:center;color:var(--rm-muted);background:var(--rm-soft);border:1px solid var(--rm-border);border-radius:.35rem;font:inherit;font-size:.72rem;transform:translateY(-50%);pointer-events:none}.rm-area-wrap{position:relative;max-width:13rem}.rm-area-select{width:100%;max-width:13rem;padding:.55rem 2.25rem .55rem .75rem;appearance:none;cursor:pointer}.rm-area-caret{position:absolute;top:50%;right:.85rem;width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}.rm-collapse{padding:.5rem .75rem}.rm-clear,.rm-collapse,.rm-empty button{font-weight:650;cursor:pointer}.rm-empty button{padding:.5rem .75rem}.rm-area-select:focus-visible,.rm-clear:focus-visible,.rm-collapse:focus-visible,.rm-empty button:focus-visible,.rm-search input:focus-visible{outline:2px solid #00b688;outline-offset:2px;border-color:#00b688;box-shadow:none!important}.rm-clear:hover,.rm-collapse:hover,.rm-empty button:hover{color:#08785d;background:var(--rm-soft)}.dark .rm-clear:hover,.dark .rm-collapse:hover,.dark .rm-empty button:hover{color:#5eead4}.rm-meta{display:flex;min-height:1.65rem;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .15rem 0}.rm-status{color:var(--rm-muted);font-size:.78rem;line-height:1.35}.rm-clear{min-height:1.8rem;padding:.2rem .55rem;border-color:transparent;font-size:.78rem}.rm-empty{display:grid;justify-items:start;gap:.35rem;margin:-.5rem 0 1.75rem;padding:1.1rem 1.2rem;color:var(--rm-muted);background:var(--rm-soft);border:1px solid var(--rm-border);border-radius:.75rem;font-size:.875rem}.rm-empty strong{color:inherit;font-size:.95rem}.rm-empty button{min-height:2.2rem;margin-top:.35rem}.rm-resource-list{display:block!important;margin:0 0 .75rem!important;border-color:var(--rm-border)!important;border-top:0!important;border-radius:0 0 .75rem .75rem!important}.rm-resource-list>details.accordion{margin:0!important;border:0!important;border-radius:0!important}.rm-resource-list>details.accordion+details.accordion{border-top:1px solid var(--rm-border)!important}.rm-resource-list>details.accordion>summary{min-height:3rem;padding:.7rem .9rem!important;border-radius:0!important}.rm-resource-list>details.accordion:first-child>summary{border-radius:0!important}.rm-resource-list>details.accordion:last-child:not([open])>summary{border-radius:0 0 .75rem .75rem!important}.rm-resource-list [data-component-part=accordion-title]{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:1rem}.rm-resource-name{min-width:0;overflow-wrap:anywhere;font-weight:650}.rm-method-count{flex:0 0 auto;color:var(--rm-muted);font-size:.75rem;font-weight:500;white-space:nowrap}.rm-resource-list details[open]>summary{background:var(--rm-soft)}.rm-resource-list details[open] [data-component-part=accordion-content]{margin-right:1rem;margin-left:1rem}.rm-resource-list tbody tr.rm-row-match{background:rgb(0 182 136/8%)}.rm-resource-list td:first-child code{white-space:nowrap}.rm-clear[hidden],.rm-collapse[hidden],.rm-empty[hidden],.rm-explorer h2[hidden],.rm-resource-list tbody tr[hidden],.rm-resource-list[hidden]{display:none!important}.rm-explorer h2{position:relative;min-height:3rem;margin:.45rem 0 0!important;scroll-margin-top:10rem;border:1px solid var(--rm-border);border-radius:.75rem}.rm-explorer h2.rm-section-open{border-radius:.75rem .75rem 0 0}.rm-section-toggle{display:grid;width:100%;min-height:3rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.6rem .9rem;color:inherit;text-align:left;background:0 0;border:0;cursor:pointer}.rm-section-toggle:focus-visible,.rm-section-toggle:hover{background:var(--rm-soft)}.rm-section-toggle:focus-visible{outline:2px solid #00b688;outline-offset:2px;border-radius:.7rem}.rm-section-name{font-size:1rem;font-weight:700}.rm-section-count{display:grid;min-width:1.65rem;min-height:1.4rem;place-items:center;padding:3px 6px;color:#08785d;background:rgb(0 182 136/10%);border-radius:.35rem;font-size:12px;font-weight:700;line-height:16px;white-space:nowrap}.dark .rm-section-count{color:#5eead4;background:#12302b}.rm-section-caret{width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-.15rem)}.rm-section-toggle[aria-expanded=true] .rm-section-caret{transform:rotate(225deg) translate(-.1rem,-.05rem)}@media (max-width:767px){#resource-map-toolbar{position:static;top:auto;z-index:auto;margin-top:1rem;padding-top:.6rem}.rm-controls{grid-template-columns:minmax(0,1fr) auto}.rm-search{grid-column:1/-1}.rm-search input{padding-right:.75rem}.rm-resource-list thead,.rm-shortcut{display:none}.rm-area-select,.rm-area-wrap{width:100%;max-width:none}.rm-resource-list [data-component-part=accordion-title]{gap:.65rem}.rm-method-count{font-size:.7rem}.rm-resource-list table,.rm-resource-list tbody{display:block;width:100%;min-width:0!important}.rm-resource-list tbody tr{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:.45rem;padding:.75rem 0}.rm-resource-list tbody tr+tr{border-top:1px solid var(--rm-border)}.rm-resource-list tbody td{display:grid;width:100%;min-width:0!important;grid-template-columns:4.5rem minmax(0,1fr);align-items:start;gap:.5rem;padding:0!important;border:0!important}.rm-resource-list tbody td::before{color:var(--rm-muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.rm-resource-list tbody td:first-child::before{content:\"Method\"}.rm-resource-list tbody td:last-child::before{content:\"Endpoint\"}.rm-resource-list tbody td a,.rm-resource-list tbody td code{min-width:0;white-space:normal!important;overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){.rm-explorer *,.rm-explorer ::after,.rm-explorer ::before{scroll-behavior:auto!important;transition-duration:.01ms!important}}.sdk-launchpad{--sdk-border:#d8e1de;--sdk-panel:#ffffff;margin:1rem 0 1.5rem;padding:1rem;overflow:hidden;color:inherit;background:var(--sdk-panel);border:1px solid var(--sdk-border);border-radius:12px}.dark .sdk-launchpad{--sdk-border:#293431;--sdk-panel:#101513}.sdk-launchpad-kicker{margin:0 0 .25rem!important;color:#08785d;font-size:.68rem;font-weight:800;letter-spacing:.1em}.dark .sdk-launchpad-kicker{color:#5eead4}.sdk-launchpad>h2{margin-top:.25rem}.sdk-launchpad [role=tablist]{display:flex;flex-wrap:wrap;gap:.25rem}.sdk-launchpad [role=tab]{min-width:56px;min-height:44px}.sdk-launchpad [role=tab][aria-selected=true]{color:#08785d!important}.dark .sdk-launchpad [role=tab][aria-selected=true]{color:#5eead4!important}.sdk-launchpad [role=tab]:focus-visible,.sdk-launchpad a:focus-visible,.sdk-launchpad-code:focus-visible{outline:2px solid #08785d;outline-offset:2px}.dark .sdk-launchpad [role=tab]:focus-visible,.dark .sdk-launchpad a:focus-visible,.dark .sdk-launchpad-code:focus-visible{outline-color:#5eead4}.sdk-launchpad-code{max-width:100%;overflow-x:auto;border-radius:.5rem}.sdk-launchpad-code pre{max-width:none;overflow-x:visible!important}.sdk-launchpad-code button{min-width:44px;min-height:44px}#content-area:has(#sdk-launchpad) .chat-assistant-floating-input{display:none}@media (max-width:640px){.sdk-launchpad{margin-top:.75rem;padding:.75rem}.sdk-launchpad-kicker{display:none}.sdk-launchpad [role=tablist]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.2rem;overflow:visible}.sdk-launchpad [role=tab]{min-width:0;min-height:44px;padding-inline:.2rem;font-size:.75rem;line-height:1.15;white-space:nowrap}}.sdk-directory li{margin-block:.5rem}.mdx-content table td{min-width:0!important}.mdx-content table td :is(code, a){overflow-wrap:anywhere}.mdx-content table :is(th, td):first-child code{white-space:nowrap;word-break:normal;overflow-wrap:normal}@media (min-width:768px){.tx-table-grid table{table-layout:fixed}.tx-table-grid table :is(th, td):first-child{width:40%}}.tx-retirement-banner{margin-bottom:1.5rem}.tx-retirement-banner>div{margin:0}@media (min-width:1024px){.tx-retirement-banner{position:sticky;top:calc(6rem + var(--banner-height, 0px));z-index:20;padding-top:.5rem;background:rgb(var(--background-light, 255 255 255))}.dark .tx-retirement-banner{background:rgb(var(--background-dark, 9 12 14))}}#content>.callout:first-child{margin-top:0}#content strong{font-weight:600}"}],"page":{"pagePath":"api-reference/meeting-sessions/create-a-meeting-session","slug":"/api-reference/meeting-sessions/create-a-meeting-session","pageMetadata":{"title":"Create a meeting session","description":"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). 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. With `assistant.avatar: true`, the assistant is read before the bot is created: an assistant without a Telnyx avatar configured is rejected with 400 `invalid_request` (message prefix `assistant_avatar_not_configured:`), an unknown assistant with 400 `invalid_request` (prefix `assistant_not_found:`), and a failed lookup with 503 `assistant_lookup_unavailable`; no bot is created in any of these cases.","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json post /meeting_sessions","href":"/api-reference/meeting-sessions/create-a-meeting-session","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"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). The session may enter asynchronous states (e.g. joining, waiting_for_admission) before becoming active. Optional \", _jsx(_components.code, {\n children: \"camera_image\"\n }), \" 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. With \", _jsx(_components.code, {\n children: \"assistant.avatar: true\"\n }), \", the assistant is read before the bot is created: an assistant without a Telnyx avatar configured is rejected with 400 \", _jsx(_components.code, {\n children: \"invalid_request\"\n }), \" (message prefix \", _jsx(_components.code, {\n children: \"assistant_avatar_not_configured:\"\n }), \"), an unknown assistant with 400 \", _jsx(_components.code, {\n children: \"invalid_request\"\n }), \" (prefix \", _jsx(_components.code, {\n children: \"assistant_not_found:\"\n }), \"), and a failed lookup with 503 \", _jsx(_components.code, {\n children: \"assistant_lookup_unavailable\"\n }), \"; no bot is created in any of these cases.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a meeting session","description":"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). 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. With `assistant.avatar: true`, the assistant is read before the bot is created: an assistant without a Telnyx avatar configured is rejected with 400 `invalid_request` (message prefix `assistant_avatar_not_configured:`), an unknown assistant with 400 `invalid_request` (prefix `assistant_not_found:`), and a failed lookup with 503 `assistant_lookup_unavailable`; no bot is created in any of these cases.","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json post /meeting_sessions","href":"/api-reference/meeting-sessions/create-a-meeting-session","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/telnyx/a2dd5aaa2ff5831a/reading-progress.js","/_mintlify/custom/telnyx/7b77ce9cedb163fd/webmcp-init.js","/_mintlify/custom/telnyx/7fbfee588ac7ad38/structured-data.js","/_mintlify/custom/telnyx/41d9633b1a2dd405/scripts/tests/generate-llms-txt.test.js","/_mintlify/custom/telnyx/8851ad5fd6e9b5c7/scripts/tests/direct-source-workflows.test.js","/_mintlify/custom/telnyx/7ad13bb6588be22f/scripts/tests/redirects.test.js","/_mintlify/custom/telnyx/f981035eb45fcbdb/scripts/tests/generate-error-catalog.test.js","/_mintlify/custom/telnyx/132bc205f55282a5/scripts/tests/sync-llms-automerge.test.js","/_mintlify/custom/telnyx/05e787f15f45952b/scripts/tests/webhook-catalog-lifecycle.test.js","/_mintlify/custom/telnyx/01b840b27496e6c8/scripts/tests/repository-structure.test.js","/_mintlify/custom/telnyx/5ebc7d6e18012563/scripts/tests/legacy-content-usage.test.js","/_mintlify/custom/telnyx/ac1f21e68bf4050a/scripts/docs/check-llms-links.js","/_mintlify/custom/telnyx/5f7d2f1ae375b9ad/scripts/docs/check-llms-native-routes.js","/_mintlify/custom/telnyx/b8d13287c2dcc5b9/scripts/docs/fetch-coverage.js","/_mintlify/custom/telnyx/e0a29f76f2645359/scripts/docs/generate-error-catalog.js","/_mintlify/custom/telnyx/3d8fe29c5f30f1bc/scripts/docs/generate-llms-txt.js","/_mintlify/custom/telnyx/f1f111fe784c3ede/scripts/docs/update-tts-voices.js","/_mintlify/custom/telnyx/c48ad0189f7f1c57/scripts/docs/build-sdk-doc-pages.js","/_mintlify/custom/telnyx/f840117777d76f9e/scripts/tests/sdk-doc-pages.test.js","/_mintlify/custom/telnyx/414c53c50b0e1968/resource-map-filter.js","/_mintlify/custom/telnyx/80af622b3010a712/scripts/tests/sdk-language-switcher.test.js","/_mintlify/custom/telnyx/52fa0fbcb966f8b6/sdk-language-switcher.js","/_mintlify/custom/telnyx/3de33ceedb29f568/home-directory.js","/_mintlify/custom/telnyx/da7a630a1adf8a7a/scripts/generate-home-directory.js","/_mintlify/custom/telnyx/137e3eb8e1d1d85a/scripts/tests/api-fundamentals.test.js","/_mintlify/custom/telnyx/24a8eed3a5010d4c/scripts/tests/agent-sdk-workflow.test.js","/_mintlify/custom/telnyx/abc2169efcd5115c/scripts/tests/homepage-overview.test.js","/_mintlify/custom/telnyx/8edf49ac62deef02/scripts/tests/batch-detail-records-navigation.test.js","/_mintlify/custom/telnyx/e005178572336f01/scripts/tests/api-discoverability.test.js","/_mintlify/custom/telnyx/78cb83896fbea5cf/scripts/tests/home-directory.test.js","/_mintlify/custom/telnyx/11ae45253e6b7be6/scripts/tests/agent-readiness.test.js","/_mintlify/custom/telnyx/82396d5a75077c2a/scripts/tests/sample-workflow-regressions.test.js","/_mintlify/custom/telnyx/5f6625c0420c9328/scripts/tests/openapi-mintlify-parsing.test.js","/_mintlify/custom/telnyx/c7dca602ca9641ec/scripts/tests/llms-markdown-assets.test.js","/_mintlify/custom/telnyx/02d6acd7c86b79f9/scripts/tests/agent-browser-quickstart.test.js"],"openApiReferenceData":{"operation":{"operationId":"createMeetingSession","tags":["Meeting Sessions"],"summary":"Create a meeting session","description":"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). 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. With `assistant.avatar: true`, the assistant is read before the bot is created: an assistant without a Telnyx avatar configured is rejected with 400 `invalid_request` (message prefix `assistant_avatar_not_configured:`), an unknown assistant with 400 `invalid_request` (prefix `assistant_not_found:`), and a failed lookup with 503 `assistant_lookup_unavailable`; no bot is created in any of these cases.","requestBody":"d63360f1-7aee-4828-9828-69f04cc0ee84","responses":{"200":"cfb55e1c-0195-4fa5-8d25-f9a97eeab2a0","201":"3dd29538-a4c2-49d6-931a-ee114da397a0","400":"b4d023e1-8ee5-4b8f-a9c8-5f87e5bf9d83","401":"5b008047-3333-4788-a8d3-9c6ce869c224","403":"1f3582fd-a108-4bf3-aa79-2d691ab0ccbd","413":"ae5c5ee9-b854-4543-90a1-f8c91da7adf7","422":"f24e1116-3fab-47da-8836-ab59c45a5f36","429":"b8a20e49-962a-4bf2-95f5-8461832db55a","500":"7da788e3-03d1-4213-b1aa-1b41186cc7e9","502":"baeae272-bc57-473d-8351-66bff5cc8280","503":"68b11228-d166-4df6-88e7-497edaab0cc1"},"x-codeSamples":[{"lang":"JavaScript","source":"import Telnyx from 'telnyx';\n\nconst client = new Telnyx({\n apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted\n});\n\nconst MeetingSession = await client.meetingSessions.create({\n meeting_url: 'meeting_url',\n});\n\nconsole.log(MeetingSession.data);"},{"lang":"Python","source":"import os\nfrom telnyx import Telnyx\n\nclient = Telnyx(\n api_key=os.environ.get(\"TELNYX_API_KEY\"), # This is the default and can be omitted\n)\ncreate_meeting_session = client.meeting_sessions.create(\n meeting_url=\"meeting_url\",\n)\nprint(create_meeting_session.data)\n"},{"lang":"Go","source":"package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/team-telnyx/telnyx-go\"\n\t\"github.com/team-telnyx/telnyx-go/option\"\n)\n\nfunc main() {\n\tclient := telnyx.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tmeetingSession, err := client.MeetingSessions.New(\n\t\tcontext.TODO(),\n\t\ttelnyx.MeetingSessionNewParams{\n\t\t\tMeetingURL: \"meeting_url\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", meetingSession.Data)\n}\n"},{"lang":"Java","source":"package com.telnyx.sdk.example;\n\nimport com.telnyx.sdk.client.TelnyxClient;\nimport com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;\nimport com.telnyx.sdk.models.meetingSessions.MeetingSessionCreateParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n TelnyxClient client = TelnyxOkHttpClient.fromEnv();\n\n MeetingSessionCreateParams params = MeetingSessionCreateParams.builder()\n .meetingUrl(\"meeting_url\")\n .build();\n var response = client.meetingSessions().create(params);\n }\n}"},{"lang":"Ruby","source":"require \"telnyx\"\n\ntelnyx = Telnyx::Client.new(api_key: \"My API Key\")\n\ncreate_meeting_session = telnyx.meeting_sessions.create(meeting_url: \"meeting_url\")\n\nputs(create_meeting_session)"},{"lang":"PHP","source":"\u003c?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\nuse Telnyx\\Client;\nuse Telnyx\\Core\\Exceptions\\APIException;\n\n$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');\n\ntry {\n $create_meeting_session = $client->meetingSessions->create(\n meeting_url: 'meeting_url',\n );\n\n var_dump($create_meeting_session);\n} catch (APIException $e) {\n echo $e->getMessage();\n}"},{"lang":"CLI","source":"telnyx meeting-sessions create \\\n --api-key 'My API Key' \\\n --meeting-url meeting_url"}],"method":"post","type":"path","servers":["b86e769a-6736-4ca5-b0ee-fa5b94acde6f"],"security":["f3219970-e5bf-4289-bde4-e5c38fa0ef45"],"path":"/meeting_sessions","baseUrlOptions":["https://api.telnyx.com/v2"],"title":"Create a meeting session","codeSamples":[{"lang":"JavaScript","source":"import Telnyx from 'telnyx';\n\nconst client = new Telnyx({\n apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted\n});\n\nconst MeetingSession = await client.meetingSessions.create({\n meeting_url: 'meeting_url',\n});\n\nconsole.log(MeetingSession.data);"},{"lang":"Python","source":"import os\nfrom telnyx import Telnyx\n\nclient = Telnyx(\n api_key=os.environ.get(\"TELNYX_API_KEY\"), # This is the default and can be omitted\n)\ncreate_meeting_session = client.meeting_sessions.create(\n meeting_url=\"meeting_url\",\n)\nprint(create_meeting_session.data)\n"},{"lang":"Go","source":"package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/team-telnyx/telnyx-go\"\n\t\"github.com/team-telnyx/telnyx-go/option\"\n)\n\nfunc main() {\n\tclient := telnyx.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tmeetingSession, err := client.MeetingSessions.New(\n\t\tcontext.TODO(),\n\t\ttelnyx.MeetingSessionNewParams{\n\t\t\tMeetingURL: \"meeting_url\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", meetingSession.Data)\n}\n"},{"lang":"Java","source":"package com.telnyx.sdk.example;\n\nimport com.telnyx.sdk.client.TelnyxClient;\nimport com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;\nimport com.telnyx.sdk.models.meetingSessions.MeetingSessionCreateParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n TelnyxClient client = TelnyxOkHttpClient.fromEnv();\n\n MeetingSessionCreateParams params = MeetingSessionCreateParams.builder()\n .meetingUrl(\"meeting_url\")\n .build();\n var response = client.meetingSessions().create(params);\n }\n}"},{"lang":"Ruby","source":"require \"telnyx\"\n\ntelnyx = Telnyx::Client.new(api_key: \"My API Key\")\n\ncreate_meeting_session = telnyx.meeting_sessions.create(meeting_url: \"meeting_url\")\n\nputs(create_meeting_session)"},{"lang":"PHP","source":"\u003c?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\nuse Telnyx\\Client;\nuse Telnyx\\Core\\Exceptions\\APIException;\n\n$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');\n\ntry {\n $create_meeting_session = $client->meetingSessions->create(\n meeting_url: 'meeting_url',\n );\n\n var_dump($create_meeting_session);\n} catch (APIException $e) {\n echo $e->getMessage();\n}"},{"lang":"CLI","source":"telnyx meeting-sessions create \\\n --api-key 'My API Key' \\\n --meeting-url meeting_url"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"title":"CreateMeetingSessionRequest","type":"object","additionalProperties":false,"description":"Request body for creating a new meeting session.\n\nCross-field rules:\n- `assistant` cannot be combined with `join_at`; it is available only for sessions that join immediately.\n- `assistant` cannot be combined with `barge_in: true`.\n- `assistant.avatar: true` cannot be combined with `speak_on_enter`; the assistant greets through its avatar.\n- The `assistant` options, including `avatar`, take effect at session creation and cannot be modified later.\n- A digital avatar or Assistant webpage output takes precedence over `camera_image`; the static image is ignored and a URL source is not fetched.\n- The former top-level `avatar` object (bring-your-own-key avatar) has been removed and is rejected with 400 `invalid_request`; use `assistant.avatar` instead.","required":["meeting_url"],"properties":{"meeting_url":{"type":"string","format":"uri","description":"The meeting URL the bot should join.","isRequired":true,"uniqueKey":"meeting_url","typeLabel":"string\u003curi>"},"bot_name":{"type":"string","minLength":1,"maxLength":100,"description":"Display name for the bot in the meeting. Defaults to \"Meeting Bot\".","uniqueKey":"bot_name","typeLabel":"string"},"join_at":{"type":"string","format":"date-time","description":"ISO-8601 timestamp in the future at which the bot should join. If omitted, the bot joins immediately.","uniqueKey":"join_at","typeLabel":"string\u003cdate-time>"},"voice":{"type":"string","minLength":1,"maxLength":100,"description":"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.","uniqueKey":"voice","typeLabel":"string"},"speak_on_enter":{"type":"string","minLength":1,"maxLength":4000,"description":"Text the bot speaks when it enters the meeting. **Not spoken when an `assistant` is attached**: the value is accepted and echoed back on the session, but the assistant owns the voice and the line is never delivered, with no event reporting the omission. Use `chat_on_enter` to announce an assistant-backed bot. Rejected with 400 `invalid_request` when `assistant.avatar` is `true`.","uniqueKey":"speak_on_enter","typeLabel":"string"},"chat_on_enter":{"type":"string","minLength":1,"maxLength":4000,"description":"A message the bot posts to the meeting's chat as soon as it becomes active — typically a recording disclosure. Delivered at most once. Independent of `speak_on_enter`: both may be set, and the chat message posts first because it does not wait for text-to-speech or avatar startup. Rejected with 422 `unsupported_capability` on platforms without meeting chat.","uniqueKey":"chat_on_enter","typeLabel":"string"},"barge_in":{"type":"boolean","default":false,"description":"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`.","uniqueKey":"barge_in","typeLabel":"boolean"},"summarize_on_end":{"type":"boolean","default":false,"description":"If true, generate a summary artifact when the session ends.","uniqueKey":"summarize_on_end","typeLabel":"boolean"},"camera_image":{"oneOf":[{"type":"object","title":"MeetingSessionCameraImageBase64Source","description":"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.","required":["format","base64_data"],"example":{"format":"jpeg","base64_data":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/wAALCAACAAIBAREA/8QAFAABAAAAAAAAAAAAAAAAAAAACP/EAB4QAAAEBwAAAAAAAAAAAAAAAAAEBgcCFic1RVNi/9oACAEBAAA/AH8hGJbWR09TxKW4vhC2qHgf/9k="},"properties":{"format":{"type":"string","const":"jpeg","description":"Only JPEG images are accepted.","isRequired":true,"uniqueKey":"camera_image.oneOf.0.format","typeLabel":"string"},"base64_data":{"type":"string","minLength":4,"maxLength":1835008,"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","description":"Canonical plain RFC 4648 Base64 for a valid decoded JPEG. Data URIs, whitespace, and the URL-safe alphabet are rejected. The encoded value is limited to 1,835,008 characters and the decoded JPEG to 1,363,148 bytes. The JPEG is limited to 4,096 pixels per dimension, 4 megapixels, and 128 MB of decoder memory. The image bytes are not persisted, returned, or logged.","isRequired":true,"uniqueKey":"camera_image.oneOf.0.base64_data","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"camera_image.oneOf.0","typeLabel":"MeetingSessionCameraImageBase64Source · object"},{"type":"object","title":"MeetingSessionCameraImageUrlSource","description":"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.","required":["format","url"],"example":{"format":"jpeg","url":"https://cdn.example.com/bot-camera.jpg"},"properties":{"format":{"type":"string","const":"jpeg","description":"Only JPEG images are accepted.","isRequired":true,"uniqueKey":"camera_image.oneOf.1.format","typeLabel":"string"},"url":{"type":"string","format":"uri","minLength":1,"maxLength":2048,"pattern":"^[Hh][Tt][Tt][Pp][Ss]://","description":"Public HTTPS JPEG URL with at most 2,048 characters and no credentials, fragment, surrounding whitespace, raw control characters, or explicit non-default port. Signed queries are allowed but must be treated as credentials. Fetching is limited to public network destinations, a five-second timeout, no redirects, a 2xx image/jpeg response with identity or no content encoding, and a 1,363,148-byte limit enforced against both declared and streamed content. The service resolves the URL before bot creation and does not persist, return, or log the URL or image bytes.","isRequired":true,"uniqueKey":"camera_image.oneOf.1.url","typeLabel":"string\u003curi>"}},"additionalProperties":false,"uniqueKey":"camera_image.oneOf.1","typeLabel":"MeetingSessionCameraImageUrlSource · object"}],"uniqueKey":"camera_image","typeLabel":"MeetingSessionCameraImageBase64Source · object | MeetingSessionCameraImageUrlSource · object"},"webhook_url":{"type":"string","format":"uri","description":"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.","uniqueKey":"webhook_url","typeLabel":"string\u003curi>"},"metadata":{"type":"object","additionalProperties":true,"description":"Arbitrary key-value metadata attached to the session. The serialized JSON representation must not exceed 16384 characters at runtime.","uniqueKey":"metadata","typeLabel":"object"},"idempotency_key":{"type":"string","minLength":1,"maxLength":255,"description":"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.","uniqueKey":"idempotency_key","typeLabel":"string"},"assistant":{"title":"MeetingSessionAssistantRequest","type":"object","additionalProperties":false,"description":"Attach a Telnyx AI Assistant to the session. Supply the Assistant's ID; the Meeting service connects it to the meeting directly. The Call Control connection, caller ID and loopback SIP URI previously required here have been removed and are now rejected as unknown fields.","required":["id"],"properties":{"id":{"type":"string","minLength":1,"maxLength":255,"description":"Identifier of the assistant to attach.","isRequired":true,"uniqueKey":"assistant.id","typeLabel":"string"},"audio_gate":{"type":"string","enum":["half_duplex","full_duplex"],"default":"half_duplex","description":"Audio gating strategy for the assistant call leg. `half_duplex` (default) sends the assistant a single mixed meeting stream and mutes it while the assistant speaks, so the assistant cannot hear itself and cannot be interrupted. `full_duplex` sends a separate stream per participant, which allows barge-in and removes self-hearing, and COSTS SIGNIFICANTLY MORE: per-participant streams multiply the per-minute cost by the number of participants.","uniqueKey":"assistant.audio_gate","typeLabel":"enum\u003cstring>"},"dynamic_variables":{"type":"object","description":"Per-conversation values for the [dynamic variables](/docs/inference/ai-assistants/dynamic-variables) used in the Assistant's instructions, greeting, or tools. Delivered before the Assistant's first utterance, so they resolve for the opening line as well as the rest of the conversation. At most 63 entries; keys 1-128 characters; values must be strings. The map is budgeted in aggregate at 1,047,552 bytes (1023 KiB) rather than capped per value. `streaming_audio`, `ai_assistant_streaming_audio` and `meeting_session_id` are reserved and rejected with `400 invalid_request` -- they toggle provider infrastructure or are set by the service rather than fill a prompt template.","maxProperties":63,"propertyNames":{"minLength":1,"maxLength":128,"not":{"enum":["streaming_audio","ai_assistant_streaming_audio","meeting_session_id"]}},"additionalProperties":{"type":"string","uniqueKey":"assistant.dynamic_variables.additionalProperties","typeLabel":"string"},"uniqueKey":"assistant.dynamic_variables","typeLabel":"object"},"leave_on_end":{"type":"boolean","default":false,"description":"Leave the meeting when the Assistant's conversation reaches a terminal state -- `ended` **or** `failed`. Off by default, which leaves the bot in the meeting after the Assistant stops. Fires once: a second terminal transition does not leave twice, and a leave the provider refuses is logged without changing how the session settles.","uniqueKey":"assistant.leave_on_end","typeLabel":"boolean"},"avatar":{"type":"boolean","default":false,"description":"Beta. Show the avatar configured on the assistant (its `avatar_settings`; see [AI Assistant avatars](/docs/inference/ai-assistants/avatars)) as the bot's camera, lip-synced to the assistant's own speech. The request carries no avatar ID or key: the assistant is read at creation and the request is rejected with 400 `invalid_request` if it has no Telnyx avatar configured. Supported on Google Meet, Zoom, Microsoft Teams and Webex; other platforms return 422 `unsupported_capability`. REST-only. Not echoed back on `assistant`; the session's top-level `avatar` and `avatar_state` fields report it instead. If the avatar fails, the session continues voice-only and `avatar_state` becomes `degraded`.","uniqueKey":"assistant.avatar","typeLabel":"boolean"}},"uniqueKey":"assistant","typeLabel":"MeetingSessionAssistantRequest · object"}},"examples":[{"meeting_url":"https://zoom.us/j/1234567890","bot_name":"Notetaker"},{"meeting_url":"https://meet.google.com/abc-defg-hij","bot_name":"Avatar Assistant","assistant":{"id":"asst_fake-uuid-1234","audio_gate":"full_duplex","avatar":true,"leave_on_end":true}},{"meeting_url":"https://teams.microsoft.com/l/meetup-join/example","bot_name":"Voice Assistant","assistant":{"id":"asst_fake-uuid-1234","audio_gate":"half_duplex","dynamic_variables":{"candidate_name":"Ada Lovelace","role":"Staff Engineer"}}}],"uniqueKey":"","typeLabel":"CreateMeetingSessionRequest · object"},"examples":{"Example":{"title":"Example","value":{"meeting_url":"https://zoom.us/j/1234567890","bot_name":"Notetaker"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"cfb55e1c-0195-4fa5-8d25-f9a97eeab2a0":{"description":"Replayed existing meeting session matching the account-scoped idempotency_key. Replay is key-only; the request payload is not fingerprinted or compared.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["data"],"properties":{"data":{"title":"MeetingSession","type":"object","additionalProperties":false,"description":"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.","required":["id","account_id","provider","status","status_detail","recording","meeting_url","platform","bot_name","config","avatar","avatar_state","avatar_state_changed_at","assistant","assistant_state","assistant_state_changed_at","webhook_url","metadata","failure_reason","created_at","join_at","joined_at","ended_at","updated_at"],"properties":{"id":{"type":"string","description":"Unique identifier for the meeting session.","isRequired":true,"uniqueKey":"data.id","typeLabel":"string"},"account_id":{"type":"string","description":"Identifier of the owning account.","isRequired":true,"uniqueKey":"data.account_id","typeLabel":"string"},"provider":{"type":"string","description":"Provider handling the meeting session.","isRequired":true,"uniqueKey":"data.provider","typeLabel":"string"},"status":{"type":"string","enum":["scheduled","joining","waiting_for_admission","active","leaving","ended","failed","admission_denied"],"description":"Lifecycle status. `waiting_for_admission` means the bot reached the meeting lobby and may require host approval. `active` means the bot entered the meeting/media path. `ended` alone does not prove attendance; use non-null `joined_at` as positive evidence that the session became active. `admission_denied` is reserved for an explicit provider denial, while cancellation or another termination can end a never-admitted session as `ended`.","isRequired":true,"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"status_detail":{"oneOf":[{"type":"string","description":"Additional human-readable detail about the status, or null.","isRequired":true,"uniqueKey":"data.status_detail.oneOf.0","typeLabel":"string"},{"type":"null","description":"Additional human-readable detail about the status, or null.","isRequired":true,"uniqueKey":"data.status_detail.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.status_detail","typeLabel":"string | null"},"recording":{"type":"boolean","description":"Whether the session is being recorded.","isRequired":true,"uniqueKey":"data.recording","typeLabel":"boolean"},"meeting_url":{"type":"string","format":"uri","description":"The meeting URL the bot joins.","isRequired":true,"uniqueKey":"data.meeting_url","typeLabel":"string\u003curi>"},"platform":{"type":"string","enum":["zoom","google_meet","teams","webex","unknown"],"description":"Detected meeting platform.","isRequired":true,"uniqueKey":"data.platform","typeLabel":"enum\u003cstring>"},"bot_name":{"type":"string","description":"Display name of the bot in the meeting.","isRequired":true,"uniqueKey":"data.bot_name","typeLabel":"string"},"config":{"title":"MeetingSessionConfig","type":"object","additionalProperties":false,"required":["voice","speak_on_enter","barge_in","summarize_on_end","chat_on_enter"],"properties":{"voice":{"oneOf":[{"type":"string","description":"Configured voice identifier, or null if not set.","isRequired":true,"uniqueKey":"data.config.voice.oneOf.0","typeLabel":"string"},{"type":"null","description":"Configured voice identifier, or null if not set.","isRequired":true,"uniqueKey":"data.config.voice.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.config.voice","typeLabel":"string | null"},"speak_on_enter":{"oneOf":[{"type":"string","description":"Text spoken on meeting entry, or null if not set.","isRequired":true,"uniqueKey":"data.config.speak_on_enter.oneOf.0","typeLabel":"string"},{"type":"null","description":"Text spoken on meeting entry, or null if not set.","isRequired":true,"uniqueKey":"data.config.speak_on_enter.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.config.speak_on_enter","typeLabel":"string | null"},"chat_on_enter":{"oneOf":[{"type":"string","description":"The message posted to chat on join, or null when unset.","isRequired":true,"uniqueKey":"data.config.chat_on_enter.oneOf.0","typeLabel":"string"},{"type":"null","description":"The message posted to chat on join, or null when unset.","isRequired":true,"uniqueKey":"data.config.chat_on_enter.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.config.chat_on_enter","typeLabel":"string | null"},"barge_in":{"type":"boolean","description":"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`.","isRequired":true,"uniqueKey":"data.config.barge_in","typeLabel":"boolean"},"summarize_on_end":{"type":"boolean","description":"Whether a summary artifact is generated on session end.","isRequired":true,"uniqueKey":"data.config.summarize_on_end","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"data.config","typeLabel":"MeetingSessionConfig · object"},"avatar":{"oneOf":[{"type":"object","title":"MeetingSessionAvatar","description":"The assistant's avatar when the session was created with `assistant.avatar: true`, otherwise null.","required":["provider","model","avatar_id","background_id"],"properties":{"provider":{"type":"string","const":"telnyx","description":"Avatar provider identifier.","isRequired":true,"uniqueKey":"data.avatar.oneOf.0.provider","typeLabel":"string"},"model":{"type":"string","description":"Avatar rendering model, for example `foxtrot-1`.","isRequired":true,"uniqueKey":"data.avatar.oneOf.0.model","typeLabel":"string"},"avatar_id":{"type":"string","description":"Identifier of the avatar.","isRequired":true,"uniqueKey":"data.avatar.oneOf.0.avatar_id","typeLabel":"string"},"background_id":{"type":"string","description":"Identifier of the avatar's background.","isRequired":true,"uniqueKey":"data.avatar.oneOf.0.background_id","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.avatar.oneOf.0","typeLabel":"MeetingSessionAvatar · object"},{"type":"null","description":"The assistant's avatar when the session was created with `assistant.avatar: true`, otherwise null.","isRequired":true,"uniqueKey":"data.avatar.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.avatar","typeLabel":"MeetingSessionAvatar · object | null"},"avatar_state":{"oneOf":[{"type":"string","enum":["starting","connected","degraded","disconnected",null],"description":"Current state of the avatar, or null if the session has no avatar. `starting` until the avatar's video is playing, then `connected`; `degraded` when the session has fallen back to voice-only (the `avatar.degraded` event carries the reason); `disconnected` when the avatar has ended.","isRequired":true,"uniqueKey":"data.avatar_state.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["starting","connected","degraded","disconnected",null],"description":"Current state of the avatar, or null if the session has no avatar. `starting` until the avatar's video is playing, then `connected`; `degraded` when the session has fallen back to voice-only (the `avatar.degraded` event carries the reason); `disconnected` when the avatar has ended.","isRequired":true,"uniqueKey":"data.avatar_state.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.avatar_state","typeLabel":"enum\u003cstring> | null"},"avatar_state_changed_at":{"oneOf":[{"type":"string","format":"date-time","description":"Timestamp of the last avatar state change, or null.","isRequired":true,"uniqueKey":"data.avatar_state_changed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Timestamp of the last avatar state change, or null.","isRequired":true,"uniqueKey":"data.avatar_state_changed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.avatar_state_changed_at","typeLabel":"string\u003cdate-time> | null"},"assistant":{"oneOf":[{"type":"object","title":"MeetingSessionAssistant","description":"Assistant configuration if an assistant is attached, otherwise null.","required":["id","audio_gate","dynamic_variables","leave_on_end"],"properties":{"id":{"type":"string","description":"Identifier of the assistant.","isRequired":true,"uniqueKey":"data.assistant.oneOf.0.id","typeLabel":"string"},"audio_gate":{"type":"string","enum":["half_duplex","full_duplex"],"description":"Audio gating strategy in force for the assistant call leg.","isRequired":true,"uniqueKey":"data.assistant.oneOf.0.audio_gate","typeLabel":"enum\u003cstring>"},"dynamic_variables":{"oneOf":[{"type":"object","description":"The dynamic variables in force for this session, or null when none were supplied.","additionalProperties":{"type":"string","uniqueKey":"data.assistant.oneOf.0.dynamic_variables.oneOf.0.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"data.assistant.oneOf.0.dynamic_variables.oneOf.0","typeLabel":"object"},{"type":"null","description":"The dynamic variables in force for this session, or null when none were supplied.","isRequired":true,"uniqueKey":"data.assistant.oneOf.0.dynamic_variables.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assistant.oneOf.0.dynamic_variables","typeLabel":"object | null"},"leave_on_end":{"type":"boolean","description":"Whether the bot leaves when the Assistant's conversation ends or fails.","isRequired":true,"uniqueKey":"data.assistant.oneOf.0.leave_on_end","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.assistant.oneOf.0","typeLabel":"MeetingSessionAssistant · object"},{"type":"null","description":"Assistant configuration if an assistant is attached, otherwise null.","isRequired":true,"uniqueKey":"data.assistant.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assistant","typeLabel":"MeetingSessionAssistant · object | null"},"assistant_state":{"oneOf":[{"type":"string","enum":["starting","connected","failed","ended",null],"description":"Current state of the assistant, or null if no assistant is attached.","isRequired":true,"uniqueKey":"data.assistant_state.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["starting","connected","failed","ended",null],"description":"Current state of the assistant, or null if no assistant is attached.","isRequired":true,"uniqueKey":"data.assistant_state.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assistant_state","typeLabel":"enum\u003cstring> | null"},"assistant_state_changed_at":{"oneOf":[{"type":"string","format":"date-time","description":"Timestamp of the last assistant state change, or null.","isRequired":true,"uniqueKey":"data.assistant_state_changed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Timestamp of the last assistant state change, or null.","isRequired":true,"uniqueKey":"data.assistant_state_changed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assistant_state_changed_at","typeLabel":"string\u003cdate-time> | null"},"webhook_url":{"oneOf":[{"type":"string","format":"uri","description":"Webhook endpoint for session lifecycle callbacks, or null if not configured.","isRequired":true,"uniqueKey":"data.webhook_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Webhook endpoint for session lifecycle callbacks, or null if not configured.","isRequired":true,"uniqueKey":"data.webhook_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.webhook_url","typeLabel":"string\u003curi> | null"},"metadata":{"type":"object","additionalProperties":true,"description":"Arbitrary key-value metadata attached to the session.","isRequired":true,"uniqueKey":"data.metadata","typeLabel":"object"},"failure_reason":{"oneOf":[{"type":"string","description":"Human-readable failure reason if the session failed, or null.","isRequired":true,"uniqueKey":"data.failure_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Human-readable failure reason if the session failed, or null.","isRequired":true,"uniqueKey":"data.failure_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.failure_reason","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the session was created.","isRequired":true,"uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time>"},"join_at":{"oneOf":[{"type":"string","format":"date-time","description":"Scheduled join time, or null for immediate join.","isRequired":true,"uniqueKey":"data.join_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Scheduled join time, or null for immediate join.","isRequired":true,"uniqueKey":"data.join_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.join_at","typeLabel":"string\u003cdate-time> | null"},"joined_at":{"oneOf":[{"type":"string","format":"date-time","description":"Timestamp when the session first became `active`, or null if it never became active. This remains positive admission evidence after terminal transitions.","isRequired":true,"uniqueKey":"data.joined_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Timestamp when the session first became `active`, or null if it never became active. This remains positive admission evidence after terminal transitions.","isRequired":true,"uniqueKey":"data.joined_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.joined_at","typeLabel":"string\u003cdate-time> | null"},"ended_at":{"oneOf":[{"type":"string","format":"date-time","description":"Timestamp when the session ended, or null if ongoing.","isRequired":true,"uniqueKey":"data.ended_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Timestamp when the session ended, or null if ongoing.","isRequired":true,"uniqueKey":"data.ended_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.ended_at","typeLabel":"string\u003cdate-time> | null"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of the last update to the session.","isRequired":true,"uniqueKey":"data.updated_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"data","typeLabel":"MeetingSession · object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"id":"\u003cstring>","account_id":"\u003cstring>","provider":"\u003cstring>","status":"scheduled","status_detail":"\u003cstring>","recording":true,"meeting_url":"\u003cstring>","platform":"zoom","bot_name":"\u003cstring>","config":{"voice":"\u003cstring>","speak_on_enter":"\u003cstring>","chat_on_enter":"\u003cstring>","barge_in":true,"summarize_on_end":true},"avatar":{"provider":"telnyx","model":"\u003cstring>","avatar_id":"\u003cstring>","background_id":"\u003cstring>"},"avatar_state":"starting","avatar_state_changed_at":"2023-11-07T05:31:56Z","assistant":{"id":"\u003cstring>","audio_gate":"half_duplex","dynamic_variables":{},"leave_on_end":true},"assistant_state":"starting","assistant_state_changed_at":"2023-11-07T05:31:56Z","webhook_url":"\u003cstring>","metadata":{},"failure_reason":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","join_at":"2023-11-07T05:31:56Z","joined_at":"2023-11-07T05:31:56Z","ended_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"3dd29538-a4c2-49d6-931a-ee114da397a0":{"description":"New meeting session created.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["data"],"properties":{"data":{"title":"MeetingSessionCreated","type":"object","additionalProperties":false,"description":"Response returned when a meeting session is first created. It is a full session representation plus an optional `webhook_secret` that is returned only on the first successful create when a `webhook_url` is configured. The secret is never replayed, listed, or retrievable on subsequent requests. No actor, provider-bot, idempotency, routing, key, or internal fields are exposed.","required":["id","account_id","provider","status","status_detail","recording","meeting_url","platform","bot_name","config","avatar","avatar_state","avatar_state_changed_at","assistant","assistant_state","assistant_state_changed_at","webhook_url","metadata","failure_reason","created_at","join_at","joined_at","ended_at","updated_at"],"properties":{"id":{"type":"string","description":"Unique identifier for the meeting session.","isRequired":true,"uniqueKey":"data.id","typeLabel":"string"},"account_id":{"type":"string","description":"Identifier of the owning account.","isRequired":true,"uniqueKey":"data.account_id","typeLabel":"string"},"provider":{"type":"string","description":"Provider handling the meeting session.","isRequired":true,"uniqueKey":"data.provider","typeLabel":"string"},"status":{"type":"string","enum":["scheduled","joining","waiting_for_admission","active","leaving","ended","failed","admission_denied"],"description":"Lifecycle status. `waiting_for_admission` means the bot reached the meeting lobby and may require host approval. `active` means the bot entered the meeting/media path. `ended` alone does not prove attendance; use non-null `joined_at` as positive evidence that the session became active. `admission_denied` is reserved for an explicit provider denial, while cancellation or another termination can end a never-admitted session as `ended`.","isRequired":true,"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"status_detail":{"oneOf":[{"type":"string","description":"Additional human-readable detail about the status, or null.","isRequired":true,"uniqueKey":"data.status_detail.oneOf.0","typeLabel":"string"},{"type":"null","description":"Additional human-readable detail about the status, or null.","isRequired":true,"uniqueKey":"data.status_detail.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.status_detail","typeLabel":"string | null"},"recording":{"type":"boolean","description":"Whether the session is being recorded.","isRequired":true,"uniqueKey":"data.recording","typeLabel":"boolean"},"meeting_url":{"type":"string","format":"uri","description":"The meeting URL the bot joins.","isRequired":true,"uniqueKey":"data.meeting_url","typeLabel":"string\u003curi>"},"platform":{"type":"string","enum":["zoom","google_meet","teams","webex","unknown"],"description":"Detected meeting platform.","isRequired":true,"uniqueKey":"data.platform","typeLabel":"enum\u003cstring>"},"bot_name":{"type":"string","description":"Display name of the bot in the meeting.","isRequired":true,"uniqueKey":"data.bot_name","typeLabel":"string"},"config":{"title":"MeetingSessionConfig","type":"object","additionalProperties":false,"required":["voice","speak_on_enter","barge_in","summarize_on_end","chat_on_enter"],"properties":{"voice":{"oneOf":[{"type":"string","description":"Configured voice identifier, or null if not set.","isRequired":true,"uniqueKey":"data.config.voice.oneOf.0","typeLabel":"string"},{"type":"null","description":"Configured voice identifier, or null if not set.","isRequired":true,"uniqueKey":"data.config.voice.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.config.voice","typeLabel":"string | null"},"speak_on_enter":{"oneOf":[{"type":"string","description":"Text spoken on meeting entry, or null if not set.","isRequired":true,"uniqueKey":"data.config.speak_on_enter.oneOf.0","typeLabel":"string"},{"type":"null","description":"Text spoken on meeting entry, or null if not set.","isRequired":true,"uniqueKey":"data.config.speak_on_enter.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.config.speak_on_enter","typeLabel":"string | null"},"chat_on_enter":{"oneOf":[{"type":"string","description":"The message posted to chat on join, or null when unset.","isRequired":true,"uniqueKey":"data.config.chat_on_enter.oneOf.0","typeLabel":"string"},{"type":"null","description":"The message posted to chat on join, or null when unset.","isRequired":true,"uniqueKey":"data.config.chat_on_enter.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.config.chat_on_enter","typeLabel":"string | null"},"barge_in":{"type":"boolean","description":"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`.","isRequired":true,"uniqueKey":"data.config.barge_in","typeLabel":"boolean"},"summarize_on_end":{"type":"boolean","description":"Whether a summary artifact is generated on session end.","isRequired":true,"uniqueKey":"data.config.summarize_on_end","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"data.config","typeLabel":"MeetingSessionConfig · object"},"avatar":{"oneOf":[{"type":"object","title":"MeetingSessionAvatar","description":"The assistant's avatar when the session was created with `assistant.avatar: true`, otherwise null.","required":["provider","model","avatar_id","background_id"],"properties":{"provider":{"type":"string","const":"telnyx","description":"Avatar provider identifier.","isRequired":true,"uniqueKey":"data.avatar.oneOf.0.provider","typeLabel":"string"},"model":{"type":"string","description":"Avatar rendering model, for example `foxtrot-1`.","isRequired":true,"uniqueKey":"data.avatar.oneOf.0.model","typeLabel":"string"},"avatar_id":{"type":"string","description":"Identifier of the avatar.","isRequired":true,"uniqueKey":"data.avatar.oneOf.0.avatar_id","typeLabel":"string"},"background_id":{"type":"string","description":"Identifier of the avatar's background.","isRequired":true,"uniqueKey":"data.avatar.oneOf.0.background_id","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.avatar.oneOf.0","typeLabel":"MeetingSessionAvatar · object"},{"type":"null","description":"The assistant's avatar when the session was created with `assistant.avatar: true`, otherwise null.","isRequired":true,"uniqueKey":"data.avatar.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.avatar","typeLabel":"MeetingSessionAvatar · object | null"},"avatar_state":{"oneOf":[{"type":"string","enum":["starting","connected","degraded","disconnected",null],"description":"Current state of the avatar, or null if the session has no avatar. `starting` until the avatar's video is playing, then `connected`; `degraded` when the session has fallen back to voice-only (the `avatar.degraded` event carries the reason); `disconnected` when the avatar has ended.","isRequired":true,"uniqueKey":"data.avatar_state.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["starting","connected","degraded","disconnected",null],"description":"Current state of the avatar, or null if the session has no avatar. `starting` until the avatar's video is playing, then `connected`; `degraded` when the session has fallen back to voice-only (the `avatar.degraded` event carries the reason); `disconnected` when the avatar has ended.","isRequired":true,"uniqueKey":"data.avatar_state.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.avatar_state","typeLabel":"enum\u003cstring> | null"},"avatar_state_changed_at":{"oneOf":[{"type":"string","format":"date-time","description":"Timestamp of the last avatar state change, or null.","isRequired":true,"uniqueKey":"data.avatar_state_changed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Timestamp of the last avatar state change, or null.","isRequired":true,"uniqueKey":"data.avatar_state_changed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.avatar_state_changed_at","typeLabel":"string\u003cdate-time> | null"},"assistant":{"oneOf":[{"type":"object","title":"MeetingSessionAssistant","description":"Assistant configuration if an assistant is attached, otherwise null.","required":["id","audio_gate","dynamic_variables","leave_on_end"],"properties":{"id":{"type":"string","description":"Identifier of the assistant.","isRequired":true,"uniqueKey":"data.assistant.oneOf.0.id","typeLabel":"string"},"audio_gate":{"type":"string","enum":["half_duplex","full_duplex"],"description":"Audio gating strategy in force for the assistant call leg.","isRequired":true,"uniqueKey":"data.assistant.oneOf.0.audio_gate","typeLabel":"enum\u003cstring>"},"dynamic_variables":{"oneOf":[{"type":"object","description":"The dynamic variables in force for this session, or null when none were supplied.","additionalProperties":{"type":"string","uniqueKey":"data.assistant.oneOf.0.dynamic_variables.oneOf.0.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"data.assistant.oneOf.0.dynamic_variables.oneOf.0","typeLabel":"object"},{"type":"null","description":"The dynamic variables in force for this session, or null when none were supplied.","isRequired":true,"uniqueKey":"data.assistant.oneOf.0.dynamic_variables.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assistant.oneOf.0.dynamic_variables","typeLabel":"object | null"},"leave_on_end":{"type":"boolean","description":"Whether the bot leaves when the Assistant's conversation ends or fails.","isRequired":true,"uniqueKey":"data.assistant.oneOf.0.leave_on_end","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.assistant.oneOf.0","typeLabel":"MeetingSessionAssistant · object"},{"type":"null","description":"Assistant configuration if an assistant is attached, otherwise null.","isRequired":true,"uniqueKey":"data.assistant.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assistant","typeLabel":"MeetingSessionAssistant · object | null"},"assistant_state":{"oneOf":[{"type":"string","enum":["starting","connected","failed","ended",null],"description":"Current state of the assistant, or null if no assistant is attached.","isRequired":true,"uniqueKey":"data.assistant_state.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["starting","connected","failed","ended",null],"description":"Current state of the assistant, or null if no assistant is attached.","isRequired":true,"uniqueKey":"data.assistant_state.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assistant_state","typeLabel":"enum\u003cstring> | null"},"assistant_state_changed_at":{"oneOf":[{"type":"string","format":"date-time","description":"Timestamp of the last assistant state change, or null.","isRequired":true,"uniqueKey":"data.assistant_state_changed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Timestamp of the last assistant state change, or null.","isRequired":true,"uniqueKey":"data.assistant_state_changed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assistant_state_changed_at","typeLabel":"string\u003cdate-time> | null"},"webhook_url":{"oneOf":[{"type":"string","format":"uri","description":"Webhook endpoint for session lifecycle callbacks, or null if not configured.","isRequired":true,"uniqueKey":"data.webhook_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Webhook endpoint for session lifecycle callbacks, or null if not configured.","isRequired":true,"uniqueKey":"data.webhook_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.webhook_url","typeLabel":"string\u003curi> | null"},"metadata":{"type":"object","additionalProperties":true,"description":"Arbitrary key-value metadata attached to the session.","isRequired":true,"uniqueKey":"data.metadata","typeLabel":"object"},"failure_reason":{"oneOf":[{"type":"string","description":"Human-readable failure reason if the session failed, or null.","isRequired":true,"uniqueKey":"data.failure_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Human-readable failure reason if the session failed, or null.","isRequired":true,"uniqueKey":"data.failure_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.failure_reason","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the session was created.","isRequired":true,"uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time>"},"join_at":{"oneOf":[{"type":"string","format":"date-time","description":"Scheduled join time, or null for immediate join.","isRequired":true,"uniqueKey":"data.join_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Scheduled join time, or null for immediate join.","isRequired":true,"uniqueKey":"data.join_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.join_at","typeLabel":"string\u003cdate-time> | null"},"joined_at":{"oneOf":[{"type":"string","format":"date-time","description":"Timestamp when the session first became `active`, or null if it never became active. This remains positive admission evidence after terminal transitions.","isRequired":true,"uniqueKey":"data.joined_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Timestamp when the session first became `active`, or null if it never became active. This remains positive admission evidence after terminal transitions.","isRequired":true,"uniqueKey":"data.joined_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.joined_at","typeLabel":"string\u003cdate-time> | null"},"ended_at":{"oneOf":[{"type":"string","format":"date-time","description":"Timestamp when the session ended, or null if ongoing.","isRequired":true,"uniqueKey":"data.ended_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Timestamp when the session ended, or null if ongoing.","isRequired":true,"uniqueKey":"data.ended_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.ended_at","typeLabel":"string\u003cdate-time> | null"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of the last update to the session.","isRequired":true,"uniqueKey":"data.updated_at","typeLabel":"string\u003cdate-time>"},"webhook_secret":{"type":"string","readOnly":true,"description":"Secret for validating webhook signatures. Returned only on the first successful create when `webhook_url` is configured. Never replayed, listed, or retrievable on subsequent requests.","uniqueKey":"data.webhook_secret","typeLabel":"string"}},"examples":[{"id":"mtgsess_a1b2c3d4-e5f6-7890-abcd-ef1234567890","account_id":"acct_fake-uuid-0001","provider":"telnyx","status":"scheduled","status_detail":null,"recording":false,"meeting_url":"https://zoom.us/j/1234567890","platform":"zoom","bot_name":"Notetaker","config":{"voice":null,"speak_on_enter":null,"barge_in":false,"summarize_on_end":false,"chat_on_enter":null},"avatar":null,"avatar_state":null,"avatar_state_changed_at":null,"assistant":null,"assistant_state":null,"assistant_state_changed_at":null,"webhook_url":null,"metadata":{},"failure_reason":null,"created_at":"2026-07-30T12:00:00Z","join_at":"2026-07-30T13:00:00Z","joined_at":null,"ended_at":null,"updated_at":"2026-07-30T12:00:00Z"},{"id":"mtgsess_b2c3d4e5-f6a7-8901-bcde-f23456789012","account_id":"acct_fake-uuid-0002","provider":"telnyx","status":"joining","status_detail":null,"recording":false,"meeting_url":"https://teams.microsoft.com/l/meetup-join/example","platform":"teams","bot_name":"Voice Assistant","config":{"voice":"voice-fake-001","speak_on_enter":"Hello, I am joining.","barge_in":false,"summarize_on_end":true,"chat_on_enter":null},"avatar":null,"avatar_state":null,"avatar_state_changed_at":null,"assistant":{"id":"asst_fake-uuid-1234","audio_gate":"half_duplex","dynamic_variables":null,"leave_on_end":false},"assistant_state":"starting","assistant_state_changed_at":"2026-07-30T12:00:00Z","webhook_url":"https://example.invalid/webhooks/sessions","metadata":{},"failure_reason":null,"created_at":"2026-07-30T12:00:00Z","join_at":null,"joined_at":null,"ended_at":null,"updated_at":"2026-07-30T12:00:00Z","webhook_secret":"whsec_example_do_not_use"}],"isRequired":true,"uniqueKey":"data","typeLabel":"MeetingSessionCreated · object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"id":"mtgsess_a1b2c3d4-e5f6-7890-abcd-ef1234567890","account_id":"acct_fake-uuid-0001","provider":"telnyx","status":"scheduled","status_detail":null,"recording":false,"meeting_url":"https://zoom.us/j/1234567890","platform":"zoom","bot_name":"Notetaker","config":{"voice":null,"speak_on_enter":null,"barge_in":false,"summarize_on_end":false,"chat_on_enter":null},"avatar":null,"avatar_state":null,"avatar_state_changed_at":null,"assistant":null,"assistant_state":null,"assistant_state_changed_at":null,"webhook_url":null,"metadata":{},"failure_reason":null,"created_at":"2026-07-30T12:00:00Z","join_at":"2026-07-30T13:00:00Z","joined_at":null,"ended_at":null,"updated_at":"2026-07-30T12:00:00Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"b4d023e1-8ee5-4b8f-a9c8-5f87e5bf9d83":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"examples":[{"error":{"code":"invalid_request","message":"webhook_url is disabled"}},{"error":{"code":"not_found","message":"meeting session not found"}},{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}},{"error":{"code":"internal_error","message":"internal server error"}}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"invalid_request","message":"request is invalid"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"request is invalid"}}}},"exampleType":"examples"}},"exampleType":"examples"},"5b008047-3333-4788-a8d3-9c6ce869c224":{"description":"Unauthorized. On api.telnyx.com, authentication is enforced by the API gateway before the request reaches the Meeting service, so a missing or invalid API key returns the standard Telnyx error envelope (`{\"errors\": [{\"code\": \"10009\", ...}]}`) rather than the single-`error` shape below.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"examples":[{"error":{"code":"invalid_request","message":"webhook_url is disabled"}},{"error":{"code":"not_found","message":"meeting session not found"}},{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}},{"error":{"code":"internal_error","message":"internal server error"}}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"unauthorized","message":"invalid or missing credentials"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"invalid or missing credentials"}}}},"exampleType":"examples"}},"exampleType":"examples"},"1f3582fd-a108-4bf3-aa79-2d691ab0ccbd":{"description":"The authenticated credential is not permitted to perform this operation.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"examples":[{"error":{"code":"invalid_request","message":"webhook_url is disabled"}},{"error":{"code":"not_found","message":"meeting session not found"}},{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}},{"error":{"code":"internal_error","message":"internal server error"}}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"forbidden","message":"credential is not permitted"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"forbidden","message":"credential is not permitted"}}}},"exampleType":"examples"}},"exampleType":"examples"},"ae5c5ee9-b854-4543-90a1-f8c91da7adf7":{"description":"Payload Too Large","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"examples":[{"error":{"code":"invalid_request","message":"webhook_url is disabled"}},{"error":{"code":"not_found","message":"meeting session not found"}},{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}},{"error":{"code":"internal_error","message":"internal server error"}}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"invalid_request","message":"request body too large"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"request body too large"}}}},"exampleType":"examples"}},"exampleType":"examples"},"f24e1116-3fab-47da-8836-ab59c45a5f36":{"description":"Unprocessable Entity, including an unsupported capability","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"examples":[{"error":{"code":"invalid_request","message":"webhook_url is disabled"}},{"error":{"code":"not_found","message":"meeting session not found"}},{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}},{"error":{"code":"internal_error","message":"internal server error"}}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}}}},"exampleType":"examples"}},"exampleType":"examples"},"b8a20e49-962a-4bf2-95f5-8461832db55a":{"description":"Authentication is temporarily overloaded. Retry after the number of seconds in `Retry-After`.","headers":{"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"integer","minimum":1,"maximum":5}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"examples":[{"error":{"code":"invalid_request","message":"webhook_url is disabled"}},{"error":{"code":"not_found","message":"meeting session not found"}},{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}},{"error":{"code":"internal_error","message":"internal server error"}}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"auth_overloaded","message":"authentication temporarily overloaded"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"auth_overloaded","message":"authentication temporarily overloaded"}}}},"exampleType":"examples"}},"exampleType":"examples"},"7da788e3-03d1-4213-b1aa-1b41186cc7e9":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"examples":[{"error":{"code":"invalid_request","message":"webhook_url is disabled"}},{"error":{"code":"not_found","message":"meeting session not found"}},{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}},{"error":{"code":"internal_error","message":"internal server error"}}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"internal_error","message":"internal server error"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"internal_error","message":"internal server error"}}}},"exampleType":"examples"}},"exampleType":"examples"},"baeae272-bc57-473d-8351-66bff5cc8280":{"description":"The meeting provider rejected bot creation.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"examples":[{"error":{"code":"invalid_request","message":"webhook_url is disabled"}},{"error":{"code":"not_found","message":"meeting session not found"}},{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}},{"error":{"code":"internal_error","message":"internal server error"}}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"provider_error","message":"meeting provider rejected bot creation"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"provider_error","message":"meeting provider rejected bot creation"}}}},"exampleType":"examples"}},"exampleType":"examples"},"68b11228-d166-4df6-88e7-497edaab0cc1":{"description":"A required feature or dependency is not configured, authentication is unavailable, or (`assistant_lookup_unavailable`) the assistant could not be read to check its avatar.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"examples":[{"error":{"code":"invalid_request","message":"webhook_url is disabled"}},{"error":{"code":"not_found","message":"meeting session not found"}},{"error":{"code":"unsupported_capability","message":"avatar video is not supported on platform 'unknown'"}},{"error":{"code":"internal_error","message":"internal server error"}}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"not_configured","message":"required feature is not configured"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"not_configured","message":"required feature is not configured"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"f3219970-e5bf-4289-bde4-e5c38fa0ef45":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"b86e769a-6736-4ca5-b0ee-fa5b94acde6f":{"url":"https://api.telnyx.com/v2"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/source/external/meeting-sessions/meeting-sessions.json"},"subdomain":"telnyx","siteName":"Telnyx","title":"Create a meeting session - Telnyx","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T16:39:50.071Z","originalFileLocation":"api-reference/meeting-sessions/create-a-meeting-session.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"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). 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. With assistant.avatar: true, the assistant is read before the bot is created: an assistant without a Telnyx avatar configured is rejected with 400 invalid_request (message prefix assistant_avatar_not_configured:), an unknown assistant with 400 invalid_request (prefix assistant_not_found:), and a failed lookup with 503 assistant_lookup_unavailable; no bot is created in any of these cases.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Telnyx\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a meeting session - Telnyx\">\u003cmeta data-mint-head property=\"og:description\" content=\"Infrastructure for real-time agents. Voice, AI, Edge Compute\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Telnyx\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.telnyx.com/api-reference/meeting-sessions/create-a-meeting-session\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://telnyx.mintlify.app/_mintlify/api/og/v2?division=Meeting+Sessions\u0026amp;title=Create+a+meeting+session\u0026amp;description=Creates+a+new+meeting+session.+When+an+idempotency_key+is+supplied+in+the+request+body%2C+replay+lookup+is+scoped+to+the+authenticated+account+and+compares+only+t\u0026amp;theme=0dd46d2166d1a00e34819206\u0026amp;signature=67ba2e796f14c92797402588f8c378163397990e8e6b9ad6d0ca981bce8dfb44\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a meeting session - Telnyx\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Infrastructure for real-time agents. Voice, AI, Edge Compute\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://telnyx.mintlify.app/_mintlify/api/og/v2?division=Meeting+Sessions\u0026amp;title=Create+a+meeting+session\u0026amp;description=Creates+a+new+meeting+session.+When+an+idempotency_key+is+supplied+in+the+request+body%2C+replay+lookup+is+scoped+to+the+authenticated+account+and+compares+only+t\u0026amp;theme=0dd46d2166d1a00e34819206\u0026amp;signature=67ba2e796f14c92797402588f8c378163397990e8e6b9ad6d0ca981bce8dfb44\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Telnyx\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00B688\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.telnyx.com/api-reference/meeting-sessions/create-a-meeting-session\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/meeting-sessions/create-a-meeting-session.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://telnyx.com/#organization\",\"name\":\"Telnyx\",\"url\":\"https://telnyx.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://telnyx.com/favicon.ico\"},\"sameAs\":[\"https://x.com/telnyx\",\"https://www.linkedin.com/company/telnyx/\",\"https://github.com/team-telnyx\"]},{\"@type\":\"WebSite\",\"@id\":\"https://developers.telnyx.com#website\",\"name\":\"Telnyx\",\"url\":\"https://developers.telnyx.com\",\"publisher\":{\"@id\":\"https://telnyx.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.telnyx.com/api-reference/meeting-sessions/create-a-meeting-session#webpage\",\"url\":\"https://developers.telnyx.com/api-reference/meeting-sessions/create-a-meeting-session\",\"name\":\"Create a meeting session\",\"description\":\"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). 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. With assistant.avatar: true, the assistant is read before the bot is created: an assistant without a Telnyx avatar configured is rejected with 400 invalid_request (message prefix assistant_avatar_not_configured:), an unknown assistant with 400 invalid_request (prefix assistant_not_found:), and a failed lookup with 503 assistant_lookup_unavailable; no bot is created in any of these cases.\",\"dateModified\":\"2026-10-15T16:39:50.071Z\",\"isPartOf\":{\"@id\":\"https://developers.telnyx.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.telnyx.com/api-reference/meeting-sessions/create-a-meeting-session#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.telnyx.com/api-reference/meeting-sessions/create-a-meeting-session#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Telnyx\",\"item\":\"https://developers.telnyx.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a meeting session\",\"item\":\"https://developers.telnyx.com/api-reference/meeting-sessions/create-a-meeting-session\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.telnyx.com/api-reference/meeting-sessions/create-a-meeting-session#apireference\",\"headline\":\"Create a meeting session\",\"name\":\"Create a meeting session\",\"description\":\"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). 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. With assistant.avatar: true, the assistant is read before the bot is created: an assistant without a Telnyx avatar configured is rejected with 400 invalid_request (message prefix assistant_avatar_not_configured:), an unknown assistant with 400 invalid_request (prefix assistant_not_found:), and a failed lookup with 503 assistant_lookup_unavailable; no bot is created in any of these cases.\",\"url\":\"https://developers.telnyx.com/api-reference/meeting-sessions/create-a-meeting-session\",\"mainEntityOfPage\":{\"@id\":\"https://developers.telnyx.com/api-reference/meeting-sessions/create-a-meeting-session#webpage\"},\"dateModified\":\"2026-10-15T16:39:50.071Z\",\"publisher\":{\"@id\":\"https://telnyx.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.telnyx.com#website\"}}]}\u003c/script>","siteName":"Telnyx","nav":{"global":{"anchors":[{"anchor":"Home","icon":"house","href":"/docs/overview"}]},"products":[{"product":"Home","icon":"house","pages":[{"title":"Home","href":"/docs/overview"}]},{"product":"Other APIs","icon":"ellipsis","pages":[{"title":"Other APIs","href":"/docs/other-apis"}]},{"product":"Agent Platform","icon":"circle-nodes","pages":[{"title":"Agent Platform","href":"/docs/agent-platform"}]},{"product":"AI","icon":"microchip-ai","tabs":[{"tab":"Inference","icon":"brain-circuit","pages":[{"title":"Inference","href":"/docs/inference/models"}]},{"tab":"AI Gateway","icon":"key","pages":[{"title":"AI Gateway","href":"/docs/inference/ai-gateway"}]},{"tab":"Embedding","icon":"database","pages":[{"title":"Embedding","href":"/docs/inference/embedding-rag"}]},{"tab":"Assistants","icon":"robot","pages":[{"title":"Assistants","href":"/docs/inference/ai-assistants/no-code-voice-assistant"}]},{"tab":"LiveKit on Telnyx (Beta)","icon":"waveform-lines","pages":[{"title":"LiveKit on Telnyx (Beta)","href":"/docs/livekit"}]},{"tab":"Web Search","icon":"globe","pages":[{"title":"Web Search","href":"/docs/web-search"}]},{"tab":"AI Search","icon":"magnifying-glass","pages":[{"title":"AI Search","href":"/docs/ai-search"}]},{"tab":"Meeting","icon":"video","groups":[{"group":"Meeting","pages":[{"title":"Meeting Overview","sidebarTitle":"Overview","href":"/docs/meeting"},{"title":"Meeting Quick Start","sidebarTitle":"Quick Start","href":"/docs/meeting/quick-start"},{"title":"Meeting Pricing","sidebarTitle":"Pricing","href":"/docs/meeting/pricing"}]},{"group":"Join a Meeting","pages":[{"title":"Join a Meeting","href":"/docs/meeting/join-meeting/index"},{"title":"Join with a Meeting URL","sidebarTitle":"Meeting URL","href":"/docs/meeting/join-meeting/meeting-url"},{"title":"Calendar Auto-join","sidebarTitle":"Calendar Auto-join","href":"/docs/meeting/join-meeting/calendar-auto-join"},{"title":"Announce the Bot on Arrival","href":"/docs/meeting/join-meeting/introductions"}]},{"group":"During the Meeting","pages":[{"title":"Live Transcript","href":"/docs/meeting/live-transcript"},{"title":"Recording","href":"/docs/meeting/recording"},{"group":"Meeting Presence","pages":[{"title":"Meeting bot roster name, identity, and introductions","sidebarTitle":"Meeting Presence","href":"/docs/meeting/presence/index"},{"group":"Identity","pages":[{"title":"Still Images","href":"/docs/meeting/presence/still-images"},{"title":"Digital Avatars","tag":"Beta","href":"/docs/meeting/digital-avatars"}]}]},{"group":"Controlling the Bot","pages":[{"title":"Control the meeting bot: speak, chat, and automate","sidebarTitle":"Controlling the Bot","href":"/docs/meeting/control/index"},{"group":"Manually","pages":[{"title":"Speak","href":"/docs/meeting/control/speak"},{"title":"Chat","href":"/docs/meeting/control/chat"}]},{"title":"Telnyx AI Assistants","href":"/docs/meeting/ai-assistants"}]}]},{"group":"After the Meeting","pages":[{"title":"Collect Results","href":"/docs/meeting/collect-results"}]},{"group":"Integration","pages":[{"title":"Session Events","sidebarTitle":"Events","href":"/docs/meeting/events"},{"title":"Webhooks","href":"/docs/meeting/webhooks"},{"title":"Meeting API Errors","sidebarTitle":"API Errors","href":"/docs/meeting/errors"},{"title":"Meeting MCP Server","sidebarTitle":"MCP Server","description":"Connect AI agents directly to Telnyx Meeting tools over the Model Context Protocol.","href":"/docs/meeting/mcp"}]},{"group":"API Reference","pages":[{"group":"Meeting Sessions","pages":[{"title":"Create a meeting session","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json post /meeting_sessions","href":"/api-reference/meeting-sessions/create-a-meeting-session"},{"title":"List meeting sessions","description":"Returns a list of meeting sessions, optionally filtered by status.","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json get /meeting_sessions","href":"/api-reference/meeting-sessions/list-meeting-sessions"},{"title":"Retrieve a meeting session","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json get /meeting_sessions/{id}","href":"/api-reference/meeting-sessions/retrieve-a-meeting-session"},{"title":"Update a meeting session","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json patch /meeting_sessions/{id}","href":"/api-reference/meeting-sessions/update-a-meeting-session"},{"title":"Delete a meeting session","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json delete /meeting_sessions/{id}","href":"/api-reference/meeting-sessions/delete-a-meeting-session"}]},{"group":"Actions","pages":[{"title":"Speak in a meeting session","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json post /meeting_sessions/{id}/actions/speak","href":"/api-reference/meeting-session-actions/speak-in-a-meeting-session"},{"title":"Stop speaking in a meeting session","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json post /meeting_sessions/{id}/actions/stop_speaking","href":"/api-reference/meeting-session-actions/stop-speaking-in-a-meeting-session"},{"title":"Send chat in a meeting session","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json post /meeting_sessions/{id}/actions/send_chat","href":"/api-reference/meeting-session-actions/send-chat-in-a-meeting-session"}]},{"group":"Events","pages":[{"title":"List meeting session events","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json get /meeting_sessions/{id}/events","href":"/api-reference/meeting-session-data/list-meeting-session-events"}]},{"group":"Transcript","pages":[{"title":"List meeting session transcript","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json get /meeting_sessions/{id}/transcript","href":"/api-reference/meeting-session-data/list-meeting-session-transcript"}]},{"group":"Recordings","pages":[{"title":"Delete meeting session recording media","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json delete /meeting_sessions/{id}/recording_media","href":"/api-reference/meeting-session-data/delete-meeting-session-recording-media"}]},{"group":"Artifacts","pages":[{"title":"Create a meeting session artifact","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json post /meeting_sessions/{id}/artifacts","href":"/api-reference/meeting-session-artifacts/create-a-meeting-session-artifact"},{"title":"List meeting session artifacts","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json get /meeting_sessions/{id}/artifacts","href":"/api-reference/meeting-session-artifacts/list-meeting-session-artifacts"},{"title":"Retrieve a meeting session artifact","deprecated":null,"version":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json get /meeting_sessions/{id}/artifacts/{artifact_id}","href":"/api-reference/meeting-session-artifacts/retrieve-a-meeting-session-artifact"}]},{"group":"Webhook Events","pages":[{"title":"Sessionstatus changed","version":null,"deprecated":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json webhook sessionStatusChanged","href":"/api-reference/meeting-session-webhooks/sessionstatus_changed"},{"title":"Transcriptcompleted","version":null,"deprecated":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json webhook transcriptCompleted","href":"/api-reference/meeting-session-webhooks/transcriptcompleted"},{"title":"Artifactcompleted","version":null,"deprecated":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json webhook artifactCompleted","href":"/api-reference/meeting-session-webhooks/artifactcompleted"},{"title":"Artifactfailed","version":null,"deprecated":null,"openapi":"/openapi/source/external/meeting-sessions/meeting-sessions.json webhook artifactFailed","href":"/api-reference/meeting-session-webhooks/artifactfailed"}]}]},{"group":"WebSocket","pages":[{"group":"Websockets","pages":[{"asyncapi":"openapi/asyncapi/meeting-session-stream/meeting-session-stream.yml meeting-session-stream","href":"/api-reference/websockets/meeting-session-agent-stream","title":"Meeting Session agent stream","version":null}]}]},{"group":"For AI Agents","pages":[{"title":"Meeting llms.txt","sidebarTitle":"Meeting llms txt","href":"/docs/development/llms/agent-tools-meeting-beta-llms-txt/index"},{"title":"Meeting llms-full.txt","sidebarTitle":"Meeting llms full txt","href":"/docs/development/llms/agent-tools-meeting-beta-llms-full-txt/index"}]}]}]},{"product":"Voice","icon":"waveform","pages":[{"title":"Voice","href":"/docs/voice/overview"}]},{"product":"Compute","icon":"server","pages":[{"title":"Compute","href":"/docs/edge-compute/platform-overview"}]},{"product":"Storage","icon":"hard-drive","pages":[{"title":"Storage","href":"/docs/cloud-storage/overview"}]},{"product":"Virtual Private Cloud","icon":"cloud","pages":[{"title":"Virtual Private Cloud","href":"/docs/virtual-private-cloud"}]},{"product":"Calling","icon":"phone","pages":[{"title":"Calling","href":"/docs/voice/programmable-voice/voice-api-fundamentals"}]},{"product":"Messaging","icon":"message","pages":[{"title":"Messaging","href":"/docs/messaging/messages/send-message"}]},{"product":"Numbers","icon":"hashtag","pages":[{"title":"Numbers","href":"/docs/numbers/phone-numbers/getting-started"}]},{"product":"Wireless","icon":"broadcast-tower","pages":[{"title":"Wireless","href":"/docs/iot-sim/wireless-overview"}]}]},"basePath":"","title":"Create a meeting session - Telnyx","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["10e4515597","c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["BannerMarkdown-DHaG7hr_.js","dist-DKZWslLH.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-BIWXJmsZ.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-Bevw23-4.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","AssistantPageLink-UDqbR6xh.js"]}