Pull the calls placed to a given number in your workspace, newest first, each with
its timing details and a recording download URL. Use it to fetch all recordings
for a lead or just the latest one, straight into your own system.Recording is on by default for every workspace — there is nothing to enable.
Every outbound call that connects is recorded automatically, and the audio is
available a few seconds after the call ends.To list every recording in your workspace rather than the calls to one lead, see
List recordings & uploads.
The lead’s phone number, E.164 (e.g. +13025550123).URL-encode the + as %2B. In a query string a raw + means a space, and calls are matched on the exact E.164 string — so ?number=+13025550123 looks up 13025550123, matches nothing, and returns 200 with "count": 0. The Try it panel encodes this for you; hand-written requests must do it themselves.
You only ever see calls in your own workspace. Recordings resolve a few seconds after
a call ends; a nullrecordingUrl on a live or very recent call is expected.
recordingUrl is a signed link that expires 30 days after you fetch it. Do not
store the URL — store the callId and call this endpoint again when you need the
audio. A saved URL will start returning an error once it lapses.
Each call returns a fresh link, so re-requesting is the supported way to get a
working URL. The audio itself is kept indefinitely; only the link is time-limited.
A recording only exists for a call that connected. Specifically:
Recording starts the moment the call is answered, so unanswered, busy and
failed calls have no audio and return recordingUrl: null.
A call answered and dropped within a second or two may also have no audio — the
recording had not started yet.
Audio is MP3, mono. Both sides of the conversation are mixed into a single
channel, so the format is suited to playback and transcription, but not to
separating the speakers.
If your workspace has HubSpot connected, you do not need this endpoint to get
recordings into your CRM. When a call ends, Tuco writes a note to that contact’s
HubSpot timeline containing a play link, timestamped to the time of the call.
Nothing to configure.Use this endpoint when you want the audio in your own system — a data
warehouse, a transcription pipeline, or a CRM other than HubSpot.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Tuco AI","colors":{"primary":"#FF3515","light":"#FFF5F2","dark":"#111827"},"logo":{"light":"https://mintcdn.com/tucoai/oqQbf84LeXHYKs-3/logo/light.svg?fit=max\u0026auto=format\u0026n=oqQbf84LeXHYKs-3\u0026q=85\u0026s=c601a209f9f05fe52c2cd2e67d63adeb","dark":"https://mintcdn.com/tucoai/oqQbf84LeXHYKs-3/logo/dark.svg?fit=max\u0026auto=format\u0026n=oqQbf84LeXHYKs-3\u0026q=85\u0026s=2d4cbb7e9dea8411a50d67377ca76578"},"favicon":"https://mintcdn.com/tucoai/oqQbf84LeXHYKs-3/images/tuco_v1_round.svg?fit=max\u0026auto=format\u0026n=oqQbf84LeXHYKs-3\u0026q=85\u0026s=0c579fbfd834a8ce1afe94ec9a63c4a6","api":{"openapi":"api-reference/openapi.json","mdx":{"auth":{"method":"bearer"},"server":"https://app.tuco.ai"}},"navbar":{"links":[{"href":"mailto:support@tuco.ai","label":"Support"}],"primary":{"type":"button","label":"Get Started","href":"https://app.tuco.ai"}},"footer":{"socials":{"x":"https://x.com/tucoai","linkedin":"https://linkedin.com/company/tuco-ai"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","icon":"browser","href":"https://app.tuco.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tucoai","hasAudioNarration":false,"actualSubdomain":"tucoai","customDomains":["docs.tuco.ai"],"gitSource":{"type":"github","owner":"goforbg","repo":"tuco-docs","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adcec8e939c74940da6803d","collectionId":"6d7d196a-586f-46e9-a141-9d2abd66c038","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adcec8e939c74940da6803d"},"entitlements":{},"buildId":"6adcec8e939c74940da6803d","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API Reference","count":96},{"language":"default","tag":"Documentation","count":63},{"language":"default","tag":"Lines \u0026 Leads","count":19},{"language":"default","tag":"Messages","count":14},{"language":"default","tag":"Goal Bots","count":14},{"language":"default","tag":"Webhooks","count":13},{"language":"default","tag":"iMessage Guides","count":13},{"language":"default","tag":"Agency","count":11},{"language":"default","tag":"Integrations","count":8},{"language":"default","tag":"Core Features","count":6}]},"assistantConfig":{"enableStarterQuestions":false},"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":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoint/get-recordings","slug":"/api-reference/endpoint/get-recordings","pageMetadata":{"title":"Get Call Recordings Endpoint","api":"GET /api/voice/recordings","tag":"BETA","description":"Fetch a lead's calls with timing details and the recording download URL, by phone number, using your API key.","href":"/api-reference/endpoint/get-recordings"},"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: \"Fetch a lead’s calls with timing details and the recording download URL, by phone number, using your API key.\"\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`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,Info,Note,ParamField,ResponseField,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,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(Info,{children:[`This endpoint is in `,_jsx(_components.strong,{children:`beta`}),`. The interface is stable enough to build on; we may add fields as it matures.`]}),`\n`,_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[`Pull the calls placed to a given number in your workspace, newest first, each with\nits timing details and a recording download URL. Use it to fetch `,_jsx(_components.strong,{children:`all`}),` recordings\nfor a lead or just the `,_jsx(_components.strong,{children:`latest`}),` one, straight into your own system.`]}),`\n`,_jsxs(_components.p,{children:[`Recording is `,_jsx(_components.strong,{children:`on by default`}),` for every workspace — there is nothing to enable.\nEvery outbound call that `,_jsx(_components.strong,{children:`connects`}),` is recorded automatically, and the audio is\navailable a few seconds after the call ends.`]}),`\n`,_jsxs(_components.p,{children:[`To list every recording in your workspace rather than the calls to one lead, see\n`,_jsx(_components.a,{href:`/api-reference/endpoint/list-recordings`,children:`List recordings \u0026 uploads`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`making-a-request`,children:`Making a request`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Method`}),`: `,_jsx(_components.code,{children:`GET`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`URL`}),`: `,_jsx(_components.code,{children:`https://app.tuco.ai/api/voice/recordings`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Headers`}),`: `,_jsx(_components.code,{children:`Authorization: Bearer tuco_...`})]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,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:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://app.tuco.ai/api/voice/recordings?number=%2B13025550123\u0026latest=true\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer tuco_your_key\"`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`query-parameters`,children:`Query parameters`}),`\n`,_jsxs(ParamField,{query:`number`,type:`string`,required:true,id:`param-number`,children:[_jsxs(_components.p,{children:[`The lead’s phone number, E.164 (e.g. `,_jsx(_components.code,{children:`+13025550123`}),`).`]}),_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`URL-encode the `,_jsx(_components.code,{children:`+`}),` as `,_jsx(_components.code,{children:`%2B`}),`.`]}),` In a query string a raw `,_jsx(_components.code,{children:`+`}),` means a space, and calls are matched on the exact E.164 string — so `,_jsx(_components.code,{children:`?number=+13025550123`}),` looks up `,_jsx(_components.code,{children:`13025550123`}),`, matches nothing, and returns `,_jsx(_components.code,{children:`200`}),` with `,_jsx(_components.code,{children:`\"count\": 0`}),`. The `,_jsx(_components.strong,{children:`Try it`}),` panel encodes this for you; hand-written requests must do it themselves.`]})]}),`\n`,_jsx(ParamField,{query:`to`,type:`string`,id:`param-to`,children:_jsxs(_components.p,{children:[`Alias for `,_jsx(_components.code,{children:`number`}),`. Accepted interchangeably; supply one or the other.`]})}),`\n`,_jsx(ParamField,{query:`latest`,type:`boolean`,id:`param-latest`,children:_jsx(_components.p,{children:`Return only the most recent call to that number.`})}),`\n`,_jsx(ParamField,{query:`withRecordingOnly`,type:`boolean`,id:`param-with-recording-only`,children:_jsx(_components.p,{children:`Return only calls that have a recording URL.`})}),`\n`,_jsx(ParamField,{query:`limit`,type:`number`,id:`param-limit`,children:_jsxs(_components.p,{children:[`Max calls to return. Default `,_jsx(_components.code,{children:`20`}),`, max `,_jsx(_components.code,{children:`100`}),`. Ignored when `,_jsx(_components.code,{children:`latest=true`}),`.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(_components.p,{children:`Calls are returned newest first. Each entry includes timing details and the\nrecording download URL (recordings resolve after a call ends).`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`22`,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:`22`,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:` \"number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+13025550123\"`}),_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:` \"count\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_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:` \"calls\"`}),_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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"callId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"6a4ed2d5dec1b2d01a6f7656\"`}),_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:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+13025550999\"`}),_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:` \"to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+13025550123\"`}),_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\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+13025550456\"`}),_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:` \"surface\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"api\"`}),_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:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"billed\"`}),_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:` \"requestedAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-07-09T00:12:03.000Z\"`}),_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:` \"answeredAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-07-09T00:12:19.000Z\"`}),_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:` \"endedAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-07-09T00:13:01.000Z\"`}),_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:` \"durationSec\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`42`}),_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:` \"billedSec\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`42`}),_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:` \"billedCents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_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:` \"hangupCause\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"normal_clearing\"`}),_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:` \"recordingUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://.../recordings/6a4ed2d5....mp3\"`})]}),`\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`]})})}),`\n`,_jsx(ResponseField,{name:`number`,type:`string`,id:`param-number-1`,children:`The number you queried.`}),`\n`,_jsx(ResponseField,{name:`count`,type:`number`,id:`param-count`,children:`Number of calls returned.`}),`\n`,_jsxs(ResponseField,{name:`calls`,type:`array`,id:`param-calls`,children:[_jsx(_components.p,{children:`The calls, newest first.`}),_jsxs(Expandable,{title:`call fields`,children:[_jsx(ResponseField,{name:`callId`,type:`string`,id:`param-call-id`,children:`Call record ID.`}),_jsx(ResponseField,{name:`from`,type:`string`,id:`param-from`,children:`Caller ID the lead saw (your Tuco number).`}),_jsx(ResponseField,{name:`to`,type:`string`,id:`param-to-1`,children:`The number called.`}),_jsx(ResponseField,{name:`agent`,type:`string`,id:`param-agent`,children:`Your rep’s number (API calls only).`}),_jsxs(ResponseField,{name:`surface`,type:`string`,id:`param-surface`,children:[`Where the call was placed from — `,_jsx(_components.code,{children:`api`}),`, `,_jsx(_components.code,{children:`tuco_unibox`}),`, `,_jsx(_components.code,{children:`tuco_leads`}),`, `,_jsx(_components.code,{children:`ghl_menu`}),`, `,_jsx(_components.code,{children:`pd_dialer`}),`, `,_jsx(_components.code,{children:`hubspot_ext`}),` or `,_jsx(_components.code,{children:`direct_url`}),`.`]}),_jsxs(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:[_jsx(_components.code,{children:`requested`}),` · `,_jsx(_components.code,{children:`ringing`}),` · `,_jsx(_components.code,{children:`answered`}),` · `,_jsx(_components.code,{children:`billed`}),` · `,_jsx(_components.code,{children:`failed`}),`.`]}),_jsx(ResponseField,{name:`requestedAt`,type:`string`,id:`param-requested-at`,children:`When the call was created.`}),_jsx(ResponseField,{name:`answeredAt`,type:`string`,id:`param-answered-at`,children:`When it connected.`}),_jsx(ResponseField,{name:`endedAt`,type:`string`,id:`param-ended-at`,children:`When it ended.`}),_jsx(ResponseField,{name:`durationSec`,type:`number`,id:`param-duration-sec`,children:`Talk time in seconds.`}),_jsx(ResponseField,{name:`billedSec`,type:`number`,id:`param-billed-sec`,children:`Billed seconds.`}),_jsx(ResponseField,{name:`billedCents`,type:`number`,id:`param-billed-cents`,children:`Internal cost for the call, in cents.`}),_jsx(ResponseField,{name:`hangupCause`,type:`string`,id:`param-hangup-cause`,children:`Why the call ended.`}),_jsxs(ResponseField,{name:`recordingUrl`,type:`string`,id:`param-recording-url`,children:[`Signed download URL for the recording audio, or `,_jsx(_components.code,{children:`null`}),`. See `,_jsx(_components.a,{href:`#recording-urls-expire`,children:`Recording URLs expire`}),`.`]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`You only ever see calls in your own workspace. Recordings resolve a few seconds after\na call ends; a `,_jsx(_components.code,{children:`null`}),` `,_jsx(_components.code,{children:`recordingUrl`}),` on a live or very recent call is expected.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`recording-urls-expire`,children:`Recording URLs expire`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`recordingUrl`}),` is a `,_jsx(_components.strong,{children:`signed link that expires 30 days after you fetch it`}),`. Do not\nstore the URL — store the `,_jsx(_components.code,{children:`callId`}),` and call this endpoint again when you need the\naudio. A saved URL will start returning an error once it lapses.`]})}),`\n`,_jsx(_components.p,{children:`Each call returns a fresh link, so re-requesting is the supported way to get a\nworking URL. The audio itself is kept indefinitely; only the link is time-limited.`}),`\n`,_jsx(Heading,{level:`2`,id:`when-a-recording-exists`,children:`When a recording exists`}),`\n`,_jsxs(_components.p,{children:[`A recording only exists for a call that `,_jsx(_components.strong,{children:`connected`}),`. Specifically:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Recording starts the moment the call is `,_jsx(_components.strong,{children:`answered`}),`, so unanswered, busy and\nfailed calls have no audio and return `,_jsx(_components.code,{children:`recordingUrl: null`}),`.`]}),`\n`,_jsx(_components.li,{children:`A call answered and dropped within a second or two may also have no audio — the\nrecording had not started yet.`}),`\n`,_jsxs(_components.li,{children:[`Audio is `,_jsx(_components.strong,{children:`MP3, mono`}),`. Both sides of the conversation are mixed into a single\nchannel, so the format is suited to playback and transcription, but not to\nseparating the speakers.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`automatic-crm-sync`,children:`Automatic CRM sync`}),`\n`,_jsxs(_components.p,{children:[`If your workspace has `,_jsx(_components.strong,{children:`HubSpot`}),` connected, you do not need this endpoint to get\nrecordings into your CRM. When a call ends, Tuco writes a note to that contact’s\nHubSpot timeline containing a play link, timestamped to the time of the call.\nNothing to configure.`]}),`\n`,_jsxs(_components.p,{children:[`Use this endpoint when you want the audio in `,_jsx(_components.strong,{children:`your own`}),` system — a data\nwarehouse, a transcription pipeline, or a CRM other than HubSpot.`]}),`\n`,_jsx(_components.hr,{}),`\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:`HTTP`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`code`})}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`401`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`UNAUTHORIZED`})}),_jsx(_components.td,{children:`Missing or invalid API key`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MISSING_NUMBER`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`number`}),` (the lead phone number) not provided`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`500`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INTERNAL_ERROR`})}),_jsx(_components.td,{children:`Unexpected server error`})]})]})]})]})}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":"Get Call Recordings Endpoint","api":"GET /api/voice/recordings","tag":"BETA","description":"Fetch a lead's calls with timing details and the recording download URL, by phone number, using your API key.","href":"/api-reference/endpoint/get-recordings"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Making a request","slug":"making-a-request","depth":2,"children":[{"title":"Query parameters","slug":"query-parameters","depth":3,"children":[]}]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Recording URLs expire","slug":"recording-urls-expire","depth":2,"children":[]},{"title":"When a recording exists","slug":"when-a-recording-exists","depth":2,"children":[]},{"title":"Automatic CRM sync","slug":"automatic-crm-sync","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{},"endpoint":{"title":"Get Call Recordings Endpoint","path":"/api/voice/recordings","servers":[{"url":"https://app.tuco.ai"}],"method":"get","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":{"number":{"schema":[{"type":"string","description":"The lead’s phone number, E.164 (e.g. `+13025550123` ). URL-encode the `+` as `%2B` . In a query string a raw `+` means a space, and calls are matched on the exact E.164 string — so `?number=+13025550123` looks up `13025550123` , matches nothing, and returns `200` with `\"count\": 0` . The Try it panel encodes this for you; hand-written requests must do it themselves.","required":true}]},"to":{"schema":[{"type":"string","description":"Alias for `number` . Accepted interchangeably; supply one or the other."}]},"latest":{"schema":[{"type":"boolean","description":"Return only the most recent call to that number."}]},"withRecordingOnly":{"schema":[{"type":"boolean","description":"Return only calls that have a recording URL."}]},"limit":{"schema":[{"type":"number","description":"Max calls to return. Default `20` , max `100` . Ignored when `latest=true` ."}]}},"header":{},"cookie":{},"path":{}},"body":{}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"number":[{"type":"string","description":"The number you queried."}],"count":[{"type":"number","description":"Number of calls returned."}],"calls":[{"type":"array","items":[{"type":"object","properties":{"callId":[{"type":"string","description":"Call record ID."}],"from":[{"type":"string","description":"Caller ID the lead saw (your Tuco number)."}],"to":[{"type":"string","description":"The number called."}],"agent":[{"type":"string","description":"Your rep’s number (API calls only)."}],"surface":[{"type":"string","description":"Where the call was placed from — `api` , `tuco_unibox` , `tuco_leads` , `ghl_menu` , `pd_dialer` , `hubspot_ext` or `direct_url` ."}],"status":[{"type":"string","description":"`requested` · `ringing` · `answered` · `billed` · `failed` ."}],"requestedAt":[{"type":"string","description":"When the call was created."}],"answeredAt":[{"type":"string","description":"When it connected."}],"endedAt":[{"type":"string","description":"When it ended."}],"durationSec":[{"type":"number","description":"Talk time in seconds."}],"billedSec":[{"type":"number","description":"Billed seconds."}],"billedCents":[{"type":"number","description":"Internal cost for the call, in cents."}],"hangupCause":[{"type":"string","description":"Why the call ended."}],"recordingUrl":[{"type":"string","description":"Signed download URL for the recording audio, or `null` . See Recording URLs expire ."}]}}],"description":"The calls, newest first."}]}}],"examples":{"example":{"value":{"number":"\u003cstring>","count":123,"calls":[{"callId":"\u003cstring>","from":"\u003cstring>","to":"\u003cstring>","agent":"\u003cstring>","surface":"\u003cstring>","status":"\u003cstring>","requestedAt":"\u003cstring>","answeredAt":"\u003cstring>","endedAt":"\u003cstring>","durationSec":123,"billedSec":123,"billedCents":123,"hangupCause":"\u003cstring>","recordingUrl":"\u003cstring>"}]}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"tucoai","siteName":"Tuco AI","title":"Get Call Recordings Endpoint - Tuco AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-05T19:29:09.624Z","originalFileLocation":"api-reference/endpoint/get-recordings.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=\"Fetch a lead\u0026#x27;s calls with timing details and the recording download URL, by phone number, using your API key.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Tuco AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tucoai/pPwoyrnQogjfeGN5/_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/tucoai/pPwoyrnQogjfeGN5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tucoai/pPwoyrnQogjfeGN5/_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/tucoai/pPwoyrnQogjfeGN5/_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/tucoai/pPwoyrnQogjfeGN5/_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/tucoai/pPwoyrnQogjfeGN5/_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/tucoai/pPwoyrnQogjfeGN5/_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/tucoai/pPwoyrnQogjfeGN5/_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/tucoai/pPwoyrnQogjfeGN5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get Call Recordings Endpoint - Tuco AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Fetch a lead\u0026#x27;s calls with timing details and the recording download URL, by phone number, using your API key.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tuco AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tuco.ai/api-reference/endpoint/get-recordings\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tucoai.mintlify.app/_mintlify/api/og/v2?division=Voice+%2F+Calling\u0026amp;title=Get+Call+Recordings+Endpoint\u0026amp;description=Fetch+a+lead%27s+calls+with+timing+details+and+the+recording+download+URL%2C+by+phone+number%2C+using+your+API+key.\u0026amp;theme=6ee776b2be11f4145c07cfc0\u0026amp;signature=7d62e61a1d5ba6acc7bbee2ae9e8cdab2f6c5cfeeefd5268fcb2f11b9ae68d0e\">\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=\"Get Call Recordings Endpoint - Tuco AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Fetch a lead\u0026#x27;s calls with timing details and the recording download URL, by phone number, using your API key.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tucoai.mintlify.app/_mintlify/api/og/v2?division=Voice+%2F+Calling\u0026amp;title=Get+Call+Recordings+Endpoint\u0026amp;description=Fetch+a+lead%27s+calls+with+timing+details+and+the+recording+download+URL%2C+by+phone+number%2C+using+your+API+key.\u0026amp;theme=6ee776b2be11f4145c07cfc0\u0026amp;signature=7d62e61a1d5ba6acc7bbee2ae9e8cdab2f6c5cfeeefd5268fcb2f11b9ae68d0e\">\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/tucoai/pPwoyrnQogjfeGN5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tuco AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF3515\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tuco.ai/api-reference/endpoint/get-recordings\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/get-recordings.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tuco.ai/#organization\",\"name\":\"Tuco AI\",\"url\":\"https://docs.tuco.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tucoai/oqQbf84LeXHYKs-3/logo/light.svg?fit=max\u0026auto=format\u0026n=oqQbf84LeXHYKs-3\u0026q=85\u0026s=c601a209f9f05fe52c2cd2e67d63adeb\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tuco.ai#website\",\"name\":\"Tuco AI\",\"url\":\"https://docs.tuco.ai\",\"publisher\":{\"@id\":\"https://docs.tuco.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tuco.ai/api-reference/endpoint/get-recordings#webpage\",\"url\":\"https://docs.tuco.ai/api-reference/endpoint/get-recordings\",\"name\":\"Get Call Recordings Endpoint\",\"description\":\"Fetch a lead's calls with timing details and the recording download URL, by phone number, using your API key.\",\"dateModified\":\"2026-10-05T19:29:09.624Z\",\"isPartOf\":{\"@id\":\"https://docs.tuco.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tuco.ai/api-reference/endpoint/get-recordings#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tuco.ai/api-reference/endpoint/get-recordings#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Voice / Calling\",\"item\":\"https://docs.tuco.ai/api-reference/endpoint/place-call\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get Call Recordings Endpoint\",\"item\":\"https://docs.tuco.ai/api-reference/endpoint/get-recordings\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.tuco.ai/api-reference/endpoint/get-recordings#apireference\",\"headline\":\"Get Call Recordings Endpoint\",\"name\":\"Get Call Recordings Endpoint\",\"description\":\"Fetch a lead's calls with timing details and the recording download URL, by phone number, using your API key.\",\"url\":\"https://docs.tuco.ai/api-reference/endpoint/get-recordings\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tuco.ai/api-reference/endpoint/get-recordings#webpage\"},\"dateModified\":\"2026-10-05T19:29:09.624Z\",\"publisher\":{\"@id\":\"https://docs.tuco.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tuco.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tuco AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Tuco AI","nav":{"global":{"anchors":[{"anchor":"Dashboard","icon":"browser","href":"https://app.tuco.ai"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API Overview","icon":"code","href":"/api-reference/introduction"},{"title":"Tuco API Keys","icon":"key","href":"/api-reference/api-keys"},{"title":"Agency API Keys","icon":"building","href":"/api-reference/agency-api-keys"}]},{"group":"Webhooks","pages":[{"title":"Webhooks Overview","icon":"webhook","href":"/api-reference/endpoint/webhook"},{"title":"Message Webhooks","icon":"webhook","href":"/api-reference/message-webhooks"},{"title":"List Webhooks","api":"GET /api/webhooks","href":"/api-reference/endpoint/list-webhooks"},{"title":"Create Webhook","api":"POST /api/webhooks","href":"/api-reference/endpoint/create-webhook"},{"title":"Get Webhook","api":"GET /api/webhooks/{id}","href":"/api-reference/endpoint/get-webhook"},{"title":"Update Webhook","api":"PATCH /api/webhooks/{id}","href":"/api-reference/endpoint/update-webhook"},{"title":"Delete Webhook","api":"DELETE /api/webhooks/{id}","href":"/api-reference/endpoint/delete-webhook"},{"title":"Rotate Webhook Secret","api":"POST /api/webhooks/{id}/rotate-secret","href":"/api-reference/endpoint/rotate-webhook-secret"},{"title":"Send Test Webhook","api":"POST /api/webhooks/{id}/test","href":"/api-reference/endpoint/send-test-webhook"},{"title":"Webhook Health Check","api":"POST /api/webhooks/{id}/health-check","href":"/api-reference/endpoint/test-webhook"},{"title":"List Webhook Deliveries","api":"GET /api/webhooks/{id}/deliveries","href":"/api-reference/endpoint/list-webhook-deliveries"},{"title":"Get Webhook Delivery","api":"GET /api/webhooks/{id}/deliveries/{deliveryId}","href":"/api-reference/endpoint/get-webhook-delivery"},{"title":"Replay Webhook Delivery","api":"POST /api/webhooks/{id}/deliveries/{deliveryId}/replay","href":"/api-reference/endpoint/replay-webhook-delivery"}]},{"group":"Errors and status codes","pages":[{"title":"Errors \u0026 Status Codes","icon":"circle-exclamation","href":"/api-reference/errors"}]},{"group":"iMessage Availability","pages":[{"title":"Check iMessage Availability (Single Address)","api":"GET /api/check-availability","href":"/api-reference/endpoint/check-availability"},{"title":"Check iMessage Availability (Round-Robin)","api":"POST /api/check-availability-rr","href":"/api-reference/endpoint/check-availability-rr"},{"title":"Check iMessage Availability (Single Lead)","api":"GET /api/leads/check-availability","href":"/api-reference/endpoint/lead-check-availability"},{"title":"Bulk Availability Check Endpoint","api":"POST /api/leads/check-availability","href":"/api-reference/endpoint/bulk-check-availability"}]},{"group":"Messages","pages":[{"title":"Messages","icon":"paper-plane","href":"/api-reference/messages"},{"title":"Drip (bulk shock-absorber)","icon":"faucet-drip","href":"/api-reference/drip"},{"title":"Send Message","api":"POST /api/messages","href":"/api-reference/endpoint/send-message"},{"title":"Get Message History","api":"GET /api/messages","href":"/api-reference/endpoint/get-messages"},{"title":"Send Drip","api":"POST /api/drip","href":"/api-reference/endpoint/send-drip"},{"title":"Send Reaction","api":"POST /api/messages/react","href":"/api-reference/endpoint/send-reaction"},{"title":"Send Typing Indicator","api":"POST /api/messages/typing","href":"/api-reference/endpoint/send-typing-indicator"},{"title":"Send with Attachments","api":"POST /api/messages","href":"/api-reference/endpoint/send-with-attachments"},{"title":"Upload Attachment","openapi":"POST /api/attachments/upload","href":"/api-reference/upload-attachment"},{"title":"Cancel Pending Messages","api":"POST /api/messages/cancel-for-lead","href":"/api-reference/endpoint/cancel-for-lead"},{"title":"Read Fallback SMS Config","api":"GET /api/workspace/fallback-config","href":"/api-reference/endpoint/fallback-config"},{"title":"Update Fallback SMS Config","api":"PATCH /api/workspace/fallback-config","href":"/api-reference/endpoint/update-fallback-config"},{"title":"Atomic Duplicate Guard — POST /api/messages","href":"/imessage-double-send-guard"},{"title":"Message Status","api":"GET /api/messages/{messageId}/journey","href":"/api-reference/endpoint/message-journey"}]},{"group":"Voice / Calling","pages":[{"title":"Place a Call Endpoint","api":"POST /api/voice/calls","tag":"BETA","description":"Place an outbound click-to-call from your own system: Tuco dials your agent, dials the lead from your Tuco number, and bridges the two.","href":"/api-reference/endpoint/place-call"},{"title":"Get Call Recordings Endpoint","api":"GET /api/voice/recordings","tag":"BETA","href":"/api-reference/endpoint/get-recordings"},{"title":"List Recordings \u0026 Uploads Endpoint","api":"GET /api/attachments/list","tag":"BETA","description":"List every call recording and uploaded file in your workspace, newest first, with signed playback links.","href":"/api-reference/endpoint/list-recordings"}]},{"group":"Replies","pages":[{"title":"List Conversations","api":"GET /api/unibox/conversations","href":"/api-reference/endpoint/conversations"},{"title":"Check Replies","api":"GET /api/replies","href":"/api-reference/endpoint/get-replies"}]},{"group":"Do Not Contact","pages":[{"title":"List / Check Do-Not-Contact","openapi":"GET /api/dnc","href":"/api-reference/endpoint/list-dnc"},{"title":"Add to Do-Not-Contact","openapi":"POST /api/dnc","href":"/api-reference/endpoint/add-dnc"},{"title":"Bulk Add to Do-Not-Contact","openapi":"PATCH /api/dnc","href":"/api-reference/endpoint/bulk-add-dnc"}]},{"group":"Lines \u0026 Leads","pages":[{"title":"Lines API","icon":"phone","href":"/api-reference/lines"},{"title":"Get All Lines","api":"GET /api/lines/by-user","href":"/api-reference/endpoint/get-lines"},{"title":"Update a Line","api":"PATCH /api/lines/{id}","href":"/api-reference/endpoint/update-line"},{"title":"Line Plan Limits","api":"GET /api/lines/limits","href":"/api-reference/endpoint/line-limits"},{"title":"Calling Add-ons","api":"GET /api/lines/{id}/calling-addons","href":"/api-reference/endpoint/calling-addons"},{"title":"Leads API","icon":"users","href":"/api-reference/leads"},{"title":"Create / Upload Lead Endpoint","api":"POST /api/leads","href":"/api-reference/endpoint/create"},{"title":"Get \u0026 Search Leads","api":"GET /api/leads","href":"/api-reference/endpoint/get"},{"title":"Delete Lead Endpoint","api":"DELETE /api/leads","href":"/api-reference/endpoint/delete"},{"title":"List Lead Lists","api":"GET /api/lists","href":"/api-reference/endpoint/list-lists"},{"title":"Create Lead List","api":"POST /api/lists","href":"/api-reference/endpoint/create-list"},{"title":"Delete Lead List","api":"DELETE /api/lists","href":"/api-reference/endpoint/delete-list"},{"title":"List Custom Field Keys","api":"GET /api/leads/custom-field-keys","href":"/api-reference/endpoint/custom-field-keys"},{"title":"Create Line Request","api":"POST /api/line-requests","href":"/api-reference/endpoint/create-line-request"},{"title":"Get Line Request","api":"GET /api/line-requests/{id}","href":"/api-reference/endpoint/get-line-request"},{"title":"Manage Line Request","api":"POST /api/line-requests/{id}","href":"/api-reference/endpoint/manage-line-request"},{"title":"Cancel a Line","api":"POST /api/lines/cancel","href":"/api-reference/endpoint/cancel-line"},{"title":"Get Lead","api":"GET /api/leads/{id}","href":"/api-reference/endpoint/get-lead"},{"title":"Update Lead","api":"PATCH /api/leads/{id}","href":"/api-reference/endpoint/update-lead"}]},{"group":"Analytics","pages":[{"title":"Analytics","icon":"chart-line","href":"/api-reference/analytics"},{"title":"Analytics Insights","api":"GET /api/analytics/insights","href":"/api-reference/endpoint/analytics-insights"},{"title":"Analytics Day Conversations","api":"GET /api/analytics/conversations","href":"/api-reference/endpoint/analytics-conversations"}]},{"group":"Goal Bots","pages":[{"title":"List Goal Bots","api":"GET /api/goal-bots","href":"/api-reference/endpoint/list-goal-bots"},{"title":"Create Goal Bot","api":"POST /api/goal-bots","href":"/api-reference/endpoint/create-goal-bot"},{"title":"Get Goal Bot","api":"GET /api/goal-bots/{id}","href":"/api-reference/endpoint/get-goal-bot"},{"title":"Update Goal Bot","api":"PATCH /api/goal-bots/{id}","href":"/api-reference/endpoint/update-goal-bot"},{"title":"Delete Goal Bot","api":"DELETE /api/goal-bots/{id}","href":"/api-reference/endpoint/archive-goal-bot"},{"title":"Simulate Goal Bot","api":"POST /api/goal-bots/{id}/simulate","href":"/api-reference/endpoint/simulate-goal-bot"},{"title":"Reply Hours","api":"GET|PUT|DELETE /api/goal-bots/{id}/reply-hours","href":"/api-reference/endpoint/reply-hours"},{"title":"List Instruction Bots (retired)","api":"GET /api/instructions","href":"/api-reference/endpoint/list-instruction-bots"},{"title":"List Task Agents","api":"GET /api/tasks","href":"/api-reference/endpoint/list-task-agents"},{"title":"Create Task Agent","api":"POST /api/tasks","href":"/api-reference/endpoint/create-task-agent"},{"title":"Update Task Agent","api":"PATCH /api/tasks/{id}","href":"/api-reference/endpoint/update-task-agent"},{"title":"Delete Task Agent","api":"DELETE /api/tasks/{id}","href":"/api-reference/endpoint/delete-task-agent"},{"title":"Enroll Lead (instruction bots)","api":"POST /api/instructions/{id}/enroll","href":"/api-reference/endpoint/enroll-lead"},{"title":"Unenroll Lead","api":"DELETE /api/goal-bots/{id}/enroll","href":"/api-reference/endpoint/unenroll-lead"}]},{"group":"API Tools","pages":[{"title":"List API Tools","api":"GET /api/campaign-tools","href":"/api-reference/endpoint/list-tools"},{"title":"Create or Update API Tool","api":"POST /api/campaign-tools","href":"/api-reference/endpoint/save-tool"},{"title":"Delete API Tool","api":"DELETE /api/campaign-tools","href":"/api-reference/endpoint/delete-tool"},{"title":"Test API Tool","api":"POST /api/campaign-tools/test","href":"/api-reference/endpoint/test-tool"}]},{"group":"Agency","pages":[{"title":"Agency API Keys","icon":"building","href":"/api-reference/agency-api-keys"},{"title":"List Agency Workspaces","api":"GET /api/agency/subaccounts","href":"/api-reference/endpoint/agency-list-workspaces"},{"title":"Create Agency Workspace","api":"POST /api/agency/subaccounts","href":"/api-reference/endpoint/agency-create-workspace"},{"title":"Re-mint a Client Workspace Key","api":"POST /api/agency/workspace-keys","href":"/api-reference/endpoint/agency-workspace-keys"},{"title":"List Agency Lines","api":"GET /api/agency/lines","href":"/api-reference/endpoint/agency-list-lines"},{"title":"Move a Line Between Workspaces","api":"POST /api/agency/lines","href":"/api-reference/endpoint/agency-move-line"},{"title":"Agency Overview Stats","api":"GET /api/agency/overview","href":"/api-reference/endpoint/agency-overview"},{"title":"Agency Email Preferences","api":"POST /api/agency/email-preferences","href":"/api-reference/endpoint/agency-email-preferences"},{"title":"Agency Webhooks","api":"POST /api/agency/webhooks","href":"/api-reference/endpoint/agency-webhooks"},{"title":"Subscribe a Client to a Plan","api":"POST /api/agency/billing/subscribe","href":"/api-reference/endpoint/agency-subscribe"},{"title":"Monthly Statement","api":"GET /api/agency/statement","href":"/api-reference/endpoint/agency-statement"}]},{"group":"Workspace settings","pages":[{"title":"Workspace Email Preferences","api":"POST /api/email-preferences","href":"/api-reference/endpoint/email-preferences"},{"title":"Invite a Teammate","api":"POST /api/team/invite","href":"/api-reference/endpoint/team-invite"},{"title":"Force a Line Health Check","api":"GET /api/lines/check-availability","href":"/api-reference/endpoint/line-health-check"}]}]}]},"title":"Get Call Recordings Endpoint - Tuco AI","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js"]}