{ "success": false, "message": "That reference has already been used for a call that has finished. A reference is permanent — place the call again to get a new one.", "code": "REFERENCE_ALREADY_USED"}
Click-to-Call
Place Click-to-Call
Ring the agent on your own number, then the customer, then bridge them
{ "success": false, "message": "That reference has already been used for a call that has finished. A reference is permanent — place the call again to get a new one.", "code": "REFERENCE_ALREADY_USED"}
One request places a two-leg call: the agent is dialled first on your DID, and only when they answer is the customer dialled and the legs bridged. Both legs present your DID as the caller ID.Requires a provisioned trunk (Gate T), a number assigned to that trunk, and a positive wallet balance. See the Click-to-Call guide for the full flow.
A reference_id is permanent, and a failed call still consumes it. Omit the field and one is minted per call, which is what you want unless you’re deliberately making a request repeatable. To retry after a call that rang out, place a new call with a new reference.
16–256 characters you choose. Required whenever callback_url is sent — it is the HMAC key your endpoint verifies x-qcall-signature against. Encrypted at rest and never returned; only its last four characters are readable afterwards.
201 Created — a call was admitted and the agent is being dialled.200 OK — this reference_id was already bound to a live call. The original call is returned and nothing new was dialled.The bodies are identical, so branch on data.placed / data.replayed rather than on the shape.
Carrier line is down; your number and balance are fine
503
C2C_NOT_CONFIGURED
Click-to-call isn’t set up on the server
503
C2C_CALLBACK_UNREACHABLE
The server’s results address isn’t reachable from the internet
504
C2C_OUTCOME_UNKNOWN
No answer from the platform — check the agent’s phone before retrying
Failures return { "success": false, "message": "...", "code": "..." }, plus request_id when the refusal came from the call platform (log it — it’s the handle support traces on) and retry_after in seconds on 429/503.
429 and 503 also carry a Retry-After header. A refused request never placed a call and never consumed its reference_id, so it is safe to retry with the same one.
{ "success": false, "message": "That reference has already been used for a call that has finished. A reference is permanent — place the call again to get a new one.", "code": "REFERENCE_ALREADY_USED"}
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"60db","colors":{"primary":"#4A3228","light":"#F5EFE8","dark":"#4A3228"},"logo":{"light":"https://mintcdn.com/60db-c848165a/83Hv-Y-hnK8ZdMCS/logo/60db-logo.svg?fit=max\u0026auto=format\u0026n=83Hv-Y-hnK8ZdMCS\u0026q=85\u0026s=7334adf60f84684685b34f6455a5a071","dark":"https://mintcdn.com/60db-c848165a/83Hv-Y-hnK8ZdMCS/logo/60db-logo-dark.svg?fit=max\u0026auto=format\u0026n=83Hv-Y-hnK8ZdMCS\u0026q=85\u0026s=2912d99ca05c091678a2f08253d2bf5e"},"favicon":"https://mintcdn.com/60db-c848165a/83Hv-Y-hnK8ZdMCS/logo/60db-logo.svg?fit=max\u0026auto=format\u0026n=83Hv-Y-hnK8ZdMCS\u0026q=85\u0026s=7334adf60f84684685b34f6455a5a071","api":{"playground":{"display":"interactive"},"mdx":{"auth":{"method":"bearer"},"server":"https://api.60db.ai"}},"background":{"color":{"light":"#F5EFE8","dark":"#4A3228"}},"navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.60db.ai"}},"footer":{"socials":{"twitter":"https://x.com/60dbAi","github":"https://github.com/60db-ai","linkedin":"https://www.linkedin.com/company/60-db"}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","icon":"book-open-cover","href":"https://app.60db.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"60db-c848165a","hasAudioNarration":false,"actualSubdomain":"60db-c848165a","customDomains":["docs.60db.ai"],"gitSource":{"type":"github","owner":"60db-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6aedd286cc98a9ae37e11590","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Reference","count":139},{"language":"default","tag":"Documentation","count":26},{"language":"default","tag":"Dialer","count":25},{"language":"default","tag":"Agents","count":24},{"language":"default","tag":"CLI Reference","count":23},{"language":"default","tag":"Core Features","count":20},{"language":"default","tag":"MCP Server","count":19},{"language":"default","tag":"Judge","count":14},{"language":"default","tag":"CLI Commands","count":13},{"language":"default","tag":"Music","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"rbac-expansion","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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/click2call/place-call","slug":"/api-reference/click2call/place-call","pageMetadata":{"title":"Place Click-to-Call","api":"POST /dialer/click2call","description":"Ring the agent on your own number, then the customer, then bridge them","href":"/api-reference/click2call/place-call"},"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: \"Ring the agent on your own number, then the customer, then bridge them\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Expandable,Heading,Note,ParamField,ResponseField,Table,Warning}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`One request places a two-leg call: the `,_jsx(_components.strong,{children:`agent`}),` is dialled first on your DID, and only when they answer is the `,_jsx(_components.strong,{children:`customer`}),` dialled and the legs bridged. Both legs present your DID as the caller ID.`]}),`\n`,_jsxs(_components.p,{children:[`Requires a provisioned trunk (Gate T), a number assigned to that trunk, and a positive wallet balance. See the `,_jsx(_components.a,{href:`/features/click-to-call`,children:`Click-to-Call guide`}),` for the full flow.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`A `,_jsx(_components.code,{children:`reference_id`}),` is permanent, and a failed call still consumes it.`]}),` Omit the field and one is minted per call, which is what you want unless you’re deliberately making a request repeatable. To retry after a call that rang out, place a `,_jsx(_components.strong,{children:`new`}),` call with a `,_jsx(_components.strong,{children:`new`}),` reference.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(Heading,{level:`3`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`Authorization`,type:`string`,required:true,id:`param-authorization`,children:_jsx(_components.p,{children:`Bearer token with your API key`})}),`\n`,_jsx(Heading,{level:`3`,id:`body`,children:`Body`}),`\n`,_jsx(ParamField,{body:`agent_number`,type:`string`,required:true,id:`param-agent-number`,children:_jsxs(_components.p,{children:[`The person dialled `,_jsx(_components.strong,{children:`first`}),`. Indian mobile number as `,_jsx(_components.code,{children:`+919812345678`}),`, `,_jsx(_components.code,{children:`919812345678`}),` or `,_jsx(_components.code,{children:`9812345678`}),`. Spaces, hyphens, dots and brackets are stripped.`]})}),`\n`,_jsx(ParamField,{body:`customer_number`,type:`string`,required:true,id:`param-customer-number`,children:_jsxs(_components.p,{children:[`Dialled once the agent answers. Must differ from `,_jsx(_components.code,{children:`agent_number`}),`.`]})}),`\n`,_jsx(ParamField,{body:`did`,type:`string`,id:`param-did`,children:_jsxs(_components.p,{children:[`The caller ID presented on `,_jsx(_components.strong,{children:`both`}),` legs. Must be a number assigned to your workspace and to `,_jsx(_components.code,{children:`outbound_trunk_id`}),`. Defaults to your trunk’s saved caller ID.`]})}),`\n`,_jsx(ParamField,{body:`outbound_trunk_id`,type:`string`,id:`param-outbound-trunk-id`,children:_jsx(_components.p,{children:`UUID of the outbound trunk to place the call over. Defaults to your workspace’s active trunk.`})}),`\n`,_jsx(ParamField,{body:`reference_id`,type:`string`,id:`param-reference-id`,children:_jsxs(_components.p,{children:[`Your idempotency key, unique per trunk. 1–128 characters of `,_jsx(_components.code,{children:`A-Za-z0-9._:-`}),`. `,_jsxs(_components.strong,{children:[`Minted for you (`,_jsx(_components.code,{children:`qc2c-\u003cuuid>`}),`) when omitted.`]})]})}),`\n`,_jsx(ParamField,{body:`callback_url`,type:`string`,id:`param-callback-url`,children:_jsxs(_components.p,{children:[`Public HTTPS URL that this call’s events are relayed to. Requires `,_jsx(_components.code,{children:`callback_secret`}),`. Private, loopback, link-local and CGNAT addresses are rejected.`]})}),`\n`,_jsx(ParamField,{body:`callback_secret`,type:`string`,id:`param-callback-secret`,children:_jsxs(_components.p,{children:[`16–256 characters you choose. Required whenever `,_jsx(_components.code,{children:`callback_url`}),` is sent — it is the HMAC key your endpoint verifies `,_jsx(_components.code,{children:`x-qcall-signature`}),` against. Encrypted at rest and never returned; only its last four characters are readable afterwards.`]})}),`\n`,_jsx(ParamField,{body:`agent_ring_timeout`,type:`integer`,default:`30`,id:`param-agent-ring-timeout`,children:_jsxs(_components.p,{children:[`Seconds to ring the agent. `,_jsx(_components.code,{children:`5`}),`–`,_jsx(_components.code,{children:`60`}),`.`]})}),`\n`,_jsx(ParamField,{body:`customer_ring_timeout`,type:`integer`,default:`45`,id:`param-customer-ring-timeout`,children:_jsxs(_components.p,{children:[`Seconds to ring the customer. `,_jsx(_components.code,{children:`5`}),`–`,_jsx(_components.code,{children:`60`}),`.`]})}),`\n`,_jsx(ParamField,{body:`max_duration`,type:`integer`,default:`3600`,id:`param-max-duration`,children:_jsxs(_components.p,{children:[`Maximum seconds of bridged talk time. `,_jsx(_components.code,{children:`30`}),`–`,_jsx(_components.code,{children:`7200`}),`.`]})}),`\n`,_jsx(ParamField,{body:`record`,type:`boolean`,default:`false`,id:`param-record`,children:_jsxs(_components.p,{children:[`Record the bridged conversation. Audio is uploaded `,_jsx(_components.strong,{children:`after`}),` the call ends — poll the call with `,_jsx(_components.code,{children:`?refresh=1`}),`, then mint a playback URL.`]})}),`\n`,_jsx(ParamField,{body:`metadata`,type:`object`,id:`param-metadata`,children:_jsx(_components.p,{children:`Arbitrary JSON object echoed back on the call and in every webhook. At most 2048 bytes serialised, no NUL characters.`})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`201 Created`}),` — a call was admitted and the agent is being dialled.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`200 OK`}),` — this `,_jsx(_components.code,{children:`reference_id`}),` was already bound to a live call. The original call is returned and `,_jsx(_components.strong,{children:`nothing new was dialled`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The bodies are identical, so branch on `,_jsx(_components.code,{children:`data.placed`}),` / `,_jsx(_components.code,{children:`data.replayed`}),` rather than on the shape.`]}),`\n`,_jsx(ResponseField,{name:`placed`,type:`boolean`,id:`param-placed`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when a new call was dialled (201)`]})}),`\n`,_jsx(ResponseField,{name:`replayed`,type:`boolean`,id:`param-replayed`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when an existing call was returned and nothing was dialled (200)`]})}),`\n`,_jsx(ResponseField,{name:`call`,type:`object`,id:`param-call`,children:_jsxs(Expandable,{title:`properties`,children:[_jsx(ResponseField,{name:`call_id`,type:`string`,id:`param-call-id`,children:`Platform call id. Use it to poll, list events and mint recordings`}),_jsx(ResponseField,{name:`reference_id`,type:`string`,id:`param-reference-id-1`,children:`Your idempotency key, or the one minted for you`}),_jsx(ResponseField,{name:`outbound_trunk_id`,type:`string`,id:`param-outbound-trunk-id-1`,children:`The trunk this call rides`}),_jsxs(ResponseField,{name:`did`,type:`string`,id:`param-did-1`,children:[`Caller ID presented on both legs, `,_jsx(_components.code,{children:`+E.164`})]}),_jsx(ResponseField,{name:`agent_number`,type:`string`,id:`param-agent-number-1`,children:_jsx(_components.code,{children:`+E.164`})}),_jsx(ResponseField,{name:`customer_number`,type:`string`,id:`param-customer-number-1`,children:_jsx(_components.code,{children:`+E.164`})}),_jsxs(ResponseField,{name:`state`,type:`string`,id:`param-state`,children:[_jsx(_components.code,{children:`pending`}),`, `,_jsx(_components.code,{children:`initiated`}),`, `,_jsx(_components.code,{children:`bridged`}),`, `,_jsx(_components.code,{children:`completed`}),`, `,_jsx(_components.code,{children:`failed`}),`, `,_jsx(_components.code,{children:`rejected`}),` or `,_jsx(_components.code,{children:`unknown`})]}),_jsxs(ResponseField,{name:`call_done`,type:`boolean`,id:`param-call-done`,children:[_jsx(_components.code,{children:`true`}),` once the outcome is final`]}),_jsxs(ResponseField,{name:`terminal_event`,type:`string | null`,id:`param-terminal-event`,children:[_jsx(_components.code,{children:`call.completed`}),`, `,_jsx(_components.code,{children:`call.not_answered`}),`, `,_jsx(_components.code,{children:`call.failed`}),` or `,_jsx(_components.code,{children:`call.temporaryfailed`})]}),_jsxs(ResponseField,{name:`hangup_cause`,type:`string | null`,id:`param-hangup-cause`,children:[`e.g. `,_jsx(_components.code,{children:`NORMAL_CLEARING`}),`, `,_jsx(_components.code,{children:`NO_ANSWER`}),`, `,_jsx(_components.code,{children:`USER_BUSY`}),`, `,_jsx(_components.code,{children:`MAX_DURATION`})]}),_jsxs(ResponseField,{name:`leg`,type:`string | null`,id:`param-leg`,children:[`On failures: `,_jsx(_components.code,{children:`agent`}),` or `,_jsx(_components.code,{children:`customer`}),` — which side failed`]}),_jsx(ResponseField,{name:`error`,type:`string | null`,id:`param-error`,children:`Machine-readable failure code, if any`}),_jsx(ResponseField,{name:`error_detail`,type:`string | null`,id:`param-error-detail`,children:`Human-readable detail for that failure`}),_jsx(ResponseField,{name:`talk_seconds`,type:`integer | null`,id:`param-talk-seconds`,children:`Bridged talk time. This is what gets billed`}),_jsx(ResponseField,{name:`total_seconds`,type:`integer | null`,id:`param-total-seconds`,children:`Seconds from admission to the end of the call`}),_jsx(ResponseField,{name:`start_time`,type:`string | null`,id:`param-start-time`,children:`ISO 8601`}),_jsxs(ResponseField,{name:`answer_time`,type:`string | null`,id:`param-answer-time`,children:[`ISO 8601. When the legs were bridged; `,_jsx(_components.code,{children:`null`}),` until then`]}),_jsx(ResponseField,{name:`end_time`,type:`string | null`,id:`param-end-time`,children:`ISO 8601. Present once the call has ended`}),_jsx(ResponseField,{name:`metadata`,type:`object | null`,id:`param-metadata-1`,children:`Exactly what you sent`}),_jsx(ResponseField,{name:`record_requested`,type:`boolean`,id:`param-record-requested`,children:`Whether this call asked to be recorded`}),_jsx(ResponseField,{name:`recording_id`,type:`string | null`,id:`param-recording-id`,children:`Opaque id, once the platform has produced one`}),_jsxs(ResponseField,{name:`recording_status`,type:`string | null`,id:`param-recording-status`,children:[`e.g. `,_jsx(_components.code,{children:`uploaded`})]}),_jsxs(ResponseField,{name:`recording_available`,type:`boolean`,id:`param-recording-available`,children:[_jsx(_components.code,{children:`true`}),` when a playback URL can be minted`]}),_jsx(ResponseField,{name:`callback_url`,type:`string | null`,id:`param-callback-url-1`,children:`Where this call’s events are relayed`}),_jsx(ResponseField,{name:`callback_secret_last4`,type:`string | null`,id:`param-callback-secret-last4`,children:`Last four characters of the stored signing secret — enough to tell which secret we hold, never enough to sign with`}),_jsx(ResponseField,{name:`cost_usd`,type:`number | null`,id:`param-cost-usd`,children:`What this call cost, in USD`}),_jsxs(ResponseField,{name:`billing_status`,type:`string | null`,id:`param-billing-status`,children:[_jsx(_components.code,{children:`billed`}),`, `,_jsx(_components.code,{children:`failed`}),`, or `,_jsx(_components.code,{children:`null`}),` when nothing was owed`]}),_jsxs(ResponseField,{name:`placed_via`,type:`string`,id:`param-placed-via`,children:[_jsx(_components.code,{children:`api_key`}),` or `,_jsx(_components.code,{children:`session`})]}),_jsx(ResponseField,{name:`api_key_id`,type:`integer | null`,id:`param-api-key-id`,children:`Which API key placed the call`}),_jsx(ResponseField,{name:`api_key_name`,type:`string | null`,id:`param-api-key-name`,children:`That key’s name, snapshotted so a revoked key still explains its charges`}),_jsx(ResponseField,{name:`created_by_user_id`,type:`integer | null`,id:`param-created-by-user-id`,children:`Who placed it`}),_jsx(ResponseField,{name:`created_at`,type:`string`,id:`param-created-at`,children:`ISO 8601`})]})}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_NUMBER`})}),_jsx(_components.td,{children:`A number isn’t a valid Indian mobile number`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`SAME_NUMBER`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`agent_number`}),` and `,_jsx(_components.code,{children:`customer_number`}),` are the same`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_RING_TIMEOUT`})}),_jsx(_components.td,{children:`Ring timeout outside 5–60 s`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_MAX_DURATION`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`max_duration`}),` outside 30–7200 s`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_RECORD`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`record`}),` isn’t a boolean`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_METADATA`})}),_jsx(_components.td,{children:`Not an object, over 2 KiB, or contains NUL`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_REFERENCE`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`reference_id`}),` fails the character/length rule`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_CALLBACK_URL`})}),_jsx(_components.td,{children:`Not HTTPS, or not publicly resolvable`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_CALLBACK_SECRET`})}),_jsx(_components.td,{children:`Missing, or outside 16–256 characters`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`402`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`RECHARGE_REQUIRED`})}),_jsxs(_components.td,{children:[`Wallet balance is `,_jsx(_components.code,{children:`0`}),` or less`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`403`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CALLER_ID_NOT_OWNED`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`did`}),` isn’t assigned to this workspace`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`403`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`destination_not_allowed`})}),_jsx(_components.td,{children:`A number is outside your permitted prefixes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`404`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`REFERENCE_NOT_OWNED`})}),_jsx(_components.td,{children:`That reference belongs to another workspace`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`409`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`DIALER_NOT_PROVISIONED`})}),_jsx(_components.td,{children:`Trunk not set up (Gate T)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`409`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`REFERENCE_ALREADY_USED`})}),_jsx(_components.td,{children:`The reference is spent — place a new call`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`429`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`C2C_RATE_LIMITED`})}),_jsx(_components.td,{children:`More than 20 calls placed in the last minute`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`429`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`no_free_channel`})}),_jsxs(_components.td,{children:[`Platform capacity exhausted. Honour `,_jsx(_components.code,{children:`Retry-After`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`503`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CARRIER_LINE_DOWN`})}),_jsx(_components.td,{children:`Carrier line is down; your number and balance are fine`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`503`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`C2C_NOT_CONFIGURED`})}),_jsx(_components.td,{children:`Click-to-call isn’t set up on the server`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`503`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`C2C_CALLBACK_UNREACHABLE`})}),_jsx(_components.td,{children:`The server’s results address isn’t reachable from the internet`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`504`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`C2C_OUTCOME_UNKNOWN`})}),_jsxs(_components.td,{children:[`No answer from the platform — `,_jsx(_components.strong,{children:`check the agent’s phone before retrying`})]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Failures return `,_jsx(_components.code,{children:`{ \"success\": false, \"message\": \"...\", \"code\": \"...\" }`}),`, plus `,_jsx(_components.code,{children:`request_id`}),` when the refusal came from the call platform (`,_jsx(_components.strong,{children:`log it`}),` — it’s the handle support traces on) and `,_jsx(_components.code,{children:`retry_after`}),` in seconds on `,_jsx(_components.code,{children:`429`}),`/`,_jsx(_components.code,{children:`503`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`429`}),` and `,_jsx(_components.code,{children:`503`}),` also carry a `,_jsx(_components.code,{children:`Retry-After`}),` header. A refused request never placed a call and never consumed its `,_jsx(_components.code,{children:`reference_id`}),`, so it is safe to retry with the same one.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Place Click-to-Call","api":"POST /dialer/click2call","description":"Ring the agent on your own number, then the customer, then bridge them","href":"/api-reference/click2call/place-call"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,Note,ParamField,RequestExample,ResponseExample,ResponseField,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`One request places a two-leg call: the `,_jsx(_components.strong,{children:`agent`}),` is dialled first on your DID, and only when they answer is the `,_jsx(_components.strong,{children:`customer`}),` dialled and the legs bridged. Both legs present your DID as the caller ID.`]}),`\n`,_jsxs(_components.p,{children:[`Requires a provisioned trunk (Gate T), a number assigned to that trunk, and a positive wallet balance. See the `,_jsx(_components.a,{href:`/features/click-to-call`,children:`Click-to-Call guide`}),` for the full flow.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`A `,_jsx(_components.code,{children:`reference_id`}),` is permanent, and a failed call still consumes it.`]}),` Omit the field and one is minted per call, which is what you want unless you’re deliberately making a request repeatable. To retry after a call that rang out, place a `,_jsx(_components.strong,{children:`new`}),` call with a `,_jsx(_components.strong,{children:`new`}),` reference.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(Heading,{level:`3`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`Authorization`,type:`string`,required:true,id:`param-authorization`,children:_jsx(_components.p,{children:`Bearer token with your API key`})}),`\n`,_jsx(Heading,{level:`3`,id:`body`,children:`Body`}),`\n`,_jsx(ParamField,{body:`agent_number`,type:`string`,required:true,id:`param-agent-number`,children:_jsxs(_components.p,{children:[`The person dialled `,_jsx(_components.strong,{children:`first`}),`. Indian mobile number as `,_jsx(_components.code,{children:`+919812345678`}),`, `,_jsx(_components.code,{children:`919812345678`}),` or `,_jsx(_components.code,{children:`9812345678`}),`. Spaces, hyphens, dots and brackets are stripped.`]})}),`\n`,_jsx(ParamField,{body:`customer_number`,type:`string`,required:true,id:`param-customer-number`,children:_jsxs(_components.p,{children:[`Dialled once the agent answers. Must differ from `,_jsx(_components.code,{children:`agent_number`}),`.`]})}),`\n`,_jsx(ParamField,{body:`did`,type:`string`,id:`param-did`,children:_jsxs(_components.p,{children:[`The caller ID presented on `,_jsx(_components.strong,{children:`both`}),` legs. Must be a number assigned to your workspace and to `,_jsx(_components.code,{children:`outbound_trunk_id`}),`. Defaults to your trunk’s saved caller ID.`]})}),`\n`,_jsx(ParamField,{body:`outbound_trunk_id`,type:`string`,id:`param-outbound-trunk-id`,children:_jsx(_components.p,{children:`UUID of the outbound trunk to place the call over. Defaults to your workspace’s active trunk.`})}),`\n`,_jsx(ParamField,{body:`reference_id`,type:`string`,id:`param-reference-id`,children:_jsxs(_components.p,{children:[`Your idempotency key, unique per trunk. 1–128 characters of `,_jsx(_components.code,{children:`A-Za-z0-9._:-`}),`. `,_jsxs(_components.strong,{children:[`Minted for you (`,_jsx(_components.code,{children:`qc2c-\u003cuuid>`}),`) when omitted.`]})]})}),`\n`,_jsx(ParamField,{body:`callback_url`,type:`string`,id:`param-callback-url`,children:_jsxs(_components.p,{children:[`Public HTTPS URL that this call’s events are relayed to. Requires `,_jsx(_components.code,{children:`callback_secret`}),`. Private, loopback, link-local and CGNAT addresses are rejected.`]})}),`\n`,_jsx(ParamField,{body:`callback_secret`,type:`string`,id:`param-callback-secret`,children:_jsxs(_components.p,{children:[`16–256 characters you choose. Required whenever `,_jsx(_components.code,{children:`callback_url`}),` is sent — it is the HMAC key your endpoint verifies `,_jsx(_components.code,{children:`x-qcall-signature`}),` against. Encrypted at rest and never returned; only its last four characters are readable afterwards.`]})}),`\n`,_jsx(ParamField,{body:`agent_ring_timeout`,type:`integer`,default:`30`,id:`param-agent-ring-timeout`,children:_jsxs(_components.p,{children:[`Seconds to ring the agent. `,_jsx(_components.code,{children:`5`}),`–`,_jsx(_components.code,{children:`60`}),`.`]})}),`\n`,_jsx(ParamField,{body:`customer_ring_timeout`,type:`integer`,default:`45`,id:`param-customer-ring-timeout`,children:_jsxs(_components.p,{children:[`Seconds to ring the customer. `,_jsx(_components.code,{children:`5`}),`–`,_jsx(_components.code,{children:`60`}),`.`]})}),`\n`,_jsx(ParamField,{body:`max_duration`,type:`integer`,default:`3600`,id:`param-max-duration`,children:_jsxs(_components.p,{children:[`Maximum seconds of bridged talk time. `,_jsx(_components.code,{children:`30`}),`–`,_jsx(_components.code,{children:`7200`}),`.`]})}),`\n`,_jsx(ParamField,{body:`record`,type:`boolean`,default:`false`,id:`param-record`,children:_jsxs(_components.p,{children:[`Record the bridged conversation. Audio is uploaded `,_jsx(_components.strong,{children:`after`}),` the call ends — poll the call with `,_jsx(_components.code,{children:`?refresh=1`}),`, then mint a playback URL.`]})}),`\n`,_jsx(ParamField,{body:`metadata`,type:`object`,id:`param-metadata`,children:_jsx(_components.p,{children:`Arbitrary JSON object echoed back on the call and in every webhook. At most 2048 bytes serialised, no NUL characters.`})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`201 Created`}),` — a call was admitted and the agent is being dialled.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`200 OK`}),` — this `,_jsx(_components.code,{children:`reference_id`}),` was already bound to a live call. The original call is returned and `,_jsx(_components.strong,{children:`nothing new was dialled`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The bodies are identical, so branch on `,_jsx(_components.code,{children:`data.placed`}),` / `,_jsx(_components.code,{children:`data.replayed`}),` rather than on the shape.`]}),`\n`,_jsx(ResponseField,{name:`placed`,type:`boolean`,id:`param-placed`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when a new call was dialled (201)`]})}),`\n`,_jsx(ResponseField,{name:`replayed`,type:`boolean`,id:`param-replayed`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when an existing call was returned and nothing was dialled (200)`]})}),`\n`,_jsx(ResponseField,{name:`call`,type:`object`,id:`param-call`,children:_jsxs(Expandable,{title:`properties`,children:[_jsx(ResponseField,{name:`call_id`,type:`string`,id:`param-call-id`,children:`Platform call id. Use it to poll, list events and mint recordings`}),_jsx(ResponseField,{name:`reference_id`,type:`string`,id:`param-reference-id-1`,children:`Your idempotency key, or the one minted for you`}),_jsx(ResponseField,{name:`outbound_trunk_id`,type:`string`,id:`param-outbound-trunk-id-1`,children:`The trunk this call rides`}),_jsxs(ResponseField,{name:`did`,type:`string`,id:`param-did-1`,children:[`Caller ID presented on both legs, `,_jsx(_components.code,{children:`+E.164`})]}),_jsx(ResponseField,{name:`agent_number`,type:`string`,id:`param-agent-number-1`,children:_jsx(_components.code,{children:`+E.164`})}),_jsx(ResponseField,{name:`customer_number`,type:`string`,id:`param-customer-number-1`,children:_jsx(_components.code,{children:`+E.164`})}),_jsxs(ResponseField,{name:`state`,type:`string`,id:`param-state`,children:[_jsx(_components.code,{children:`pending`}),`, `,_jsx(_components.code,{children:`initiated`}),`, `,_jsx(_components.code,{children:`bridged`}),`, `,_jsx(_components.code,{children:`completed`}),`, `,_jsx(_components.code,{children:`failed`}),`, `,_jsx(_components.code,{children:`rejected`}),` or `,_jsx(_components.code,{children:`unknown`})]}),_jsxs(ResponseField,{name:`call_done`,type:`boolean`,id:`param-call-done`,children:[_jsx(_components.code,{children:`true`}),` once the outcome is final`]}),_jsxs(ResponseField,{name:`terminal_event`,type:`string | null`,id:`param-terminal-event`,children:[_jsx(_components.code,{children:`call.completed`}),`, `,_jsx(_components.code,{children:`call.not_answered`}),`, `,_jsx(_components.code,{children:`call.failed`}),` or `,_jsx(_components.code,{children:`call.temporaryfailed`})]}),_jsxs(ResponseField,{name:`hangup_cause`,type:`string | null`,id:`param-hangup-cause`,children:[`e.g. `,_jsx(_components.code,{children:`NORMAL_CLEARING`}),`, `,_jsx(_components.code,{children:`NO_ANSWER`}),`, `,_jsx(_components.code,{children:`USER_BUSY`}),`, `,_jsx(_components.code,{children:`MAX_DURATION`})]}),_jsxs(ResponseField,{name:`leg`,type:`string | null`,id:`param-leg`,children:[`On failures: `,_jsx(_components.code,{children:`agent`}),` or `,_jsx(_components.code,{children:`customer`}),` — which side failed`]}),_jsx(ResponseField,{name:`error`,type:`string | null`,id:`param-error`,children:`Machine-readable failure code, if any`}),_jsx(ResponseField,{name:`error_detail`,type:`string | null`,id:`param-error-detail`,children:`Human-readable detail for that failure`}),_jsx(ResponseField,{name:`talk_seconds`,type:`integer | null`,id:`param-talk-seconds`,children:`Bridged talk time. This is what gets billed`}),_jsx(ResponseField,{name:`total_seconds`,type:`integer | null`,id:`param-total-seconds`,children:`Seconds from admission to the end of the call`}),_jsx(ResponseField,{name:`start_time`,type:`string | null`,id:`param-start-time`,children:`ISO 8601`}),_jsxs(ResponseField,{name:`answer_time`,type:`string | null`,id:`param-answer-time`,children:[`ISO 8601. When the legs were bridged; `,_jsx(_components.code,{children:`null`}),` until then`]}),_jsx(ResponseField,{name:`end_time`,type:`string | null`,id:`param-end-time`,children:`ISO 8601. Present once the call has ended`}),_jsx(ResponseField,{name:`metadata`,type:`object | null`,id:`param-metadata-1`,children:`Exactly what you sent`}),_jsx(ResponseField,{name:`record_requested`,type:`boolean`,id:`param-record-requested`,children:`Whether this call asked to be recorded`}),_jsx(ResponseField,{name:`recording_id`,type:`string | null`,id:`param-recording-id`,children:`Opaque id, once the platform has produced one`}),_jsxs(ResponseField,{name:`recording_status`,type:`string | null`,id:`param-recording-status`,children:[`e.g. `,_jsx(_components.code,{children:`uploaded`})]}),_jsxs(ResponseField,{name:`recording_available`,type:`boolean`,id:`param-recording-available`,children:[_jsx(_components.code,{children:`true`}),` when a playback URL can be minted`]}),_jsx(ResponseField,{name:`callback_url`,type:`string | null`,id:`param-callback-url-1`,children:`Where this call’s events are relayed`}),_jsx(ResponseField,{name:`callback_secret_last4`,type:`string | null`,id:`param-callback-secret-last4`,children:`Last four characters of the stored signing secret — enough to tell which secret we hold, never enough to sign with`}),_jsx(ResponseField,{name:`cost_usd`,type:`number | null`,id:`param-cost-usd`,children:`What this call cost, in USD`}),_jsxs(ResponseField,{name:`billing_status`,type:`string | null`,id:`param-billing-status`,children:[_jsx(_components.code,{children:`billed`}),`, `,_jsx(_components.code,{children:`failed`}),`, or `,_jsx(_components.code,{children:`null`}),` when nothing was owed`]}),_jsxs(ResponseField,{name:`placed_via`,type:`string`,id:`param-placed-via`,children:[_jsx(_components.code,{children:`api_key`}),` or `,_jsx(_components.code,{children:`session`})]}),_jsx(ResponseField,{name:`api_key_id`,type:`integer | null`,id:`param-api-key-id`,children:`Which API key placed the call`}),_jsx(ResponseField,{name:`api_key_name`,type:`string | null`,id:`param-api-key-name`,children:`That key’s name, snapshotted so a revoked key still explains its charges`}),_jsx(ResponseField,{name:`created_by_user_id`,type:`integer | null`,id:`param-created-by-user-id`,children:`Who placed it`}),_jsx(ResponseField,{name:`created_at`,type:`string`,id:`param-created-at`,children:`ISO 8601`})]})}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_NUMBER`})}),_jsx(_components.td,{children:`A number isn’t a valid Indian mobile number`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`SAME_NUMBER`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`agent_number`}),` and `,_jsx(_components.code,{children:`customer_number`}),` are the same`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_RING_TIMEOUT`})}),_jsx(_components.td,{children:`Ring timeout outside 5–60 s`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_MAX_DURATION`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`max_duration`}),` outside 30–7200 s`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_RECORD`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`record`}),` isn’t a boolean`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_METADATA`})}),_jsx(_components.td,{children:`Not an object, over 2 KiB, or contains NUL`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_REFERENCE`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`reference_id`}),` fails the character/length rule`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_CALLBACK_URL`})}),_jsx(_components.td,{children:`Not HTTPS, or not publicly resolvable`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_CALLBACK_SECRET`})}),_jsx(_components.td,{children:`Missing, or outside 16–256 characters`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`402`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`RECHARGE_REQUIRED`})}),_jsxs(_components.td,{children:[`Wallet balance is `,_jsx(_components.code,{children:`0`}),` or less`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`403`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CALLER_ID_NOT_OWNED`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`did`}),` isn’t assigned to this workspace`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`403`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`destination_not_allowed`})}),_jsx(_components.td,{children:`A number is outside your permitted prefixes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`404`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`REFERENCE_NOT_OWNED`})}),_jsx(_components.td,{children:`That reference belongs to another workspace`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`409`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`DIALER_NOT_PROVISIONED`})}),_jsx(_components.td,{children:`Trunk not set up (Gate T)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`409`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`REFERENCE_ALREADY_USED`})}),_jsx(_components.td,{children:`The reference is spent — place a new call`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`429`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`C2C_RATE_LIMITED`})}),_jsx(_components.td,{children:`More than 20 calls placed in the last minute`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`429`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`no_free_channel`})}),_jsxs(_components.td,{children:[`Platform capacity exhausted. Honour `,_jsx(_components.code,{children:`Retry-After`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`503`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CARRIER_LINE_DOWN`})}),_jsx(_components.td,{children:`Carrier line is down; your number and balance are fine`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`503`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`C2C_NOT_CONFIGURED`})}),_jsx(_components.td,{children:`Click-to-call isn’t set up on the server`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`503`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`C2C_CALLBACK_UNREACHABLE`})}),_jsx(_components.td,{children:`The server’s results address isn’t reachable from the internet`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`504`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`C2C_OUTCOME_UNKNOWN`})}),_jsxs(_components.td,{children:[`No answer from the platform — `,_jsx(_components.strong,{children:`check the agent’s phone before retrying`})]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Failures return `,_jsx(_components.code,{children:`{ \"success\": false, \"message\": \"...\", \"code\": \"...\" }`}),`, plus `,_jsx(_components.code,{children:`request_id`}),` when the refusal came from the call platform (`,_jsx(_components.strong,{children:`log it`}),` — it’s the handle support traces on) and `,_jsx(_components.code,{children:`retry_after`}),` in seconds on `,_jsx(_components.code,{children:`429`}),`/`,_jsx(_components.code,{children:`503`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`429`}),` and `,_jsx(_components.code,{children:`503`}),` also carry a `,_jsx(_components.code,{children:`Retry-After`}),` header. A refused request never placed a call and never consumed its `,_jsx(_components.code,{children:`reference_id`}),`, so it is safe to retry with the same one.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsxs(RequestExample,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`13`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`13`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -X POST https://api.60db.ai/dialer/click2call \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -d `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"agent_number\": \"9812345678\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"customer_number\": \"9876543210\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"callback_url\": \"https://your-app.example.com/webhooks/qcall\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"callback_secret\": \"a-long-random-string-you-choose\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"agent_ring_timeout\": 30,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"customer_ring_timeout\": 45,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"max_duration\": 3600,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"metadata\": { \"lead_id\": \"L-991\", \"campaign\": \"q3-renewals\" }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`JavaScript`,numberOfLines:`18`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` res = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` fetch(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'https://api.60db.ai/dialer/click2call'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` method: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'POST'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` headers: {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Authorization: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"`Bearer ${process.env.SIXTYDB_API_KEY}`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'application/json'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` body: JSON.stringify({`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agent_number: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'9812345678'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` customer_number: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'9876543210'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` callback_url: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'https://your-app.example.com/webhooks/qcall'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` callback_secret: process.env.QCALL_WEBHOOK_SECRET,`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata: { lead_id: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'L-991'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { data } = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` res.json();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (data.replayed) console.log(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'already placed:'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, data.call.call_id);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` console.log(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'dialling:'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, data.call.call_id);`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`16`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os, requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`res = requests.post(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.60db.ai/dialer/click2call\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` headers={`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Authorization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bearer {os.environ['SIXTYDB_API_KEY']}\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` json={`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"agent_number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"9812345678\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"customer_number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"9876543210\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"callback_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://your-app.example.com/webhooks/qcall\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"callback_secret\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"QCALL_WEBHOOK_SECRET\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"metadata\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"lead_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"L-991\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`data = res.json()[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`print(data[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"call\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`][`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"call_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`], `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"placed\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` data[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"placed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"replayed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})})]}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`201 Created`,numberOfLines:`41`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`41`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"placed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"replayed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"call\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"call_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"7d004ba2-565f-4ee2-9aa2-19523d8db7ae\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"reference_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"qc2c-8f1c1e2a-4b77-4a51-9f3e-2c1d6f0a77b1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"outbound_trunk_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"00000000-0000-4000-8000-000000000000\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"did\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+917900000000\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agent_number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+919812345678\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"customer_number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+919876543210\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"initiated\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"call_done\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"terminal_event\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"hangup_cause\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"leg\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error_detail\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"talk_seconds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"total_seconds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"start_time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"answer_time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"end_time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"metadata\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"lead_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"L-991\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"campaign\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"q3-renewals\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"record_requested\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"recording_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"recording_status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"recording_available\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"callback_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://your-app.example.com/webhooks/qcall\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"callback_secret_last4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"oose\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cost_usd\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"billing_status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"placed_via\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"api_key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created_by_user_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4021`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"api_key_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`17`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"api_key_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"crm-integration\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-09-23T14:11:27.134Z\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`200 OK (replayed)`,numberOfLines:`13`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`13`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"placed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"replayed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"call\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"call_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"7d004ba2-565f-4ee2-9aa2-19523d8db7ae\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"reference_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"crm-task-91823\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"initiated\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"call_done\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`409 Reference spent`,numberOfLines:`5`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"That reference has already been used for a call that has finished. A reference is permanent — place the call again to get a new one.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"REFERENCE_ALREADY_USED\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Place Click-to-Call","api":"POST /dialer/click2call","description":"Ring the agent on your own number, then the customer, then bridge them","href":"/api-reference/click2call/place-call"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Request","slug":"request","depth":2,"children":[{"title":"Headers","slug":"headers","depth":3,"children":[]},{"title":"Body","slug":"body","depth":3,"children":[]}]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]},{"title":"Example","slug":"example","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"13\">\u003cspan class=\"line\">\u003cspan style=\"color:#8250DF;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> -X POST https://api.60db.ai/dialer/click2call \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> -H \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Authorization: Bearer your-api-key\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> -H \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> -d \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"agent_number\": \"9812345678\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"customer_number\": \"9876543210\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"callback_url\": \"https://your-app.example.com/webhooks/qcall\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"callback_secret\": \"a-long-random-string-you-choose\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"agent_ring_timeout\": 30,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"customer_ring_timeout\": 45,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"max_duration\": 3600,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"metadata\": { \"lead_id\": \"L-991\", \"campaign\": \"q3-renewals\" }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"JavaScript","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"javascript\">\u003ccode language=\"javascript\" numberOfLines=\"18\">\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">const\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> res = \u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">await\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> fetch(\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'https://api.60db.ai/dialer/click2call'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> method: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'POST'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> headers: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> Authorization: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">`Bearer ${process.env.SIXTYDB_API_KEY}`\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> 'Content-Type'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'application/json'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> body: JSON.stringify({\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> agent_number: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'9812345678'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> customer_number: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'9876543210'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> callback_url: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'https://your-app.example.com/webhooks/qcall'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> callback_secret: process.env.QCALL_WEBHOOK_SECRET,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> metadata: { lead_id: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'L-991'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }),\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">});\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">const\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> { data } = \u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">await\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> res.json();\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">if\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> (data.replayed) console.log(\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'already placed:'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, data.call.call_id);\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">else\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> console.log(\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'dialling:'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, data.call.call_id);\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Python","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"python\">\u003ccode language=\"python\" numberOfLines=\"16\">\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">import\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> os, requests\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">res = requests.post(\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"https://api.60db.ai/dialer/click2call\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> headers={\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Authorization\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: f\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Bearer {os.environ['SIXTYDB_API_KEY']}\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> json={\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"agent_number\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"9812345678\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"customer_number\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"9876543210\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"callback_url\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://your-app.example.com/webhooks/qcall\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"callback_secret\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: os.environ[\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"QCALL_WEBHOOK_SECRET\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"metadata\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"lead_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"L-991\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">)\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">data = res.json()[\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">print(data[\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"call\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">][\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"call_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">], \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"placed\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\"> if\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> data[\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"placed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">] \u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">else\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"replayed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">)\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"201 Created","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"41\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"placed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"replayed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"call\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"call_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"7d004ba2-565f-4ee2-9aa2-19523d8db7ae\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"reference_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"qc2c-8f1c1e2a-4b77-4a51-9f3e-2c1d6f0a77b1\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"outbound_trunk_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"00000000-0000-4000-8000-000000000000\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"did\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"+917900000000\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"agent_number\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"+919812345678\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"customer_number\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"+919876543210\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"state\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"initiated\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"call_done\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"terminal_event\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"hangup_cause\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"leg\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"error_detail\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"talk_seconds\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"total_seconds\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"start_time\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"answer_time\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"end_time\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"metadata\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: { \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"lead_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"L-991\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"campaign\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"q3-renewals\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"record_requested\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"recording_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"recording_status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"recording_available\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"callback_url\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://your-app.example.com/webhooks/qcall\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"callback_secret_last4\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"oose\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"cost_usd\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"billing_status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"placed_via\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"api_key\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"created_by_user_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">4021\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"api_key_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">17\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"api_key_name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"crm-integration\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-09-23T14:11:27.134Z\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"200 OK (replayed)","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"13\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"placed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"replayed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"call\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"call_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"7d004ba2-565f-4ee2-9aa2-19523d8db7ae\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"reference_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"crm-task-91823\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"state\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"initiated\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"call_done\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"409 Reference spent","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"5\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"That reference has already been used for a call that has finished. A reference is permanent — place the call again to get a new one.\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"REFERENCE_ALREADY_USED\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Place Click-to-Call","path":"/dialer/click2call","servers":[{"url":"https://api.60db.ai"}],"method":"post","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{"Authorization":{"schema":[{"type":"string","description":"Bearer token with your API key","required":true}]}},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"agent_number":[{"type":"string","description":"The person dialled first . Indian mobile number as `+919812345678` , `919812345678` or `9812345678` . Spaces, hyphens, dots and brackets are stripped.","required":true}],"customer_number":[{"type":"string","description":"Dialled once the agent answers. Must differ from `agent_number` .","required":true}],"did":[{"type":"string","description":"The caller ID presented on both legs. Must be a number assigned to your workspace and to `outbound_trunk_id` . Defaults to your trunk’s saved caller ID."}],"outbound_trunk_id":[{"type":"string","description":"UUID of the outbound trunk to place the call over. Defaults to your workspace’s active trunk."}],"reference_id":[{"type":"string","description":"Your idempotency key, unique per trunk. 1–128 characters of `A-Za-z0-9._:-` . Minted for you ( `qc2c-\u003cuuid>` ) when omitted."}],"callback_url":[{"type":"string","description":"Public HTTPS URL that this call’s events are relayed to. Requires `callback_secret` . Private, loopback, link-local and CGNAT addresses are rejected."}],"callback_secret":[{"type":"string","description":"16–256 characters you choose. Required whenever `callback_url` is sent — it is the HMAC key your endpoint verifies `x-qcall-signature` against. Encrypted at rest and never returned; only its last four characters are readable afterwards."}],"agent_ring_timeout":[{"type":"integer","description":"Seconds to ring the agent. `5` – `60` ."}],"customer_ring_timeout":[{"type":"integer","description":"Seconds to ring the customer. `5` – `60` ."}],"max_duration":[{"type":"integer","description":"Maximum seconds of bridged talk time. `30` – `7200` ."}],"record":[{"type":"boolean","description":"Record the bridged conversation. Audio is uploaded after the call ends — poll the call with `?refresh=1` , then mint a playback URL."}],"metadata":[{"type":"object","properties":{},"description":"Arbitrary JSON object echoed back on the call and in every webhook. At most 2048 bytes serialised, no NUL characters."}]}}],"examples":{"example":{"value":{"agent_number":"\u003cstring>","customer_number":"\u003cstring>","did":"\u003cstring>","outbound_trunk_id":"\u003cstring>","reference_id":"\u003cstring>","callback_url":"\u003cstring>","callback_secret":"\u003cstring>","agent_ring_timeout":123,"customer_ring_timeout":123,"max_duration":123,"record":true,"metadata":{}}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"placed":[{"type":"boolean","description":"`true` when a new call was dialled (201)"}],"replayed":[{"type":"boolean","description":"`true` when an existing call was returned and nothing was dialled (200)"}],"call":[{"type":"object","properties":{"call_id":[{"type":"string","description":"Platform call id. Use it to poll, list events and mint recordings"}],"reference_id":[{"type":"string","description":"Your idempotency key, or the one minted for you"}],"outbound_trunk_id":[{"type":"string","description":"The trunk this call rides"}],"did":[{"type":"string","description":"Caller ID presented on both legs, `+E.164`"}],"agent_number":[{"type":"string","description":"`+E.164`"}],"customer_number":[{"type":"string","description":"`+E.164`"}],"state":[{"type":"string","description":"`pending` , `initiated` , `bridged` , `completed` , `failed` , `rejected` or `unknown`"}],"call_done":[{"type":"boolean","description":"`true` once the outcome is final"}],"terminal_event":[{"type":"object","properties":{},"description":"`call.completed` , `call.not_answered` , `call.failed` or `call.temporaryfailed`"}],"hangup_cause":[{"type":"object","properties":{},"description":"e.g. `NORMAL_CLEARING` , `NO_ANSWER` , `USER_BUSY` , `MAX_DURATION`"}],"leg":[{"type":"object","properties":{},"description":"On failures: `agent` or `customer` — which side failed"}],"error":[{"type":"object","properties":{},"description":"Machine-readable failure code, if any"}],"error_detail":[{"type":"object","properties":{},"description":"Human-readable detail for that failure"}],"talk_seconds":[{"type":"object","properties":{},"description":"Bridged talk time. This is what gets billed"}],"total_seconds":[{"type":"object","properties":{},"description":"Seconds from admission to the end of the call"}],"start_time":[{"type":"object","properties":{},"description":"ISO 8601"}],"answer_time":[{"type":"object","properties":{},"description":"ISO 8601. When the legs were bridged; `null` until then"}],"end_time":[{"type":"object","properties":{},"description":"ISO 8601. Present once the call has ended"}],"metadata":[{"type":"object","properties":{},"description":"Exactly what you sent"}],"record_requested":[{"type":"boolean","description":"Whether this call asked to be recorded"}],"recording_id":[{"type":"object","properties":{},"description":"Opaque id, once the platform has produced one"}],"recording_status":[{"type":"object","properties":{},"description":"e.g. `uploaded`"}],"recording_available":[{"type":"boolean","description":"`true` when a playback URL can be minted"}],"callback_url":[{"type":"object","properties":{},"description":"Where this call’s events are relayed"}],"callback_secret_last4":[{"type":"object","properties":{},"description":"Last four characters of the stored signing secret — enough to tell which secret we hold, never enough to sign with"}],"cost_usd":[{"type":"object","properties":{},"description":"What this call cost, in USD"}],"billing_status":[{"type":"object","properties":{},"description":"`billed` , `failed` , or `null` when nothing was owed"}],"placed_via":[{"type":"string","description":"`api_key` or `session`"}],"api_key_id":[{"type":"object","properties":{},"description":"Which API key placed the call"}],"api_key_name":[{"type":"object","properties":{},"description":"That key’s name, snapshotted so a revoked key still explains its charges"}],"created_by_user_id":[{"type":"object","properties":{},"description":"Who placed it"}],"created_at":[{"type":"string","description":"ISO 8601"}]}}]}}],"examples":{"example":{"value":{"placed":true,"replayed":true,"call":{"call_id":"\u003cstring>","reference_id":"\u003cstring>","outbound_trunk_id":"\u003cstring>","did":"\u003cstring>","agent_number":"\u003cstring>","customer_number":"\u003cstring>","state":"\u003cstring>","call_done":true,"terminal_event":{},"hangup_cause":{},"leg":{},"error":{},"error_detail":{},"talk_seconds":{},"total_seconds":{},"start_time":{},"answer_time":{},"end_time":{},"metadata":{},"record_requested":true,"recording_id":{},"recording_status":{},"recording_available":true,"callback_url":{},"callback_secret_last4":{},"cost_usd":{},"billing_status":{},"placed_via":"\u003cstring>","api_key_id":{},"api_key_name":{},"created_by_user_id":{},"created_at":"\u003cstring>"}}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"60db-c848165a","siteName":"60db","title":"Place Click-to-Call - 60db","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-24T15:22:10.016Z","originalFileLocation":"api-reference/click2call/place-call.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=\"Ring the agent on your own number, then the customer, then bridge them\">\u003cmeta data-mint-head name=\"application-name\" content=\"60db\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/60db-c848165a/CC00PK6eC4HKg2Rz/_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/60db-c848165a/CC00PK6eC4HKg2Rz/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/60db-c848165a/CC00PK6eC4HKg2Rz/_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/60db-c848165a/CC00PK6eC4HKg2Rz/_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/60db-c848165a/CC00PK6eC4HKg2Rz/_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/60db-c848165a/CC00PK6eC4HKg2Rz/_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/60db-c848165a/CC00PK6eC4HKg2Rz/_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/60db-c848165a/CC00PK6eC4HKg2Rz/_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/60db-c848165a/CC00PK6eC4HKg2Rz/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Place Click-to-Call - 60db\">\u003cmeta data-mint-head property=\"og:description\" content=\"Ring the agent on your own number, then the customer, then bridge them\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"60db\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.60db.ai/api-reference/click2call/place-call\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://60db-c848165a.mintlify.site/_mintlify/api/og/v2?division=Click-to-Call\u0026amp;title=Place+Click-to-Call\u0026amp;description=Ring+the+agent+on+your+own+number%2C+then+the+customer%2C+then+bridge+them\u0026amp;theme=285fc077b6c10621f332e454\u0026amp;signature=8b8290759e4397d6c7eff495d7f6a2ccc3eac418d68807c2906f5bbf9251e733\">\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=\"Place Click-to-Call - 60db\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Ring the agent on your own number, then the customer, then bridge them\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://60db-c848165a.mintlify.site/_mintlify/api/og/v2?division=Click-to-Call\u0026amp;title=Place+Click-to-Call\u0026amp;description=Ring+the+agent+on+your+own+number%2C+then+the+customer%2C+then+bridge+them\u0026amp;theme=285fc077b6c10621f332e454\u0026amp;signature=8b8290759e4397d6c7eff495d7f6a2ccc3eac418d68807c2906f5bbf9251e733\">\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/60db-c848165a/CC00PK6eC4HKg2Rz/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"60db\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4A3228\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.60db.ai/api-reference/click2call/place-call\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/click2call/place-call.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.60db.ai/#organization\",\"name\":\"60db\",\"url\":\"https://docs.60db.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/60db-c848165a/83Hv-Y-hnK8ZdMCS/logo/60db-logo.svg?fit=max\u0026auto=format\u0026n=83Hv-Y-hnK8ZdMCS\u0026q=85\u0026s=7334adf60f84684685b34f6455a5a071\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.60db.ai#website\",\"name\":\"60db\",\"url\":\"https://docs.60db.ai\",\"publisher\":{\"@id\":\"https://docs.60db.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.60db.ai/api-reference/click2call/place-call#webpage\",\"url\":\"https://docs.60db.ai/api-reference/click2call/place-call\",\"name\":\"Place Click-to-Call\",\"description\":\"Ring the agent on your own number, then the customer, then bridge them\",\"dateModified\":\"2026-09-24T15:22:10.016Z\",\"isPartOf\":{\"@id\":\"https://docs.60db.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.60db.ai/api-reference/click2call/place-call#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.60db.ai/api-reference/click2call/place-call#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"60db\",\"item\":\"https://docs.60db.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Place Click-to-Call\",\"item\":\"https://docs.60db.ai/api-reference/click2call/place-call\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.60db.ai/api-reference/click2call/place-call#apireference\",\"headline\":\"Place Click-to-Call\",\"name\":\"Place Click-to-Call\",\"description\":\"Ring the agent on your own number, then the customer, then bridge them\",\"url\":\"https://docs.60db.ai/api-reference/click2call/place-call\",\"mainEntityOfPage\":{\"@id\":\"https://docs.60db.ai/api-reference/click2call/place-call#webpage\"},\"dateModified\":\"2026-09-24T15:22:10.016Z\",\"publisher\":{\"@id\":\"https://docs.60db.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.60db.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"60db\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"60db","nav":{"global":{"anchors":[{"anchor":"Dashboard","icon":"book-open-cover","href":"https://app.60db.ai"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"WebSocket API","pages":[{"title":"WebSocket API","href":"/websocket-api"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"API Reference","href":"/api-reference/introduction"},{"title":"API Playground Troubleshooting","href":"/api-reference/troubleshooting"}]},{"group":"WebSocket Reference","pages":[{"title":"WebSocket Introduction","href":"/api-reference/websocket/introduction"},{"title":"STT WebSocket","api":"WebSocket /ws/stt","href":"/api-reference/websocket/stt"},{"title":"TTS WebSocket","api":"WebSocket /ws/tts","href":"/api-reference/websocket/tts"}]},{"group":"Text-to-Speech","pages":[{"title":"Text to Speech","api":"POST /tts-synthesize","href":"/api-reference/tts/text-to-speech"},{"title":"Text to Speech Stream","api":"POST /tts-stream","href":"/api-reference/tts/text-to-speech-stream"},{"title":"Enhance Text","api":"POST /tts/enhance","href":"/api-reference/tts/enhance-text"},{"title":"Get TTS Languages","api":"GET /tts/languages","href":"/api-reference/tts/text-to-speech-languages"}]},{"group":"Speech-to-Text","pages":[{"title":"Speech to Text","api":"POST /stt","href":"/api-reference/stt/speech-to-text"},{"title":"Get Languages","api":"GET /stt/languages","href":"/api-reference/stt/get-languages"}]},{"group":"LLM \u0026 Chat","pages":[{"title":"Chat","api":"POST /v1/chat/completions","href":"/api-reference/llm/chat-completion"}]},{"group":"Memory \u0026 RAG","pages":[{"title":"Ingest Memory","api":"POST /memory/ingest","href":"/api-reference/memory/ingest"},{"title":"Upload Document","api":"POST /memory/documents/extract","href":"/api-reference/memory/extract-document"},{"title":"Search Memories","api":"POST /memory/search","href":"/api-reference/memory/search"},{"title":"Assemble Context (RAG)","api":"POST /memory/context","href":"/api-reference/memory/context"},{"title":"Collections","href":"/api-reference/memory/collections"},{"title":"Get Memory Usage","api":"GET /memory/usage","href":"/api-reference/memory/usage"},{"title":"Pricing \u0026 Billing","href":"/api-reference/memory/pricing"}]},{"group":"Judge","pages":[{"title":"Evaluate","api":"POST /v1/systemone","href":"/api-reference/judge/systemone"},{"title":"Extract","api":"POST /v1/extract","href":"/api-reference/judge/extract-v1"},{"title":"List models","api":"GET /judge/models","href":"/api-reference/judge/models"},{"title":"List rubrics","api":"GET /judge/rubrics","href":"/api-reference/judge/list-rubrics"},{"title":"Create rubric","api":"POST /judge/rubrics","href":"/api-reference/judge/create-rubric"},{"title":"Get rubric","api":"GET /judge/rubrics/{id}","href":"/api-reference/judge/get-rubric"},{"title":"Update rubric","api":"PATCH /judge/rubrics/{id}","href":"/api-reference/judge/update-rubric"},{"title":"Delete rubric","api":"DELETE /judge/rubrics/{id}","href":"/api-reference/judge/delete-rubric"},{"title":"List runs","api":"GET /judge/evaluations","href":"/api-reference/judge/list-runs"},{"title":"Get run","api":"GET /judge/evaluations/{id}","href":"/api-reference/judge/get-run"},{"title":"Delete run","api":"DELETE /judge/evaluations/{id}","href":"/api-reference/judge/delete-run"},{"title":"Usage","api":"GET /judge/usage","href":"/api-reference/judge/usage"},{"title":"Health","api":"GET /judge/health","href":"/api-reference/judge/health"},{"title":"Pricing \u0026 Billing","href":"/api-reference/judge/pricing"}]},{"group":"Models","pages":[{"title":"Get TTS Models","api":"GET /tts/models","href":"/api-reference/models/get-models"},{"title":"Get STT Models","api":"GET /stt/models","href":"/api-reference/models/get-stt-models"}]},{"group":"Voices","pages":[{"title":"Get Voices","api":"GET /voices","href":"/api-reference/voices/get-voices"},{"title":"Get My Voices","api":"GET /myvoices","href":"/api-reference/voices/get-my-voices"},{"title":"Get Voice by ID","api":"GET /voices/:id","href":"/api-reference/voices/get-voice"},{"title":"Create Voice","api":"POST /voices","href":"/api-reference/voices/create-voice"},{"title":"Update Voice","api":"PUT /voices/:id","href":"/api-reference/voices/update-voice"},{"title":"Delete Voice","api":"DELETE /voices/:id","href":"/api-reference/voices/delete-voice"},{"title":"Get Voice Limits","api":"GET /voices/quota","href":"/api-reference/voices/get-voice-quota"},{"title":"List Professional Voices","api":"GET /voices/professional/jobs","href":"/api-reference/voices/list-professional-voices"},{"title":"Get Marketplace Eligibility","api":"GET /voices/professional/marketplace-eligibility","href":"/api-reference/voices/get-marketplace-eligibility"}]},{"group":"Music","pages":[{"title":"Create Song","api":"POST /songs","href":"/api-reference/music/create-song"},{"title":"List Songs","api":"GET /songs","href":"/api-reference/music/list-songs"},{"title":"Get Song","api":"GET /songs/:id","href":"/api-reference/music/get-song"},{"title":"Update Song","api":"PATCH /songs/:id","href":"/api-reference/music/update-song"},{"title":"Delete Song","api":"DELETE /songs/:id","href":"/api-reference/music/delete-song"},{"title":"Download Song","api":"GET /songs/:id/download","href":"/api-reference/music/download-song"},{"title":"List Voices","api":"GET /songs/voices","href":"/api-reference/music/list-voices"},{"title":"Create Voice","api":"POST /songs/voices","href":"/api-reference/music/create-voice"},{"title":"Health Check","api":"GET /songs/health","href":"/api-reference/music/health"}]},{"group":"Dialer","pages":[{"title":"Get Status","api":"GET /dialer/status","href":"/api-reference/dialer/get-status"},{"title":"Search Numbers","api":"GET /dialer/pool","href":"/api-reference/dialer/search-numbers"},{"title":"Buy Number","api":"POST /dialer/pool/allocate","href":"/api-reference/dialer/buy-number"},{"title":"List Numbers","api":"GET /dialer/numbers","href":"/api-reference/dialer/list-numbers"},{"title":"Release Number","api":"DELETE /dialer/numbers/:e164","href":"/api-reference/dialer/release-number"},{"title":"Set Caller ID","api":"PUT /dialer/caller-id","href":"/api-reference/dialer/set-caller-id"},{"title":"List Calls","api":"GET /dialer/logs","href":"/api-reference/dialer/list-calls"},{"title":"Get Call","api":"GET /dialer/calls/:id","href":"/api-reference/dialer/get-call"},{"title":"Live Calls","api":"GET /dialer/live","href":"/api-reference/dialer/live-calls"},{"title":"Line Status","api":"GET /dialer/calls/line-status","href":"/api-reference/dialer/line-status"},{"title":"Reserve Call","api":"POST /dialer/calls","href":"/api-reference/dialer/reserve-call"},{"title":"List Recordings","api":"GET /dialer/recordings","href":"/api-reference/dialer/list-recordings"},{"title":"Get Playback URL","api":"POST /dialer/recordings/:id/playback-url","href":"/api-reference/dialer/recording-playback-url"},{"title":"Get Transcript","api":"POST /dialer/recordings/:id/transcript","href":"/api-reference/dialer/recording-transcript"},{"title":"Delete Recording","api":"DELETE /dialer/recordings/:id","href":"/api-reference/dialer/delete-recording"},{"title":"Toggle Recording","api":"PUT /dialer/recording","href":"/api-reference/dialer/toggle-recording"},{"title":"List Subscriptions","api":"GET /dialer/subscriptions","href":"/api-reference/dialer/list-subscriptions"},{"title":"Get Usage","api":"GET /dialer/usage","href":"/api-reference/dialer/get-usage"},{"title":"List Webhooks","api":"GET /dialer/webhooks","href":"/api-reference/dialer/list-webhooks"},{"title":"Create Webhook","api":"POST /dialer/webhooks","href":"/api-reference/dialer/create-webhook"},{"title":"Update Webhook","api":"PATCH /dialer/webhooks/:id","href":"/api-reference/dialer/update-webhook"},{"title":"Delete Webhook","api":"DELETE /dialer/webhooks/:id","href":"/api-reference/dialer/delete-webhook"},{"title":"Rotate Webhook Secret","api":"POST /dialer/webhooks/:id/rotate-secret","href":"/api-reference/dialer/webhook-rotate-key"},{"title":"Test Webhook","api":"POST /dialer/webhooks/:id/test","href":"/api-reference/dialer/test-webhook"},{"title":"List Deliveries","api":"GET /dialer/webhooks/:id/deliveries","href":"/api-reference/dialer/list-webhook-deliveries"}]},{"group":"Agents","pages":[{"title":"List Agents","api":"GET /agents","href":"/api-reference/agents/list-agents"},{"title":"Create Agent","api":"POST /agents","href":"/api-reference/agents/create-agent"},{"title":"Get Agent","api":"GET /agents/{agentId}","href":"/api-reference/agents/get-agent"},{"title":"Update Agent","api":"PATCH /agents/{agentId}","href":"/api-reference/agents/update-agent"},{"title":"Delete Agent","api":"DELETE /agents/{agentId}","href":"/api-reference/agents/delete-agent"},{"title":"Rotate Webhook Signing Secret","api":"POST /agents/{agentId}/rotate-webhook-secret","href":"/api-reference/agents/rotate-webhook-signing"},{"title":"Place Call","api":"POST /agents/{agentId}/calls","href":"/api-reference/agents/place-call"},{"title":"Start Browser Call","api":"POST /agents/{agentId}/web-calls","href":"/api-reference/agents/start-web-call"},{"title":"Hang Up Browser Call","api":"DELETE /agents/web-calls/{callId}","href":"/api-reference/agents/hang-up-web-call"},{"title":"Start Stream Call","api":"POST /agents/{agentId}/stream-calls","href":"/api-reference/agents/start-stream-call"},{"title":"List Calls","api":"GET /agents/calls","href":"/api-reference/agents/list-calls"},{"title":"Get Call","api":"GET /agents/calls/{callId}","href":"/api-reference/agents/get-call"},{"title":"Get Transcript","api":"GET /agents/calls/{callId}/transcript","href":"/api-reference/agents/get-transcript"},{"title":"Get Recording","api":"GET /agents/calls/{callId}/recording","href":"/api-reference/agents/get-recording"},{"title":"Delete Recording","api":"DELETE /agents/calls/{callId}/recording","href":"/api-reference/agents/delete-recording"},{"title":"List Tool Events","api":"GET /agents/{agentId}/tool-events","href":"/api-reference/agents/list-tool-events"},{"title":"List Phone Lines","api":"GET /agents/phone-lines","href":"/api-reference/agents/list-phone-lines"},{"title":"Create Phone Line","api":"POST /agents/phone-lines","href":"/api-reference/agents/create-phone-line"},{"title":"Get Phone Line","api":"GET /agents/phone-lines/{lineId}","href":"/api-reference/agents/get-phone-line"},{"title":"Update Phone Line","api":"PATCH /agents/phone-lines/{lineId}","href":"/api-reference/agents/update-phone-line"},{"title":"Get Phone Line Setup","api":"GET /agents/phone-lines/{lineId}/setup","href":"/api-reference/agents/get-phone-line-setup"},{"title":"Check Phone Line","api":"POST /agents/phone-lines/{lineId}/check","href":"/api-reference/agents/check-phone-line"},{"title":"Delete Phone Line","api":"DELETE /agents/phone-lines/{lineId}","href":"/api-reference/agents/delete-phone-line"},{"title":"List Available Numbers","api":"GET /agents/phone-lines/available-numbers","href":"/api-reference/agents/list-available-numbers"}]},{"group":"60db Flow","pages":[{"title":"Get Flow plan","api":"GET /60db/flow/plan","href":"/api-reference/flow/get-plan"},{"title":"List seats","api":"GET /60db/license/:license_id/seats","href":"/api-reference/flow/list-seats"},{"title":"Invite by email","api":"POST /60db/license/:license_id/seats","href":"/api-reference/flow/invite-seat"},{"title":"Remove seat","api":"DELETE /60db/license/:license_id/seats/:user_id","href":"/api-reference/flow/remove-seat"},{"title":"List my invites","api":"GET /60db/license/invites","href":"/api-reference/flow/list-invites"},{"title":"Accept invite","api":"POST /60db/license/:license_id/seats/accept","href":"/api-reference/flow/accept-invite"},{"title":"Decline invite","api":"POST /60db/license/:license_id/seats/decline","description":"Invitee: decline a pending Flow seat invite","href":"/api-reference/flow/decline-invite"}]},{"group":"Click-to-Call","pages":[{"title":"Place Click-to-Call","api":"POST /dialer/click2call","href":"/api-reference/click2call/place-call"},{"title":"Get Click-to-Call","api":"GET /dialer/click2call/{id}","description":"State, outcome, cost and recording status for one click-to-call","href":"/api-reference/click2call/get-call"},{"title":"List Click-to-Calls","api":"GET /dialer/click2call","href":"/api-reference/click2call/list-calls"},{"title":"List Call Events","api":"GET /dialer/click2call/{id}/events","href":"/api-reference/click2call/list-events"},{"title":"Get Recording URL","api":"POST /dialer/click2call/{id}/recording","href":"/api-reference/click2call/recording-url"},{"title":"Get Click-to-Call Config","api":"GET /dialer/click2call/config","href":"/api-reference/click2call/get-config"},{"title":"Click-to-Call Webhook Events","href":"/api-reference/click2call/webhook-events"}]},{"group":"WhatsApp","pages":[{"title":"Send WhatsApp message","api":"POST /whatsapp/messages","href":"/api-reference/whatsapp/send-message"},{"title":"WhatsApp attachments","href":"/api-reference/whatsapp/media"},{"title":"WhatsApp assistant","href":"/api-reference/whatsapp/assistant"},{"title":"WhatsApp broadcasts","href":"/api-reference/whatsapp/broadcasts"},{"title":"WhatsApp resources","href":"/api-reference/whatsapp/resources"},{"title":"WhatsApp webhook events","href":"/api-reference/whatsapp/webhook-events"}]},{"group":"API Keys","pages":[{"title":"Get API Keys","api":"GET /developer/api","href":"/api-reference/api-keys/get-api-keys"},{"title":"Create API Key","api":"POST /developer/api","href":"/api-reference/api-keys/create-api-key"},{"title":"Delete API Key","api":"DELETE /developer/api/:id","href":"/api-reference/api-keys/delete-api-key"}]},{"group":"Webhooks","pages":[{"title":"Get Webhooks","api":"GET /webhooks","href":"/api-reference/webhooks/get-webhooks"},{"title":"Create Webhook","api":"POST /webhooks","href":"/api-reference/webhooks/create-webhook"},{"title":"Delete Webhook","api":"DELETE /webhooks/:id","href":"/api-reference/webhooks/delete-webhook"}]},{"group":"Workspaces","pages":[{"title":"Get Workspaces","api":"GET /workspaces","href":"/api-reference/workspaces/get-workspaces"},{"title":"Create Workspace","api":"POST /workspaces","href":"/api-reference/workspaces/create-workspace"}]},{"group":"Billing","pages":[{"title":"List Plans","api":"GET /plans","href":"/api-reference/billing/plans"},{"title":"Subscribe to a Plan","api":"POST /billing/subscribe","href":"/api-reference/billing/subscribe"},{"title":"Current Plan","api":"GET /billing/current-plan","href":"/api-reference/billing/current-plan"},{"title":"Top-up Info","api":"GET /billing/topup","href":"/api-reference/billing/topup-info"},{"title":"Top-up Quote","api":"GET /billing/topup/quote","href":"/api-reference/billing/topup-quote"},{"title":"Add Funds","api":"POST /billing/add-funds","href":"/api-reference/billing/add-funds"},{"title":"Usage Logs","api":"GET /billing/usage-logs","href":"/api-reference/billing/usage-logs"},{"title":"Payment Transactions","api":"GET /billing/transactions","href":"/api-reference/billing/transactions"}]},{"group":"Analytics","pages":[{"title":"Get Usage","api":"GET /analytics/usage","href":"/api-reference/analytics/get-usage"}]}]},{"tab":"CLI Reference","pages":[{"title":"CLI Reference","href":"/cli-reference/introduction"}]},{"tab":"MCP Server","pages":[{"title":"MCP Server","href":"/mcp-server/introduction"}]},{"tab":"Codex / Claude","pages":[{"title":"Codex / Claude","href":"/skills/introduction"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/livekit"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Place Click-to-Call - 60db","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js"]}