Post-call artifact and billing readiness. Included on the single-call detail response; pending until the media edge finalizes the call.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"PyAI Developers","description":"Build voice agents through the console or API, powered by Omni. Agents, Hear, Speak, Clone, Cast, and Dub documentation.","colors":{"primary":"#5B5BD6","light":"#8E8EF0","dark":"#3A3AB0"},"logo":{"light":"https://mintcdn.com/pyai/WdY9MU3V1Ll4Gm-R/logo/light.svg?fit=max\u0026auto=format\u0026n=WdY9MU3V1Ll4Gm-R\u0026q=85\u0026s=c47abcf1c2ebb1a5b3d736c8048fe048","dark":"https://mintcdn.com/pyai/WdY9MU3V1Ll4Gm-R/logo/dark.svg?fit=max\u0026auto=format\u0026n=WdY9MU3V1Ll4Gm-R\u0026q=85\u0026s=27b4f2ab467e5a0d91c0f24c4d191765"},"favicon":"https://mintcdn.com/pyai/G4w3mSmcZ1PP4hMU/favicon.svg?fit=max\u0026auto=format\u0026n=G4w3mSmcZ1PP4hMU\u0026q=85\u0026s=b2a603e1ab6b02d3ea6fcc051f224e1c","appearance":{"default":"system"},"navbar":{"links":[{"href":"https://api.pyai.com/openapi.json","label":"OpenAPI spec"},{"href":"https://status.pyai.com","label":"Status"}],"primary":{"type":"button","label":"Choose a path","href":"/choose-your-path"}},"footer":{"socials":{"website":"https://pyai.com","x":"https://x.com/getpyai"}},"search":{"prompt":"Search the PyAI docs"},"seo":{"indexing":"all"},"contextual":{"options":["copy","view","chatgpt","claude","download-spec","grok","cursor","aistudio","perplexity","vscode"],"display":"header"},"interaction":{"drilldown":true},"markdown":{"schema":true},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"pyai","hasAudioNarration":false,"actualSubdomain":"pyai","customDomains":["docs.pyai.com"],"gitSource":{"type":"github","owner":"atomsai","repo":"pyai-platform-backend","deployBranch":"main","contentDirectory":"docs-site","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"eb0ab40d-162a-4396-8694-b2dd0bbca4fa","liveDeploymentHistoryId":"6ae0515c562c9dd61c478368","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0515c562c9dd61c478368"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae0570bfe7e4ab2b711856d","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API reference","count":199},{"language":"default","tag":"Documentation","count":82},{"language":"default","tag":"Telephony","count":38},{"language":"default","tag":"Agents","count":33},{"language":"default","tag":"Integrations","count":27},{"language":"default","tag":"Knowledge Bases","count":14},{"language":"default","tag":"Get started","count":13},{"language":"default","tag":"Trace","count":12},{"language":"default","tag":"WhatsApp","count":12},{"language":"default","tag":"Dub","count":11}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"editor-agent-model-picker","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/telephony/cancel-a-warm-transfer","slug":"/api-reference/telephony/cancel-a-warm-transfer","pageMetadata":{"title":"Cancel a warm transfer","description":"Stops the consultation and waits for verified terminal evidence before resuming the caller. Repeating this operation is safe.","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/calls/{id}/transfers/{transfer_id}/cancel","href":"/api-reference/telephony/cancel-a-warm-transfer","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Stops the consultation and waits for verified terminal evidence before resuming the caller. Repeating this operation is safe.\"\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":"Cancel a warm transfer","description":"Stops the consultation and waits for verified terminal evidence before resuming the caller. Repeating this operation is safe.","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/calls/{id}/transfers/{transfer_id}/cancel","href":"/api-reference/telephony/cancel-a-warm-transfer","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Telephony"],"operationId":"cancelTelephonyTransfer","summary":"Cancel a warm transfer","description":"Stops the consultation and waits for verified terminal evidence before resuming the caller. Repeating this operation is safe.","parameters":["49b2a46f-3bf6-4806-80b3-7141eed0d65e","6acad781-bd48-40d8-b458-aa6c41f45646"],"requestBody":"d76d05b8-fb9d-46a1-81ec-c9d518d18bf1","responses":{"202":"139ae282-56ff-4517-b601-39c0a152a91b","404":"3e2a1d78-6388-44f1-9447-27f8736c86a7","409":"afbc9463-ead5-4188-af0c-b39ed4c96d70"},"method":"post","type":"path","servers":["fdad72bb-2f88-48dc-b664-fd3819fe37b1"],"security":["2f2fb9f3-237b-45c6-b680-2bd245da66e1","26a65140-962f-4d88-90d8-f3c66b22fd4b"],"path":"/v1/telephony/calls/{id}/transfers/{transfer_id}/cancel","baseUrlOptions":["https://api.pyai.com"],"title":"Cancel a warm transfer","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"49b2a46f-3bf6-4806-80b3-7141eed0d65e":{"name":"id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"6acad781-bd48-40d8-b458-aa6c41f45646":{"name":"transfer_id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["user_id"],"properties":{"user_id":{"type":"string","maxLength":200,"isRequired":true,"uniqueKey":"user_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"user_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"139ae282-56ff-4517-b601-39c0a152a91b":{"description":"Current durable call and transfer state.","content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"integer","uniqueKey":"version","typeLabel":"integer"},"project_id":{"type":"string","uniqueKey":"project_id","typeLabel":"string"},"direction":{"type":"string","enum":["inbound","outbound"],"uniqueKey":"direction","typeLabel":"enum\u003cstring>"},"from":{"type":"string","uniqueKey":"from","typeLabel":"string"},"destination_number_id":{"oneOf":[{"type":"string","uniqueKey":"destination_number_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"destination_number_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"destination_number_id","typeLabel":"string | null"},"admission_mode":{"oneOf":[{"type":"string","enum":["client","platform",null],"uniqueKey":"admission_mode.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["client","platform",null],"uniqueKey":"admission_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"admission_mode","typeLabel":"enum\u003cstring> | null"},"admission_status":{"oneOf":[{"type":"string","enum":["pending","accept","reject","expired",null],"uniqueKey":"admission_status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pending","accept","reject","expired",null],"uniqueKey":"admission_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"admission_status","typeLabel":"enum\u003cstring> | null"},"admission_expires_at":{"oneOf":[{"type":"integer","description":"Original pre-answer admission deadline, Unix ms.","uniqueKey":"admission_expires_at.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Original pre-answer admission deadline, Unix ms.","uniqueKey":"admission_expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"admission_expires_at","typeLabel":"integer | null"},"max_duration_seconds":{"oneOf":[{"type":"integer","uniqueKey":"max_duration_seconds.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"max_duration_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"max_duration_seconds","typeLabel":"integer | null"},"client_reference":{"oneOf":[{"type":"string","uniqueKey":"client_reference.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"client_reference.oneOf.1","typeLabel":"null"}],"uniqueKey":"client_reference","typeLabel":"string | null"},"agent_release_id":{"oneOf":[{"type":"string","uniqueKey":"agent_release_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"agent_release_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"agent_release_id","typeLabel":"string | null"},"stop_requested":{"type":"boolean","uniqueKey":"stop_requested","typeLabel":"boolean"},"object":{"type":"string","example":"telephony.call","uniqueKey":"object","typeLabel":"string"},"id":{"type":"string","example":"tcall_...","uniqueKey":"id","typeLabel":"string"},"from_number_id":{"oneOf":[{"type":"string","uniqueKey":"from_number_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"from_number_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"from_number_id","typeLabel":"string | null"},"to":{"type":"string","example":"+14155550123","uniqueKey":"to","typeLabel":"string"},"dialing_mode":{"type":"string","const":"parallel","description":"Present for a parallel human-call group.","uniqueKey":"dialing_mode","typeLabel":"string"},"destinations":{"type":"array","items":{"type":"string","uniqueKey":"destinations.items.[INDEX]","typeLabel":"string"},"minItems":2,"maxItems":4,"uniqueKey":"destinations","typeLabel":"string[]"},"connected_to":{"oneOf":[{"type":"string","description":"Destination confirmed by the group connection result; null while unresolved.","uniqueKey":"connected_to.oneOf.0","typeLabel":"string"},{"type":"null","description":"Destination confirmed by the group connection result; null while unresolved.","uniqueKey":"connected_to.oneOf.1","typeLabel":"null"}],"uniqueKey":"connected_to","typeLabel":"string | null"},"lines":{"type":"array","items":{"type":"object","required":["id","to","status","duration_seconds"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"lines.items.[INDEX].id","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"lines.items.[INDEX].to","typeLabel":"string"},"status":{"type":"string","enum":["pending","queued","ringing","answered","completed","failed","canceled"],"isRequired":true,"uniqueKey":"lines.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"duration_seconds":{"oneOf":[{"type":"integer","minimum":0,"description":"Verified terminal phone-leg duration; null until available.","isRequired":true,"uniqueKey":"lines.items.[INDEX].duration_seconds.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Verified terminal phone-leg duration; null until available.","isRequired":true,"uniqueKey":"lines.items.[INDEX].duration_seconds.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"lines.items.[INDEX].duration_seconds","typeLabel":"integer | null"}},"uniqueKey":"lines.items.[INDEX]","typeLabel":"object"},"uniqueKey":"lines","typeLabel":"object[]"},"agent_id":{"oneOf":[{"type":"string","uniqueKey":"agent_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"agent_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"agent_id","typeLabel":"string | null"},"call_type":{"type":"string","enum":["human"],"uniqueKey":"call_type","typeLabel":"enum\u003cstring>"},"user_id":{"type":"string","uniqueKey":"user_id","typeLabel":"string"},"transfer_enabled":{"type":"boolean","uniqueKey":"transfer_enabled","typeLabel":"boolean"},"transfers":{"type":"array","items":{"type":"object","required":["id","mode","status","to"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"transfers.items.[INDEX].id","typeLabel":"string"},"mode":{"type":"string","enum":["warm","cold"],"isRequired":true,"uniqueKey":"transfers.items.[INDEX].mode","typeLabel":"enum\u003cstring>"},"to":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"transfers.items.[INDEX].to.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"transfers.items.[INDEX].to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"transfers.items.[INDEX].to","typeLabel":"string | null"},"status":{"type":"string","enum":["holding","dialing","ready","completing","canceling","completed","canceled","failed"],"isRequired":true,"uniqueKey":"transfers.items.[INDEX].status","typeLabel":"enum\u003cstring>"}},"uniqueKey":"transfers.items.[INDEX]","typeLabel":"object"},"uniqueKey":"transfers","typeLabel":"object[]"},"use_case":{"type":"string","enum":["transactional","support","sales","collections","survey"],"uniqueKey":"use_case","typeLabel":"enum\u003cstring>"},"routing_profile":{"type":"string","enum":["quality_first","balanced","cost_optimized"],"uniqueKey":"routing_profile","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["queued","dispatching","ringing","in_progress","completed","failed","canceled","dispatch_unknown"],"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"attempt_count":{"type":"integer","minimum":0,"maximum":3,"uniqueKey":"attempt_count","typeLabel":"integer"},"max_attempts":{"type":"integer","minimum":1,"maximum":3,"uniqueKey":"max_attempts","typeLabel":"integer"},"failure_reason":{"oneOf":[{"type":"string","enum":["network_unavailable","congestion","timeout","no_answer","busy","rejected","invalid_number","identity_blocked","compliance_blocked","unknown",null],"uniqueKey":"failure_reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["network_unavailable","congestion","timeout","no_answer","busy","rejected","invalid_number","identity_blocked","compliance_blocked","unknown",null],"uniqueKey":"failure_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_reason","typeLabel":"enum\u003cstring> | null"},"created_at":{"type":"integer","description":"Unix ms.","uniqueKey":"created_at","typeLabel":"integer"},"updated_at":{"type":"integer","description":"Unix ms.","uniqueKey":"updated_at","typeLabel":"integer"},"answered_at":{"oneOf":[{"type":"integer","description":"Unix ms.","uniqueKey":"answered_at.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Unix ms.","uniqueKey":"answered_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"answered_at","typeLabel":"integer | null"},"ended_at":{"oneOf":[{"type":"integer","description":"Unix ms.","uniqueKey":"ended_at.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Unix ms.","uniqueKey":"ended_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"ended_at","typeLabel":"integer | null"},"artifacts":{"type":"object","description":"Post-call artifact and billing readiness. Included on the single-call detail response; pending until the media edge finalizes the call.","properties":{"status":{"type":"string","enum":["pending","ready","unavailable"],"uniqueKey":"artifacts.status","typeLabel":"enum\u003cstring>"},"omni_call_id":{"type":"string","uniqueKey":"artifacts.omni_call_id","typeLabel":"string"},"recording":{"type":"object","properties":{"status":{"type":"string","uniqueKey":"artifacts.recording.status","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","uniqueKey":"artifacts.recording.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"artifacts.recording.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"artifacts.recording.reason","typeLabel":"string | null"},"resource":{"oneOf":[{"type":"string","uniqueKey":"artifacts.recording.resource.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"artifacts.recording.resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"artifacts.recording.resource","typeLabel":"string | null"}},"uniqueKey":"artifacts.recording","typeLabel":"object"},"transcript":{"type":"object","properties":{"status":{"type":"string","uniqueKey":"artifacts.transcript.status","typeLabel":"string"},"text":{"oneOf":[{"type":"string","description":"Speaker-labelled transcript text when available inline.","uniqueKey":"artifacts.transcript.text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Speaker-labelled transcript text when available inline.","uniqueKey":"artifacts.transcript.text.oneOf.1","typeLabel":"null"}],"uniqueKey":"artifacts.transcript.text","typeLabel":"string | null"},"resource":{"oneOf":[{"type":"string","uniqueKey":"artifacts.transcript.resource.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"artifacts.transcript.resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"artifacts.transcript.resource","typeLabel":"string | null"}},"uniqueKey":"artifacts.transcript","typeLabel":"object"},"ai_usage":{"type":"object","description":"AI usage joined to the gateway ledger for every media session of this call. Pending until all evidence is present.","properties":{"status":{"type":"string","enum":["pending","recorded"],"uniqueKey":"artifacts.ai_usage.status","typeLabel":"enum\u003cstring>"},"meter":{"type":"string","example":"agents.minutes","uniqueKey":"artifacts.ai_usage.meter","typeLabel":"string"},"units":{"type":"number","uniqueKey":"artifacts.ai_usage.units","typeLabel":"number"},"billable_units":{"type":"number","uniqueKey":"artifacts.ai_usage.billable_units","typeLabel":"number"}},"uniqueKey":"artifacts.ai_usage","typeLabel":"object"},"usage":{"type":"object","properties":{"status":{"type":"string","enum":["pending","recorded"],"uniqueKey":"artifacts.usage.status","typeLabel":"enum\u003cstring>"},"meter":{"type":"string","example":"telephony.minutes","uniqueKey":"artifacts.usage.meter","typeLabel":"string"},"units":{"type":"number","uniqueKey":"artifacts.usage.units","typeLabel":"number"},"billable":{"type":"boolean","uniqueKey":"artifacts.usage.billable","typeLabel":"boolean"}},"uniqueKey":"artifacts.usage","typeLabel":"object"}},"uniqueKey":"artifacts","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"version":123,"project_id":"\u003cstring>","direction":"inbound","from":"\u003cstring>","destination_number_id":"\u003cstring>","admission_mode":"client","admission_status":"pending","admission_expires_at":123,"max_duration_seconds":123,"client_reference":"\u003cstring>","agent_release_id":"\u003cstring>","stop_requested":true,"object":"telephony.call","id":"tcall_...","from_number_id":"\u003cstring>","to":"+14155550123","dialing_mode":"parallel","destinations":["\u003cstring>"],"connected_to":"\u003cstring>","lines":[{"id":"\u003cstring>","to":"\u003cstring>","status":"pending","duration_seconds":1}],"agent_id":"\u003cstring>","call_type":"human","user_id":"\u003cstring>","transfer_enabled":true,"transfers":[{"id":"\u003cstring>","mode":"warm","to":"\u003cstring>","status":"holding"}],"use_case":"transactional","routing_profile":"quality_first","status":"queued","attempt_count":1,"max_attempts":2,"failure_reason":"network_unavailable","created_at":123,"updated_at":123,"answered_at":123,"ended_at":123,"artifacts":{"status":"pending","omni_call_id":"\u003cstring>","recording":{"status":"\u003cstring>","reason":"\u003cstring>","resource":"\u003cstring>"},"transcript":{"status":"\u003cstring>","text":"\u003cstring>","resource":"\u003cstring>"},"ai_usage":{"status":"pending","meter":"agents.minutes","units":123,"billable_units":123},"usage":{"status":"pending","meter":"telephony.minutes","units":123,"billable":true}}}}},"exampleType":"generated"}},"exampleType":"generated"},"3e2a1d78-6388-44f1-9447-27f8736c86a7":{"description":"Resource not found (`code: not_found`)","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 7807 problem+json returned by the control plane (request-validation and resource errors such as 400/404/409). The stable code is the last path segment of `type`.","required":["title","status"],"properties":{"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"type":{"type":"string","description":"Problem type URI; ends with the stable code.","uniqueKey":"type","typeLabel":"string"},"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"},"request_id":{"type":"string","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"title":"\u003cstring>","status":123,"type":"\u003cstring>","detail":"\u003cstring>","request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"afbc9463-ead5-4188-af0c-b39ed4c96d70":{"description":"Transfer cannot perform this action in its current state.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"2f2fb9f3-237b-45c6-b680-2bd245da66e1":{"apiKey":{"type":"http","scheme":"bearer","description":"Use `Authorization: Bearer pyai_live_...` (or `pyai_test_...`).","scopes":[],"schemeName":"apiKey"}},"26a65140-962f-4d88-90d8-f3c66b22fd4b":{"xApiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"Header alias for bearer auth on HTTP endpoints. WebSocket auth uses the subprotocol pair `pyai.v1, pyai-key.\u003cAPI_KEY>`.","scopes":[],"schemeName":"xApiKey"}}},"servers":{"fdad72bb-2f88-48dc-b664-fd3819fe37b1":{"url":"https://api.pyai.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Use `Authorization: Bearer pyai_live_...` (or `pyai_test_...`).","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Use `Authorization: Bearer pyai_live_...` (or `pyai_test_...`).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Header alias for bearer auth on HTTP endpoints. WebSocket auth uses the subprotocol pair `pyai.v1, pyai-key.\u003cAPI_KEY>`.","scopes":[],"schemeName":"xApiKey"},"schema":{"title":"x-api-key","type":"string","description":"Header alias for bearer auth on HTTP endpoints. WebSocket auth uses the subprotocol pair `pyai.v1, pyai-key.\u003cAPI_KEY>`.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"xApiKey","name":"x-api-key"}],"title":"xApiKey"}]},"originalFileLocation":"https://api.pyai.com/openapi.json"},"subdomain":"pyai","siteName":"PyAI Developers","title":"Cancel a warm transfer - PyAI Developers","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T06:34:05.857Z","originalFileLocation":"api-reference/telephony/cancel-a-warm-transfer.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=\"Stops the consultation and waits for verified terminal evidence before resuming the caller. Repeating this operation is safe.\">\u003cmeta data-mint-head name=\"application-name\" content=\"PyAI Developers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pyai/TcdC0S0vFDaCWV2B/_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/pyai/TcdC0S0vFDaCWV2B/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pyai/TcdC0S0vFDaCWV2B/_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/pyai/TcdC0S0vFDaCWV2B/_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/pyai/TcdC0S0vFDaCWV2B/_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/pyai/TcdC0S0vFDaCWV2B/_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/pyai/TcdC0S0vFDaCWV2B/_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/pyai/TcdC0S0vFDaCWV2B/_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/pyai/TcdC0S0vFDaCWV2B/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Cancel a warm transfer - PyAI Developers\">\u003cmeta data-mint-head property=\"og:description\" content=\"Stops the consultation and waits for verified terminal evidence before resuming the caller. Repeating this operation is safe.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PyAI Developers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.pyai.com/api-reference/telephony/cancel-a-warm-transfer\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://pyai.mintlify.app/_mintlify/api/og/v2?division=Telephony\u0026amp;title=Cancel+a+warm+transfer\u0026amp;description=Stops+the+consultation+and+waits+for+verified+terminal+evidence+before+resuming+the+caller.+Repeating+this+operation+is+safe.\u0026amp;theme=345b4136ed2cb0b69fa46bb0\u0026amp;signature=25765e54388eaff765453f30014b198cd78ed3fcd62ac6d34e95bed0da8201c9\">\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=\"Cancel a warm transfer - PyAI Developers\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Stops the consultation and waits for verified terminal evidence before resuming the caller. Repeating this operation is safe.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://pyai.mintlify.app/_mintlify/api/og/v2?division=Telephony\u0026amp;title=Cancel+a+warm+transfer\u0026amp;description=Stops+the+consultation+and+waits+for+verified+terminal+evidence+before+resuming+the+caller.+Repeating+this+operation+is+safe.\u0026amp;theme=345b4136ed2cb0b69fa46bb0\u0026amp;signature=25765e54388eaff765453f30014b198cd78ed3fcd62ac6d34e95bed0da8201c9\">\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/pyai/TcdC0S0vFDaCWV2B/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PyAI Developers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5B5BD6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.pyai.com/api-reference/telephony/cancel-a-warm-transfer\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/telephony/cancel-a-warm-transfer.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.pyai.com/#organization\",\"name\":\"PyAI Developers\",\"url\":\"https://docs.pyai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/pyai/WdY9MU3V1Ll4Gm-R/logo/light.svg?fit=max\u0026auto=format\u0026n=WdY9MU3V1Ll4Gm-R\u0026q=85\u0026s=c47abcf1c2ebb1a5b3d736c8048fe048\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.pyai.com#website\",\"name\":\"PyAI Developers\",\"url\":\"https://docs.pyai.com\",\"publisher\":{\"@id\":\"https://docs.pyai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.pyai.com/api-reference/telephony/cancel-a-warm-transfer#webpage\",\"url\":\"https://docs.pyai.com/api-reference/telephony/cancel-a-warm-transfer\",\"name\":\"Cancel a warm transfer\",\"description\":\"Stops the consultation and waits for verified terminal evidence before resuming the caller. Repeating this operation is safe.\",\"dateModified\":\"2026-10-27T06:34:05.857Z\",\"isPartOf\":{\"@id\":\"https://docs.pyai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.pyai.com/api-reference/telephony/cancel-a-warm-transfer#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.pyai.com/api-reference/telephony/cancel-a-warm-transfer#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Telephony\",\"item\":\"https://docs.pyai.com/api-reference/telephony/list-number-compliance-cases\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cancel a warm transfer\",\"item\":\"https://docs.pyai.com/api-reference/telephony/cancel-a-warm-transfer\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.pyai.com/api-reference/telephony/cancel-a-warm-transfer#apireference\",\"headline\":\"Cancel a warm transfer\",\"name\":\"Cancel a warm transfer\",\"description\":\"Stops the consultation and waits for verified terminal evidence before resuming the caller. Repeating this operation is safe.\",\"url\":\"https://docs.pyai.com/api-reference/telephony/cancel-a-warm-transfer\",\"mainEntityOfPage\":{\"@id\":\"https://docs.pyai.com/api-reference/telephony/cancel-a-warm-transfer#webpage\"},\"dateModified\":\"2026-10-27T06:34:05.857Z\",\"publisher\":{\"@id\":\"https://docs.pyai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.pyai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PyAI Developers\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"PyAI Developers","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/quickstart"}]},{"tab":"API reference","href":"/api-reference","groups":[{"group":"Omni","pages":[{"title":"Read the machine-readable Omni frame contract","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /omni-frames.json","href":"/api-reference/omni/read-the-machine-readable-omni-frame-contract"},{"title":"List Omni call records","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/omni/calls","href":"/api-reference/omni/list-omni-call-records"},{"title":"Get an Omni call record","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/omni/calls/{call_id}","href":"/api-reference/omni/get-an-omni-call-record"},{"title":"Download an Omni call recording","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/omni/calls/{call_id}/recording","href":"/api-reference/omni/download-an-omni-call-recording"},{"title":"Get an Omni call summary","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/omni/calls/{call_id}/summary","href":"/api-reference/omni/get-an-omni-call-summary"},{"title":"Get an Omni call transcript","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/omni/calls/{call_id}/transcript","href":"/api-reference/omni/get-an-omni-call-transcript"},{"title":"Mint an ephemeral Omni session token","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/omni/sessions","href":"/api-reference/omni/mint-an-ephemeral-omni-session-token"},{"title":"Open an Omni voice-agent session (WebSocket)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/omni","href":"/api-reference/omni/open-an-omni-voice-agent-session-websocket"}]},{"group":"MCP","pages":[{"title":"Discover PyAI MCP authorization","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /.well-known/oauth-protected-resource","href":"/api-reference/mcp/discover-pyai-mcp-authorization"},{"title":"Discover authorization for the MCP endpoint","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /.well-known/oauth-protected-resource/mcp","href":"/api-reference/mcp/discover-authorization-for-the-mcp-endpoint"},{"title":"Discover transcription and call-records connector authorization","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /.well-known/oauth-protected-resource/mcp/transcription","href":"/api-reference/mcp/discover-transcription-and-call-records-connector-authorization"},{"title":"Discover OAuth endpoints and S256 PKCE support","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /.well-known/oauth-authorization-server","href":"/api-reference/mcp/discover-oauth-endpoints-and-s256-pkce-support"},{"title":"Register an MCP OAuth public client","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/mcp/register","href":"/api-reference/mcp/register-an-mcp-oauth-public-client"},{"title":"Start browser OAuth consent","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /auth/mcp/authorize","href":"/api-reference/mcp/start-browser-oauth-consent"},{"title":"Exchange an authorization code or rotate a refresh token","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/mcp/token","href":"/api-reference/mcp/exchange-an-authorization-code-or-rotate-a-refresh-token"},{"title":"Revoke an MCP OAuth connection using a token","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/mcp/revoke","href":"/api-reference/mcp/revoke-an-mcp-oauth-connection-using-a-token"},{"title":"Transcription and existing call-records MCP endpoint","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /mcp/transcription","href":"/api-reference/mcp/transcription-and-existing-call-records-mcp-endpoint"},{"title":"PyAI MCP Streamable HTTP endpoint","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /mcp","href":"/api-reference/mcp/pyai-mcp-streamable-http-endpoint"}]},{"group":"Cast","pages":[{"title":"Poll a Cast narration render","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/cast/render_jobs/{job_id}","href":"/api-reference/cast/poll-a-cast-narration-render"},{"title":"Download completed Cast narration","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/cast/render_jobs/{job_id}/audio","href":"/api-reference/cast/download-completed-cast-narration"},{"title":"Get live Cast capabilities","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/cast/capabilities","href":"/api-reference/cast/get-live-cast-capabilities"},{"title":"Auto-direct a script","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/cast/direct","href":"/api-reference/cast/auto-direct-a-script"},{"title":"Preview one directed line","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/cast/speech","href":"/api-reference/cast/preview-one-directed-line"},{"title":"Create an asynchronous Cast render","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/cast/render_jobs","href":"/api-reference/cast/create-an-asynchronous-cast-render"}]},{"group":"Integrations","pages":[{"title":"Start a Vercel connection","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/vercel/start","href":"/api-reference/integrations/start-a-vercel-connection"},{"title":"Verify the Vercel authorization callback","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/vercel/exchange","href":"/api-reference/integrations/verify-the-vercel-authorization-callback"},{"title":"Read your existing Vercel connection","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /auth/vercel/configuration/{configurationId}","href":"/api-reference/integrations/read-your-existing-vercel-connection"},{"title":"Read Vercel connection status","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /auth/vercel/requests/{id}","href":"/api-reference/integrations/read-vercel-connection-status"},{"title":"List authorized Vercel projects","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /auth/vercel/requests/{id}/projects","href":"/api-reference/integrations/list-authorized-vercel-projects"},{"title":"Create and install a scoped PyAI project key","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/vercel/requests/{id}/connect","href":"/api-reference/integrations/create-and-install-a-scoped-pyai-project-key"},{"title":"Revoke this integration key and remove its environment variable","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/vercel/requests/{id}/disconnect","href":"/api-reference/integrations/revoke-this-integration-key-and-remove-its-environment-variable"},{"title":"Receive a signed Vercel lifecycle event","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/vercel/webhook","href":"/api-reference/integrations/receive-a-signed-vercel-lifecycle-event"},{"title":"List integration events","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/integrations/events","href":"/api-reference/integrations/list-integration-events"},{"title":"Subscribe a Zapier REST hook","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/integrations/zapier/hooks","href":"/api-reference/integrations/subscribe-a-zapier-rest-hook"},{"title":"Unsubscribe a Zapier REST hook","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/integrations/zapier/hooks/{id}","href":"/api-reference/integrations/unsubscribe-a-zapier-rest-hook"}]},{"group":"Dub","pages":[{"title":"Read editable dubbing passages","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/dub/jobs/{job_id}/editor","href":"/api-reference/dub/read-editable-dubbing-passages"},{"title":"Save transcript, translation and pronunciation edits","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json patch /v1/dub/jobs/{job_id}/editor","href":"/api-reference/dub/save-transcript-translation-and-pronunciation-edits"},{"title":"Regenerate selected passages as a new dub","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/dub/jobs/{job_id}/revisions","href":"/api-reference/dub/regenerate-selected-passages-as-a-new-dub"},{"title":"Export original or translated subtitles","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/dub/jobs/{job_id}/subtitles.{format}","href":"/api-reference/dub/export-original-or-translated-subtitles"},{"title":"Load the original audio for comparison","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/dub/jobs/{job_id}/source","href":"/api-reference/dub/load-the-original-audio-for-comparison"},{"title":"Dubbing availability and languages","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /healthz/dub","href":"/api-reference/dub/dubbing-availability-and-languages"},{"title":"Create a dubbing job","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/dub","href":"/api-reference/dub/create-a-dubbing-job"},{"title":"Get dubbing job status","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/dub/jobs/{job_id}","href":"/api-reference/dub/get-dubbing-job-status"},{"title":"Download dubbed audio","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/dub/jobs/{job_id}/audio","href":"/api-reference/dub/download-dubbed-audio"},{"title":"Download a dubbed video output","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/dub/jobs/{job_id}/video","href":"/api-reference/dub/download-a-dubbed-video-output"}]},{"group":"Trace","pages":[{"title":"Review an uploaded or pasted transcript","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /orgs/{orgId}/trace/uploads/{id}","href":"/api-reference/trace/review-an-uploaded-or-pasted-transcript"},{"title":"Get Trace config for an agent (or the org default)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/trace/config","href":"/api-reference/trace/get-trace-config-for-an-agent-or-the-org-default"},{"title":"Set Trace config for an agent (or the org default)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /v1/trace/config","href":"/api-reference/trace/set-trace-config-for-an-agent-or-the-org-default"},{"title":"List rule packs","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/trace/rule-packs","href":"/api-reference/trace/list-rule-packs"},{"title":"Upload a custom rule pack","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/trace/rule-packs","href":"/api-reference/trace/upload-a-custom-rule-pack"},{"title":"Get a rule pack","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/trace/rule-packs/{id}","href":"/api-reference/trace/get-a-rule-pack"},{"title":"List scanned interactions (scorecards)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/trace/interactions","href":"/api-reference/trace/list-scanned-interactions-scorecards"},{"title":"Get an interaction (the evidence view)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/trace/interactions/{id}","href":"/api-reference/trace/get-an-interaction-the-evidence-view"},{"title":"List violations (findings)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/trace/violations","href":"/api-reference/trace/list-violations-findings"},{"title":"List Tier-2 semantic findings","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/trace/findings","href":"/api-reference/trace/list-tier-2-semantic-findings"},{"title":"Compliance exposure summary","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/trace/exposure","href":"/api-reference/trace/compliance-exposure-summary"},{"title":"Export a privacy-minimized evidence snapshot","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/trace/evidence-snapshot","href":"/api-reference/trace/export-a-privacy-minimized-evidence-snapshot"}]},{"group":"Console creations","pages":[{"title":"Preview current creation rates","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /projects/{projectId}/studio/pricing/{product}","href":"/api-reference/console-creations/preview-current-creation-rates"},{"title":"Get background creation progress","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /projects/{projectId}/creation-jobs/{id}","href":"/api-reference/console-creations/get-background-creation-progress"},{"title":"Start a durable Speech or Transcription job","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /projects/{projectId}/creation-jobs/{id}","href":"/api-reference/console-creations/start-a-durable-speech-or-transcription-job"},{"title":"Restore a background transcription's original recording","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /projects/{projectId}/creation-jobs/{id}/input","href":"/api-reference/console-creations/restore-a-background-transcriptions-original-recording"},{"title":"Regenerate Dubbing passages and save the revision to My work","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /projects/{projectId}/dub/library/{id}/revisions","href":"/api-reference/console-creations/regenerate-dubbing-passages-and-save-the-revision-to-my-work"}]},{"group":"Identity","pages":[{"title":"Review a CLI login request","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /auth/cli/device","href":"/api-reference/identity/review-a-cli-login-request"},{"title":"Start browser login for the CLI","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/cli/device","href":"/api-reference/identity/start-browser-login-for-the-cli"},{"title":"Approve CLI access to a project","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/cli/device/approve","href":"/api-reference/identity/approve-cli-access-to-a-project"},{"title":"Deny a CLI login request","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/cli/device/deny","href":"/api-reference/identity/deny-a-cli-login-request"},{"title":"Poll and exchange an approved CLI login","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/cli/device/token","href":"/api-reference/identity/poll-and-exchange-an-approved-cli-login"},{"title":"Create an account and organization","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/signup","href":"/api-reference/identity/create-an-account-and-organization"},{"title":"Introspect the calling key (whoami)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/me","href":"/api-reference/identity/introspect-the-calling-key-whoami"}]},{"group":"Call Integrations","pages":[{"title":"Receive Aircall call events","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /public/integrations/calls/aircall/events","href":"/api-reference/call-integrations/receive-aircall-call-events"},{"title":"Receive Dialpad call events","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /public/integrations/calls/dialpad/events","href":"/api-reference/call-integrations/receive-dialpad-call-events"},{"title":"Receive JustCall completed-call events","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /public/integrations/calls/justcall/events","href":"/api-reference/call-integrations/receive-justcall-completed-call-events"}]},{"group":"Sandbox","pages":[{"title":"Mint a sandbox key (no auth)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/sandbox/keys","href":"/api-reference/sandbox/mint-a-sandbox-key-no-auth"}]},{"group":"Startup Program","pages":[{"title":"Apply to PyAI for Startups (no auth)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/startup-program/applications","href":"/api-reference/startup-program/apply-to-pyai-for-startups-no-auth"}]},{"group":"Models","pages":[{"title":"List available models","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/models","href":"/api-reference/models/list-available-models"}]},{"group":"Speech To Text (Hear)","pages":[{"title":"Transcribe audio","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/audio/transcriptions","href":"/api-reference/speech-to-text-hear/transcribe-audio"},{"title":"Stream transcription (WebSocket)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/audio/transcriptions/stream","href":"/api-reference/speech-to-text-hear/stream-transcription-websocket"},{"title":"Get stored Hear vocabulary","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/hear/vocabulary","href":"/api-reference/speech-to-text-hear/get-stored-hear-vocabulary"},{"title":"Set stored Hear vocabulary","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /v1/hear/vocabulary","href":"/api-reference/speech-to-text-hear/set-stored-hear-vocabulary"}]},{"group":"Text To Speech (Speak)","pages":[{"title":"Synthesize speech","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/audio/speech","href":"/api-reference/text-to-speech-speak/synthesize-speech"},{"title":"List voices","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/voices","href":"/api-reference/text-to-speech-speak/list-voices"},{"title":"Get a stock voice","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/voices/{id}","href":"/api-reference/text-to-speech-speak/get-a-stock-voice"},{"title":"Delete a designed voice","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/voices/{id}","href":"/api-reference/text-to-speech-speak/delete-a-designed-voice"},{"title":"Design a voice from a prompt","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/voice/design","href":"/api-reference/text-to-speech-speak/design-a-voice-from-a-prompt"},{"title":"Get design candidates","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/voice/design/{id}","href":"/api-reference/text-to-speech-speak/get-design-candidates"},{"title":"Preview a designed-voice candidate","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/voice/design/{id}/preview/{candidate_id}","href":"/api-reference/text-to-speech-speak/preview-a-designed-voice-candidate"},{"title":"Save a designed voice","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/voice/design/{id}/save","href":"/api-reference/text-to-speech-speak/save-a-designed-voice"}]},{"group":"Agents","pages":[{"title":"List agent profiles","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/agents","href":"/api-reference/agents/list-agent-profiles"},{"title":"Create an agent profile","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/agents","href":"/api-reference/agents/create-an-agent-profile"},{"title":"Get an agent","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/agents/{id}","href":"/api-reference/agents/get-an-agent"},{"title":"Update an agent","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/agents/{id}","href":"/api-reference/agents/update-an-agent"},{"title":"Delete an agent","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/agents/{id}","href":"/api-reference/agents/delete-an-agent"},{"title":"Bind tools to an agent","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /v1/agents/{id}/tools","href":"/api-reference/agents/bind-tools-to-an-agent"},{"title":"List tools","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/tools","href":"/api-reference/agents/list-tools"},{"title":"Create or update a custom tool","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/tools","href":"/api-reference/agents/create-or-update-a-custom-tool"},{"title":"Get a tool","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/tools/{id}","href":"/api-reference/agents/get-a-tool"},{"title":"Update a tool","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/tools/{id}","href":"/api-reference/agents/update-a-tool"},{"title":"Delete a custom tool","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/tools/{id}","href":"/api-reference/agents/delete-a-custom-tool"},{"title":"Test a tool configuration","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/tools/{id}/test","href":"/api-reference/agents/test-a-tool-configuration"},{"title":"List recent tool calls","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/tools/calls","href":"/api-reference/agents/list-recent-tool-calls"},{"title":"Get webhook signing secret status","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/webhooks/signing-secret","href":"/api-reference/agents/get-webhook-signing-secret-status"},{"title":"Mint or rotate the webhook signing secret","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/webhooks/signing-secret","href":"/api-reference/agents/mint-or-rotate-the-webhook-signing-secret"},{"title":"Bind knowledge bases to an agent","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /v1/agents/{id}/knowledgebases","href":"/api-reference/agents/bind-knowledge-bases-to-an-agent"},{"title":"Resolve a hosted website widget","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /public/widgets/{publicId}","href":"/api-reference/agents/resolve-a-hosted-website-widget"},{"title":"Mint a hosted widget voice session","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /public/widgets/{publicId}/session","href":"/api-reference/agents/mint-a-hosted-widget-voice-session"}]},{"group":"Clone","pages":[{"title":"List cloned voices","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/voice/clones","href":"/api-reference/clone/list-cloned-voices"},{"title":"Create a cloned voice","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/voice/clones","href":"/api-reference/clone/create-a-cloned-voice"},{"title":"Delete a cloned voice","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/voice/clones/{id}","href":"/api-reference/clone/delete-a-cloned-voice"}]},{"group":"Transcription Jobs","pages":[{"title":"List transcription jobs","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/transcription/jobs","href":"/api-reference/transcription-jobs/list-transcription-jobs"},{"title":"Create an async transcription job","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/transcription/jobs","href":"/api-reference/transcription-jobs/create-an-async-transcription-job"},{"title":"Get a transcription job","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/transcription/jobs/{id}","href":"/api-reference/transcription-jobs/get-a-transcription-job"},{"title":"Cancel a transcription job","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/transcription/jobs/{id}","href":"/api-reference/transcription-jobs/cancel-a-transcription-job"}]},{"group":"Recap","pages":[{"title":"Get Recap config","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/recap/config","href":"/api-reference/recap/get-recap-config"},{"title":"Update Recap config","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /v1/recap/config","href":"/api-reference/recap/update-recap-config"},{"title":"Get Recap CRM config","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/recap/crm-config","href":"/api-reference/recap/get-recap-crm-config"},{"title":"Update Recap CRM config","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /v1/recap/crm-config","href":"/api-reference/recap/update-recap-crm-config"},{"title":"List recap records","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/recap/calls","href":"/api-reference/recap/list-recap-records"},{"title":"Get a recap record","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/recap/calls/{call_id}","href":"/api-reference/recap/get-a-recap-record"},{"title":"Manually trigger recap for a call","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/recap/calls/{call_id}","href":"/api-reference/recap/manually-trigger-recap-for-a-call"},{"title":"Correct transcript speaker roles","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/recap/calls/{call_id}/transcript/roles","href":"/api-reference/recap/correct-transcript-speaker-roles"}]},{"group":"AMD","pages":[{"title":"Answering-machine detection (WebSocket)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/amd/stream","href":"/api-reference/amd/answering-machine-detection-websocket"},{"title":"Get AMD config","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/amd/config","href":"/api-reference/amd/get-amd-config"},{"title":"Set AMD config","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/amd/config","href":"/api-reference/amd/set-amd-config"},{"title":"List AMD decisions","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/amd/calls","href":"/api-reference/amd/list-amd-decisions"},{"title":"Get an AMD decision","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/amd/calls/{call_id}","href":"/api-reference/amd/get-an-amd-decision"}]},{"group":"Interpretation","pages":[{"title":"Open a two-person live interpretation session","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/audio/interpretations/stream","href":"/api-reference/interpretation/open-a-two-person-live-interpretation-session"},{"title":"Mint a browser interpretation token","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/audio/interpretations/sessions","href":"/api-reference/interpretation/mint-a-browser-interpretation-token"},{"title":"Create a customer call archive","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/audio/interpretations/recordings","href":"/api-reference/interpretation/create-a-customer-call-archive"},{"title":"Upload one party recording","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/interpretation-recordings/{recording_id}/audio","href":"/api-reference/interpretation/upload-one-party-recording"},{"title":"Save transcripts and finalize a call archive","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /auth/interpretation-recordings/{recording_id}/complete","href":"/api-reference/interpretation/save-transcripts-and-finalize-a-call-archive"},{"title":"List saved Translation calls","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/audio/interpretations/calls","href":"/api-reference/interpretation/list-saved-translation-calls"},{"title":"Read a saved Translation call","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/audio/interpretations/calls/{call_id}","href":"/api-reference/interpretation/read-a-saved-translation-call"},{"title":"Read original and translated transcripts","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/audio/interpretations/calls/{call_id}/transcript","href":"/api-reference/interpretation/read-original-and-translated-transcripts"},{"title":"Read Translation call and transfer events","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/audio/interpretations/calls/{call_id}/events","href":"/api-reference/interpretation/read-translation-call-and-transfer-events"},{"title":"Play or download a Translation recording","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/audio/interpretations/calls/{call_id}/recording","href":"/api-reference/interpretation/play-or-download-a-translation-recording"}]},{"group":"Knowledge Bases","pages":[{"title":"List knowledge bases","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/knowledgebases","href":"/api-reference/knowledge-bases/list-knowledge-bases"},{"title":"Create a knowledge base","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/knowledgebases","href":"/api-reference/knowledge-bases/create-a-knowledge-base"},{"title":"List org-default KB bindings","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/knowledgebases/default","href":"/api-reference/knowledge-bases/list-org-default-kb-bindings"},{"title":"Set org-default KB bindings","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /v1/knowledgebases/default","href":"/api-reference/knowledge-bases/set-org-default-kb-bindings"},{"title":"Get a knowledge base (with documents)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/knowledgebases/{id}","href":"/api-reference/knowledge-bases/get-a-knowledge-base-with-documents"},{"title":"Delete a knowledge base","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/knowledgebases/{id}","href":"/api-reference/knowledge-bases/delete-a-knowledge-base"},{"title":"Rename a knowledge base","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json patch /v1/knowledgebases/{id}","href":"/api-reference/knowledge-bases/rename-a-knowledge-base"},{"title":"List documents in a knowledge base","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/knowledgebases/{id}/documents","href":"/api-reference/knowledge-bases/list-documents-in-a-knowledge-base"},{"title":"Add a document (file, URL, or text)","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/knowledgebases/{id}/documents","href":"/api-reference/knowledge-bases/add-a-document-file-url-or-text"},{"title":"Crawl a public website into a knowledge base","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/knowledgebases/{id}/crawls","href":"/api-reference/knowledge-bases/crawl-a-public-website-into-a-knowledge-base"},{"title":"Remove a document","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/knowledgebases/{id}/documents/{docId}","href":"/api-reference/knowledge-bases/remove-a-document"},{"title":"Edit a pasted-text document","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json patch /v1/knowledgebases/{id}/documents/{docId}","href":"/api-reference/knowledge-bases/edit-a-pasted-text-document"},{"title":"Inspect a document's extracted content","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/knowledgebases/{id}/documents/{docId}/content","href":"/api-reference/knowledge-bases/inspect-a-documents-extracted-content"},{"title":"Retry document ingestion","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/knowledgebases/{id}/documents/{docId}/retry","href":"/api-reference/knowledge-bases/retry-document-ingestion"}]},{"group":"Telephony","pages":[{"title":"List number compliance cases","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/compliance-cases","href":"/api-reference/telephony/list-number-compliance-cases"},{"title":"Start a number compliance or porting case","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance-cases","href":"/api-reference/telephony/start-a-number-compliance-or-porting-case"},{"title":"Get a number compliance case","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/compliance-cases/{id}","href":"/api-reference/telephony/get-a-number-compliance-case"},{"title":"Compute the current blocking checklist","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance-cases/{id}/checklist","href":"/api-reference/telephony/compute-the-current-blocking-checklist"},{"title":"Create a short-lived document upload grant","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance-cases/{id}/uploads:grant","href":"/api-reference/telephony/create-a-short-lived-document-upload-grant"},{"title":"Register document upload metadata","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance-cases/{id}/uploads","href":"/api-reference/telephony/register-document-upload-metadata"},{"title":"Create a short-lived clean-document download grant","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance-cases/{id}/uploads/{uploadId}/download:grant","href":"/api-reference/telephony/create-a-short-lived-clean-document-download-grant"},{"title":"Run document extraction","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance-cases/{id}/extractions","href":"/api-reference/telephony/run-document-extraction"},{"title":"Correct an extracted field","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance-cases/{id}/corrections","href":"/api-reference/telephony/correct-an-extracted-field"},{"title":"Sign a required attestation","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance-cases/{id}/attestations","href":"/api-reference/telephony/sign-a-required-attestation"},{"title":"Human-approve and submit for network review","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance-cases/{id}/submit","href":"/api-reference/telephony/human-approve-and-submit-for-network-review"},{"title":"Cancel a number compliance case","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance-cases/{id}/cancel","href":"/api-reference/telephony/cancel-a-number-compliance-case"},{"title":"List normalized network status","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/compliance-cases/{id}/network-operations","href":"/api-reference/telephony/list-normalized-network-status"},{"title":"Search available numbers","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/available","href":"/api-reference/telephony/search-available-numbers"},{"title":"List your numbers","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/numbers","href":"/api-reference/telephony/list-your-numbers"},{"title":"Provision (buy) a number","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/numbers","href":"/api-reference/telephony/provision-buy-a-number"},{"title":"Read a saved number order","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/number-orders/{id}","href":"/api-reference/telephony/read-a-saved-number-order"},{"title":"Confirm a saved number order","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/number-orders/{id}/reconcile","href":"/api-reference/telephony/confirm-a-saved-number-order"},{"title":"Read an explicit managed inbound binding","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/numbers/{id}/inbound-binding","href":"/api-reference/telephony/read-an-explicit-managed-inbound-binding"},{"title":"Set an explicit managed inbound binding","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /v1/telephony/numbers/{id}/inbound-binding","href":"/api-reference/telephony/set-an-explicit-managed-inbound-binding"},{"title":"Route a number to an agent","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/numbers/{id}/assign","href":"/api-reference/telephony/route-a-number-to-an-agent"},{"title":"Release a number","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/telephony/numbers/{id}","href":"/api-reference/telephony/release-a-number"},{"title":"Get outbound compliance policy","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/compliance/policy","href":"/api-reference/telephony/get-outbound-compliance-policy"},{"title":"Configure outbound compliance policy","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json put /v1/telephony/compliance/policy","href":"/api-reference/telephony/configure-outbound-compliance-policy"},{"title":"Record destination consent","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance/consents","href":"/api-reference/telephony/record-destination-consent"},{"title":"Suppress an outbound destination","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/compliance/suppressions","href":"/api-reference/telephony/suppress-an-outbound-destination"},{"title":"List caller identity readiness","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/compliance/caller-identities","href":"/api-reference/telephony/list-caller-identity-readiness"},{"title":"Create a managed human calling session","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/browser-sessions","href":"/api-reference/telephony/create-a-managed-human-calling-session"},{"title":"Start a human call transfer","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/calls/{id}/transfers","href":"/api-reference/telephony/start-a-human-call-transfer"},{"title":"Complete a connected warm transfer","description":"Resumes the held caller only after the consultation target has joined, then removes the initiating browser. Repeating this operation is safe.","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/calls/{id}/transfers/{transfer_id}/complete","href":"/api-reference/telephony/complete-a-connected-warm-transfer"},{"title":"Cancel a warm transfer","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/calls/{id}/transfers/{transfer_id}/cancel","href":"/api-reference/telephony/cancel-a-warm-transfer"},{"title":"Read a private human-call recording","description":"Stream the recording through PyAI with the owning project's telephony:manage key. Raw storage and carrier URLs are never returned.","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/calls/{id}/recording","href":"/api-reference/telephony/read-a-private-human-call-recording"},{"title":"Erase a human-call recording","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/telephony/calls/{id}/recording","href":"/api-reference/telephony/erase-a-human-call-recording"},{"title":"List telephony calls","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/calls","href":"/api-reference/telephony/list-telephony-calls"},{"title":"Start an outbound agent call","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/calls","href":"/api-reference/telephony/start-an-outbound-agent-call"},{"title":"Decide a pending inbound admission","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/calls/{id}/admission","href":"/api-reference/telephony/decide-a-pending-inbound-admission"},{"title":"Request call termination","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/telephony/calls/{id}/hangup","href":"/api-reference/telephony/request-call-termination"},{"title":"Get an outbound call","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/telephony/calls/{id}","href":"/api-reference/telephony/get-an-outbound-call"}]},{"group":"WhatsApp","pages":[{"title":"List your WhatsApp numbers","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/whatsapp/numbers","href":"/api-reference/whatsapp/list-your-whatsapp-numbers"},{"title":"Register a WhatsApp Business number","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/whatsapp/numbers","href":"/api-reference/whatsapp/register-a-whatsapp-business-number"},{"title":"Get a WhatsApp number","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/whatsapp/numbers/{id}","href":"/api-reference/whatsapp/get-a-whatsapp-number"},{"title":"Release a WhatsApp number","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json delete /v1/whatsapp/numbers/{id}","href":"/api-reference/whatsapp/release-a-whatsapp-number"},{"title":"Route a WhatsApp number to an agent","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/whatsapp/numbers/{id}/assign","href":"/api-reference/whatsapp/route-a-whatsapp-number-to-an-agent"},{"title":"Enable or disable calling on a WhatsApp number","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/whatsapp/numbers/{id}/calling","href":"/api-reference/whatsapp/enable-or-disable-calling-on-a-whatsapp-number"},{"title":"Check call permission for a user","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/whatsapp/call-permissions","href":"/api-reference/whatsapp/check-call-permission-for-a-user"},{"title":"Ask a user for permission to call them","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/whatsapp/call-permissions","href":"/api-reference/whatsapp/ask-a-user-for-permission-to-call-them"},{"title":"List WhatsApp calls","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/whatsapp/calls","href":"/api-reference/whatsapp/list-whatsapp-calls"},{"title":"Place a WhatsApp call","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/whatsapp/calls","href":"/api-reference/whatsapp/place-a-whatsapp-call"},{"title":"Get a WhatsApp call","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json get /v1/whatsapp/calls/{id}","href":"/api-reference/whatsapp/get-a-whatsapp-call"},{"title":"Hang up a WhatsApp call","deprecated":null,"version":null,"openapi":"https://api.pyai.com/openapi.json post /v1/whatsapp/calls/{id}/terminate","href":"/api-reference/whatsapp/hang-up-a-whatsapp-call"}]}]}]},"title":"Cancel a warm transfer - PyAI Developers","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}