The call log comes back inside data, with the same fields as an item in the list. An ID that is not
24 hexadecimal characters returns 400; a well-formed ID that is not on your team returns 404.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Salesfinity Docs","description":"Learn Salesfinity, the agentic sales platform: build lists with Ari, run parallel dialing sessions, run sequences, connect your CRM, and use the REST API and MCP server. Build pipeline at superhuman speed.","colors":{"primary":"#5429D8","light":"#8B6CF0","dark":"#5429D8"},"logo":{"light":"https://mintcdn.com/salesfinity/YBsYR5N3Fg_u90-H/logo/light.svg?fit=max\u0026auto=format\u0026n=YBsYR5N3Fg_u90-H\u0026q=85\u0026s=e21e087ae3d1330def1fbf87274af05b","dark":"https://mintcdn.com/salesfinity/YBsYR5N3Fg_u90-H/logo/dark.svg?fit=max\u0026auto=format\u0026n=YBsYR5N3Fg_u90-H\u0026q=85\u0026s=3c5233eb319342816ee870dca049dbce"},"favicon":"https://mintcdn.com/salesfinity/YBsYR5N3Fg_u90-H/favicon.png?fit=max\u0026auto=format\u0026n=YBsYR5N3Fg_u90-H\u0026q=85\u0026s=6beb35ff3cf64db277c41d8e84730ceb","appearance":{"default":"light"},"background":{"color":{"light":"#F7F6FA","dark":"#0E0B18"}},"navbar":{"links":[{"href":"https://support.salesfinity.ai","label":"Help Center"},{"href":"https://web.salesfinity.co/dashboard/dialer","label":"Open Salesfinity"}],"primary":{"type":"button","label":"Book a demo","href":"https://salesfinity.ai/demo"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/salesfinity-co","facebook":"https://www.facebook.com/people/Salesfinity/61556891038304","website":"https://salesfinity.ai"},"links":[{"header":"Product","items":[{"label":"Salesfinity","href":"https://salesfinity.ai"},{"label":"Pricing","href":"https://salesfinity.ai/pricing"},{"label":"Integrations","href":"https://salesfinity.ai/integrations"},{"label":"Book a demo","href":"https://salesfinity.ai/demo"}]},{"header":"Resources","items":[{"label":"Help Center","href":"https://support.salesfinity.ai"},{"label":"Blog","href":"https://salesfinity.ai/blog"},{"label":"System status","href":"https://salesfinity.statuspage.io"}]},{"header":"Company","items":[{"label":"About","href":"https://salesfinity.ai/about"},{"label":"Customers","href":"https://salesfinity.ai/customers"},{"label":"Legal","href":"https://salesfinity.ai/legal"}]}]},"search":{"prompt":"Search the docs or ask a question"},"seo":{"metatags":{"og:site_name":"Salesfinity Docs","og:image":"https://docs.salesfinity.ai/images/og.jpg","og:image:width":"1200","og:image:height":"630","twitter:card":"summary_large_image","twitter:image":"https://docs.salesfinity.ai/images/og.jpg"}},"fonts":{"heading":{"family":"Onest","weight":600},"body":{"family":"Onest","weight":400}},"styling":{"eyebrows":"section","codeblocks":"system","latex":false},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Help Center","icon":"circle-question","href":"https://support.salesfinity.ai"},{"anchor":"Blog","icon":"newspaper","href":"https://salesfinity.ai/blog"},{"anchor":"Status page","icon":"signal","href":"https://salesfinity.statuspage.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"salesfinity","hasAudioNarration":false,"actualSubdomain":"salesfinity","customDomains":["docs.salesfinity.ai"],"gitSource":{"type":"github","owner":"salesfinity-web","repo":"api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad17f94e88740c316d6280b","collectionId":"68ad612b-f99a-4daf-b9c5-a935080be466","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad17f94e88740c316d6280b"},"entitlements":{},"buildId":"6ad17f94e88740c316d6280b","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Developers","count":130},{"language":"default","tag":"Sequencer API","count":77},{"language":"default","tag":"Dialer API","count":24},{"language":"default","tag":"Get started","count":22},{"language":"default","tag":"Dialer","count":20},{"language":"default","tag":"Tasks","count":17},{"language":"default","tag":"Enrollments","count":16},{"language":"default","tag":"Sequencer","count":13},{"language":"default","tag":"Use cases","count":13},{"language":"default","tag":"Help","count":12}]},"assistantConfig":{},"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":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"components.css","content":":root{--sf-accent:#5429d8;--sf-ember-deep:#0e0328;--sf-ember-violet:#5429d8;--sf-ember-magenta:#c02a8a;--sf-ember-coral:#ff5a3c;--sf-ember-head:#f5f0ff;--sf-ember-body:#d6ccf7;--sf-ember-accent:#c5b0ff;--sf-ember-shade:linear-gradient(90deg, rgba(12, 2, 44, 0.78) 0%, rgba(12, 2, 44, 0.5) 45%, rgba(12, 2, 44, 0) 75%);--sf-prompt-bg:#faf8ff;--sf-prompt-border:rgba(84, 41, 216, 0.14);--sf-prompt-text:#1d1730;--sf-prompt-muted:#6b6485;--sf-frame-bg:rgba(249, 250, 251, 0.6);--sf-frame-border:rgba(17, 12, 34, 0.08)}html.dark{--sf-prompt-bg:rgba(84, 41, 216, 0.08);--sf-prompt-border:rgba(197, 176, 255, 0.16);--sf-prompt-text:#ece7fb;--sf-prompt-muted:#a59cc4;--sf-frame-bg:rgba(31, 41, 55, 0.25);--sf-frame-border:rgba(255, 255, 255, 0.08)}.sf-prompt{position:relative;margin:1.25rem 0;border:1px solid var(--sf-prompt-border);border-left:3px solid var(--sf-accent);border-radius:12px;background:var(--sf-prompt-bg);overflow:hidden}html.dark .sf-prompt{border-left-color:var(--sf-ember-accent)}.sf-prompt-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .625rem 0 1rem}.sf-prompt-copy,.sf-prompt-label{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem}.sf-prompt-label{font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--sf-accent)}html.dark .sf-prompt-label{color:var(--sf-ember-accent)}.sf-prompt-copy{padding:.3rem .55rem;border:1px solid transparent;border-radius:8px;background:0 0;font:inherit;font-weight:500;color:var(--sf-prompt-muted);cursor:pointer;transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease}.sf-prompt-copy:hover{color:var(--sf-accent);background:rgba(84,41,216,.08);border-color:rgba(84,41,216,.14)}html.dark .sf-prompt-copy:hover{color:var(--sf-ember-head);background:rgba(197,176,255,.1);border-color:rgba(197,176,255,.18)}.sf-prompt-copy:focus-visible{outline:2px solid var(--sf-accent);outline-offset:1px}.sf-prompt-body{padding:.375rem 1rem .875rem;font-family:inherit;font-size:.9375rem;line-height:1.6;color:var(--sf-prompt-text);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.sf-prompt-body p{margin:0 0 .6em}.sf-prompt-body p:last-child{margin-bottom:0}.sf-prompt-body ol,.sf-prompt-body ul{margin:.25em 0 .6em;padding-left:1.25em;white-space:normal}.sf-prompt-body ul{list-style:disc}.sf-prompt-body ol{list-style:decimal}.sf-prompt-body code{font-size:.875em;padding:.1em .3em;border-radius:4px;background:rgba(84,41,216,.08)}.sf-cover{position:relative;display:flex;align-items:flex-end;min-height:220px;margin:.5rem 0 2rem;border-radius:16px;overflow:hidden;isolation:isolate;background:radial-gradient(120% 140% at 85% 110%,var(--sf-ember-coral) 0%,rgba(255,90,60,0) 45%),radial-gradient(90% 120% at 70% 40%,var(--sf-ember-magenta) 0%,rgba(192,42,138,0) 60%),linear-gradient(120deg,var(--sf-ember-deep) 0%,var(--sf-ember-violet) 60%,var(--sf-ember-magenta) 100%);box-shadow:0 1px 2px rgba(14,3,40,.06),0 12px 32px -12px rgba(84,41,216,.35)}.sf-cover-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;margin:0;object-fit:cover;object-position:center;border-radius:0}.sf-cover-shade{position:absolute;inset:0;z-index:-1;background:var(--sf-ember-shade)}.sf-cover-text{max-width:34rem;padding:1.75rem 2rem}.sf-cover-eyebrow{margin-bottom:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sf-ember-accent)}.sf-cover-title{font-size:1.875rem;font-weight:650;line-height:1.15;letter-spacing:-.02em;color:var(--sf-ember-head);text-wrap:balance}.sf-cover-desc{margin-top:.625rem;font-size:1rem;line-height:1.5;color:var(--sf-ember-body);text-wrap:pretty}@media (max-width:640px){.sf-cover{min-height:168px;border-radius:12px}.sf-cover-text{padding:1.25rem}.sf-cover-title{font-size:1.5rem}.sf-cover-desc{font-size:.9375rem}.sf-cover-shade{background:linear-gradient(90deg,rgba(12,2,44,.78) 0,rgba(12,2,44,.6) 70%,rgba(12,2,44,.35) 100%)}}.sf-video{margin:1.5rem 0}.sf-video-frame{padding:.5rem;border:1px solid var(--sf-frame-border);border-radius:16px;background:var(--sf-frame-bg);overflow:hidden}.sf-video-el{display:block;width:100%;height:auto;margin:0;border-radius:10px;background:var(--sf-ember-deep);object-fit:cover}.sf-video-caption{margin-top:.625rem;padding:0 .5rem;font-size:.875rem;line-height:1.5;text-align:center;color:var(--sf-prompt-muted)}.sf-status{display:inline-flex;align-items:center;gap:.35em;padding:.15em .6em;border:1px solid transparent;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.4;letter-spacing:.01em;white-space:nowrap;vertical-align:middle}.sf-status::before{content:\"\";width:.45em;height:.45em;border-radius:999px;background:currentColor}h1 .sf-status,h2 .sf-status,h3 .sf-status,h4 .sf-status{margin-left:.5rem;font-size:.75rem;position:relative;top:-.1em}.sf-status-early-access{color:#4320b4;background:#efeaff;border-color:rgba(84,41,216,.2)}.sf-status-coming-soon{color:#8a4b05;background:#fff4dc;border-color:rgba(217,140,20,.28)}.sf-status-beta{color:#1849a9;background:#e6efff;border-color:rgba(41,112,255,.22)}html.dark .sf-status-early-access{color:#c5b0ff;background:rgba(84,41,216,.22);border-color:rgba(197,176,255,.28)}html.dark .sf-status-coming-soon{color:#fcd38d;background:rgba(217,140,20,.16);border-color:rgba(252,211,141,.26)}html.dark .sf-status-beta{color:#a4c4ff;background:rgba(41,112,255,.18);border-color:rgba(164,196,255,.26)}@media (prefers-reduced-motion:reduce){.sf-prompt-copy{transition:none}}"},{"filePath":"home.css","content":"#content-area:has(.sf-home-hero) header#header,#content-area:has(.sf-home-hero)>#header,#content-container:has(.sf-home-hero) #header{display:none}.sf-home-hero{position:relative;overflow:hidden;isolation:isolate;margin:.25rem 0 2.5rem;padding:clamp(28px,5vw,56px);min-height:320px;border-radius:20px;background:#0e0328 linear-gradient(120deg,#0e0328 0,#5429d8 45%,#c02a8a 75%,#ff5a3c 100%);box-shadow:0 18px 40px rgba(42,10,126,.16);display:flex;flex-direction:column;justify-content:center}.sf-home-hero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center right;margin:0!important;border-radius:0!important;max-height:none!important}.sf-home-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,2,44,.78) 0,rgba(12,2,44,.5) 45%,rgba(12,2,44,0) 75%)}.sf-home-eyebrow{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#c5b0ff}.sf-home-hero h1.sf-home-title{margin:0;max-width:640px;font-size:clamp(38px,5.4vw,60px);font-weight:700;line-height:1;letter-spacing:-.045em;color:#f5f0ff}.sf-home-lede{max-width:560px;margin:18px 0 0;font-size:17px;line-height:1.55;color:#d6ccf7}.sf-home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.sf-home-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:10px;font-size:15px;font-weight:600;text-decoration:none!important;border:1px solid rgba(245,240,255,.28)!important;color:#f5f0ff!important;background:rgba(245,240,255,.08);backdrop-filter:blur(8px);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.sf-home-btn:hover{transform:translateY(-1px);background:rgba(245,240,255,.16)}.sf-home-btn-primary{border-color:#f5f0ff!important;background:#f5f0ff;color:#2a0a7e!important}.sf-home-btn-primary:hover{background:#fff;box-shadow:0 8px 22px rgba(12,2,44,.35)}.sf-home-btn:focus-visible{outline:2px solid #c5b0ff;outline-offset:2px}.sf-home-meta{margin-top:18px;font-size:13px;color:#c5b0ff}@media (max-width:640px){.sf-home-hero{min-height:0;padding:28px 20px;border-radius:16px}.sf-home-hero-shade{background:linear-gradient(90deg,rgba(12,2,44,.8) 0,rgba(12,2,44,.62) 100%)}.sf-home-lede{font-size:16px}}@media (prefers-reduced-motion:reduce){.sf-home-btn{transition:none}.sf-home-btn:hover{transform:none}}"},{"filePath":"style.css","content":":root{--sfb-accent:#5429d8;--sfb-accent-soft:#8b6cf0;--sfb-bg:#f7f6fa;--sfb-surface:#ffffff;--sfb-muted:#f1eff6;--sfb-border:#e3dfec;--sfb-border-strong:#cdc6dc;--sfb-text:#16141c;--sfb-text-muted:#5d5a66;--sfb-accent-hover:rgba(84, 41, 216, 0.05);--sfb-accent-open:rgba(84, 41, 216, 0.03);--sfb-accent-border:rgba(84, 41, 216, 0.28);--sfb-shadow-sm:0 1px 2px rgba(42, 10, 126, 0.05);--sfb-shadow-lift:0 12px 26px -6px rgba(84, 41, 216, 0.16), 0 4px 10px -4px rgba(42, 10, 126, 0.08);--sfb-selection:rgba(84, 41, 216, 0.16)}html.dark{--sfb-accent:#8b6cf0;--sfb-accent-soft:#c5b0ff;--sfb-bg:#0e0b18;--sfb-surface:#15121f;--sfb-muted:#181524;--sfb-border:#2a2638;--sfb-border-strong:#3a3550;--sfb-text:#f5f0ff;--sfb-text-muted:#b5aed0;--sfb-accent-hover:rgba(139, 108, 240, 0.1);--sfb-accent-open:rgba(139, 108, 240, 0.07);--sfb-accent-border:rgba(139, 108, 240, 0.36);--sfb-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.3);--sfb-shadow-lift:0 14px 30px -8px rgba(84, 41, 216, 0.38), 0 4px 12px -4px rgba(0, 0, 0, 0.4);--sfb-selection:rgba(139, 108, 240, 0.32)}::selection{background:var(--sfb-selection)}#content-area h1,#page-title{letter-spacing:-.03em;line-height:1.1}#content-area h2{letter-spacing:-.02em;line-height:1.2}#content-area h3,#content-area h4{letter-spacing:-.015em;line-height:1.25}.eyebrow{letter-spacing:.01em}#content-area strong{font-weight:600}#content-area img:not(.no-style):not(.sf-cover-img):not([data-component-part=card-image]){border-radius:8px}#content-area iframe{width:100%;border:0;border-radius:8px}#content-area iframe[src*=\"loom.com\"],#content-area iframe[src*=\"youtube-nocookie.com\"],#content-area iframe[src*=\"youtube.com\"]{aspect-ratio:16/9;height:auto}#content-area table,.frame{border:1px solid var(--sfb-border)}.frame{border-radius:16px!important;background:var(--sfb-muted)!important}.frame img{border-radius:10px!important}.card{border-radius:14px!important;border-color:var(--sfb-border)!important;background:var(--sfb-surface)!important;box-shadow:var(--sfb-shadow-sm);transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease}.card[href]:hover,a.card:hover{transform:translateY(-2px);border-color:var(--sfb-accent-border)!important;box-shadow:var(--sfb-shadow-lift)}.card img[data-component-part=card-image]{transition:transform 300ms ease}a.card:hover img[data-component-part=card-image]{transform:scale(1.03)}@media (prefers-reduced-motion:reduce){.card,.card img[data-component-part=card-image]{transition:none}.card[href]:hover,a.card:hover,a.card:hover img[data-component-part=card-image]{transform:none}}.accordion,.accordion-group{border-color:var(--sfb-border)!important}.accordion-group{background:0 0!important}.accordion{background-color:var(--sfb-muted)!important;transition:border-color 150ms ease,background-color 150ms ease}.accordion:hover{border-color:var(--sfb-accent-border)!important}.accordion[aria-expanded=true],.accordion[open]{border-color:var(--sfb-accent-border)!important;background-color:var(--sfb-accent-open)!important}details.accordion>summary{background-color:transparent!important}details.accordion>summary:hover{background-color:var(--sfb-accent-hover)!important}.accordion,.callout{border-radius:14px!important}.code-block,.code-group{border-radius:12px!important}#content-area table{border-collapse:separate;border-spacing:0;border-radius:12px;overflow:hidden;font-size:.9375rem}#content-area tbody td,#content-area thead th{border-bottom:1px solid var(--sfb-border)!important}#content-area thead th{background:var(--sfb-muted);color:var(--sfb-text);font-weight:600;font-size:.8125rem;letter-spacing:.01em}#content-area td,#content-area th{padding:.65rem .9rem!important;vertical-align:top}#content-area tbody td{border-top:0!important}#content-area tbody tr:last-child td{border-bottom:0!important}#content-area tbody tr:hover td{background:var(--sfb-accent-hover)}#topbar-cta-button a>span:first-child{border-radius:9999px;transition:box-shadow 150ms ease}#topbar-cta-button a{padding-left:.9rem;padding-right:.7rem;transition:transform 150ms ease}#topbar-cta-button a:hover{transform:translateY(-1px)}#topbar-cta-button a:hover>span:first-child{box-shadow:0 6px 16px rgba(84,41,216,.32)}a[href*=\"utm_campaign=poweredBy\"]{display:none!important}*{scrollbar-width:thin;scrollbar-color:var(--sfb-border-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--sfb-border-strong);border-radius:9999px}::-webkit-scrollbar-track{background:0 0}"}],"page":{"pagePath":"api-reference/endpoint/get-call-log-by-id","slug":"/api-reference/endpoint/get-call-log-by-id","pageMetadata":{"title":"Get a call log","openapi":"GET /v1/call-log/{id}","description":"Returns one call log by its `_id`. Read-only. The fields are the same as in [List call logs](/api-reference/endpoint/call-log). A call that belongs to another team returns 404.","href":"/api-reference/endpoint/get-call-log-by-id"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Returns one call log by its \", _jsx(_components.code, {\n children: \"_id\"\n }), \". Read-only. The fields are the same as in \", _jsx(_components.a, {\n href: \"/api-reference/endpoint/call-log\",\n children: \"List call logs\"\n }), \". A call that belongs to another team returns 404.\"]\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`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`id`}),` is the call log’s `,_jsx(_components.code,{children:`_id`}),`, from `,_jsx(_components.a,{href:`/api-reference/endpoint/call-log`,children:`List call logs`}),` or from\n`,_jsx(_components.code,{children:`call_log._id`}),` on a `,_jsx(_components.a,{href:`/api-reference/endpoint/scored-calls`,children:`scored call`}),`.`]}),`\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://client-api.salesfinity.co/v1/call-log/6703f1c2a9e4b0a1d2c3f4a5`}),_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:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'x-api-key: YOUR_API_KEY'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The call log comes back inside `,_jsx(_components.code,{children:`data`}),`, with the same fields as an item in the list. An ID that is not\n24 hexadecimal characters returns `,_jsx(_components.strong,{children:`400`}),`; a well-formed ID that is not on your team returns `,_jsx(_components.strong,{children:`404`}),`.`]})]})}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":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Get a call log","openapi":"GET /v1/call-log/{id}","description":"Returns one call log by its `_id`. Read-only. The fields are the same as in [List call logs](/api-reference/endpoint/call-log). A call that belongs to another team returns 404.","href":"/api-reference/endpoint/get-call-log-by-id"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Call Logs"],"description":"Returns one call log by its `_id`. Read-only. The fields are the same as in [List call logs](/api-reference/endpoint/call-log). A call that belongs to another team returns 404.","operationId":"get-call-log-by-id","parameters":["74face94-5593-485c-9831-e760145e3168"],"responses":{"200":"7ad7a6cd-16f1-4adb-9a2a-446df0cea4d1","400":"40d6e82d-ef2c-4bc9-a0d3-a3d942804578","403":"a362b2ff-e04c-41c6-be2f-9a29f48953e6","404":"c6b3dcd4-a61c-4945-ad9f-729ce6cb3e75","429":"00d66b9c-d211-4822-971d-037e3da490c5","500":"2f3d2f4d-f76d-4dfc-8d99-d4d991c2f1a7"},"summary":"Get a call log","method":"get","type":"path","servers":["e454be74-cffb-47a4-ba19-76c8aa914a2a"],"security":["d89798b7-2249-48bf-bec9-f116988c3362"],"path":"/v1/call-log/{id}","baseUrlOptions":["https://client-api.salesfinity.co"],"title":"Get a call log","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"74face94-5593-485c-9831-e760145e3168":{"name":"id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"Call log `_id`, a 24-character hex ID.","uniqueKey":"","typeLabel":"string"},"description":"Call log `_id`, a 24-character hex ID.","example":"6703f1c2a9e4b0a1d2c3f4a5"}},"responses":{"7ad7a6cd-16f1-4adb-9a2a-446df0cea4d1":{"description":"The call log, wrapped in `data`.","headers":{"X-Request-Id":{"description":"Identifies the request in Salesfinity's logs, and matches `request_id` in an error body. Echoes the `X-Request-Id` you sent when it is 1 to 128 characters of letters, digits, `.`, `_`, `:` and `-`; otherwise Salesfinity generates one.","schema":{"type":"string"},"example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"X-RateLimit-Limit":{"description":"Requests allowed per minute in the rate-limit bucket this request counted against. Limits are per team: every API key on the team shares them.","schema":{"type":"integer"},"example":300},"X-RateLimit-Remaining":{"description":"Requests left in the current one-minute window for this bucket.","schema":{"type":"integer","minimum":0},"example":0},"X-RateLimit-Reset":{"description":"Seconds until the current window ends and the bucket resets. At least 1 and at most 60.","schema":{"type":"integer","minimum":0},"example":12}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"_id":{"type":"string","description":"Call log ID.","uniqueKey":"data._id","typeLabel":"string"},"call_id":{"type":"string","description":"Identifier of the phone call this log records.","uniqueKey":"data.call_id","typeLabel":"string"},"outcome":{"type":"string","enum":["answered","no-answer","cancelled"],"description":"How the call ended: `answered`, `no-answer` or `cancelled`.","uniqueKey":"data.outcome","typeLabel":"enum\u003cstring>"},"direction":{"type":"string","enum":["inbound","outbound"],"description":"`outbound` for a call the rep placed, `inbound` for one they received.","uniqueKey":"data.direction","typeLabel":"enum\u003cstring>"},"answered_by":{"type":"string","enum":["human","machine_start"],"description":"Who picked up, from answering-machine detection: `human`, or `machine_start` for voicemail or an answering machine. May be absent.","uniqueKey":"data.answered_by","typeLabel":"enum\u003cstring>"},"duration":{"type":"number","description":"Call length in seconds.","uniqueKey":"data.duration","typeLabel":"number"},"to":{"type":"string","description":"The number called.","uniqueKey":"data.to","typeLabel":"string"},"from":{"type":"string","description":"The number the call was placed from.","uniqueKey":"data.from","typeLabel":"string"},"disposition":{"type":"object","properties":{"internal_id":{"type":"integer","description":"Disposition `id`. The value `filters[disposition_ids][]` matches.","uniqueKey":"data.disposition.internal_id","typeLabel":"integer"},"external_id":{"type":"string","description":"Identifier stored with the disposition.","uniqueKey":"data.disposition.external_id","typeLabel":"string"},"external_name":{"type":"string","description":"Label stored with the disposition.","uniqueKey":"data.disposition.external_name","typeLabel":"string"}},"description":"The outcome the rep logged. `internal_id` is the Salesfinity disposition `id` from [List dispositions](/api-reference/endpoint/get-dispositions); custom dispositions carry the ID of the default they are based on.","uniqueKey":"data.disposition","typeLabel":"object"},"contact":{"type":"object","description":"The contact as it was when the call was logged. `crm_id` is not returned, but `filters[crm_ids][]` still matches it. `external_relations` holds the record's links in the platform it came from, such as `sequence.id` and `sequence.name`, which `filters[sequences][]` matches.","properties":{"_id":{"type":"string","description":"Contact ID. The value `filters[contact_ids][]` matches.","uniqueKey":"data.contact._id","typeLabel":"string"},"first_name":{"type":"string","description":"First name.","uniqueKey":"data.contact.first_name","typeLabel":"string"},"last_name":{"type":"string","description":"Last name.","uniqueKey":"data.contact.last_name","typeLabel":"string"},"email":{"type":"string","description":"Email address.","uniqueKey":"data.contact.email","typeLabel":"string"},"title":{"type":"string","description":"Job title.","uniqueKey":"data.contact.title","typeLabel":"string"},"company":{"type":"string","description":"Company name.","uniqueKey":"data.contact.company","typeLabel":"string"},"phone_numbers":{"type":"array","description":"The contact's phone numbers.","items":{"type":"object","properties":{"type":{"type":"string","description":"`mobile`, `direct` or `office`.","uniqueKey":"data.contact.phone_numbers.items.[INDEX].type","typeLabel":"string"},"number":{"type":"string","description":"Phone number.","uniqueKey":"data.contact.phone_numbers.items.[INDEX].number","typeLabel":"string"},"country_code":{"type":"string","description":"Country code, when stored.","uniqueKey":"data.contact.phone_numbers.items.[INDEX].country_code","typeLabel":"string"},"extension":{"type":"string","description":"Extension, when stored.","uniqueKey":"data.contact.phone_numbers.items.[INDEX].extension","typeLabel":"string"}},"uniqueKey":"data.contact.phone_numbers.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.contact.phone_numbers","typeLabel":"object[]"},"linkedin":{"type":"string","description":"LinkedIn profile URL.","uniqueKey":"data.contact.linkedin","typeLabel":"string"},"website":{"type":"string","description":"Company website.","uniqueKey":"data.contact.website","typeLabel":"string"},"timezone":{"type":"string","description":"IANA time zone, for example `America/New_York`.","uniqueKey":"data.contact.timezone","typeLabel":"string"},"source":{"type":"string","description":"Integration the contact came from, for example `csv`, `hubspot` or `salesforce`.","uniqueKey":"data.contact.source","typeLabel":"string"},"url":{"type":"string","description":"Link to the record in the platform it came from.","uniqueKey":"data.contact.url","typeLabel":"string"},"external_relations":{"type":"object","additionalProperties":true,"description":"Links to the record in its source platform, such as `contact`, `task` and `sequence`. The keys depend on the platform.","uniqueKey":"data.contact.external_relations","typeLabel":"object"}},"uniqueKey":"data.contact","typeLabel":"object"},"contact_list":{"type":"object","description":"The dialing-queue list (ContactList) the call was placed from. Its `_id` is the queue ID; for CSV lists that differs from `source.id`. Unchanged for backward compatibility. Absent, or `null`, when the call has no list or the list was deleted.","properties":{"_id":{"type":"string","description":"List ID. The value `filters[contact_list_ids][]` matches.","uniqueKey":"data.contact_list._id","typeLabel":"string"},"name":{"type":"string","description":"List name.","uniqueKey":"data.contact_list.name","typeLabel":"string"}},"uniqueKey":"data.contact_list","typeLabel":"object"},"source":{"type":"object","description":"The original source list the call came from. Additive; `contact_list` is left untouched. `type` falls back to the contact's integration when the list is not a CSV list.","properties":{"type":{"oneOf":[{"type":"string","description":"Integration source type (e.g. csv, hubspot, salesforce). Null if unknown.","uniqueKey":"data.source.type.oneOf.0","typeLabel":"string"},{"type":"null","description":"Integration source type (e.g. csv, hubspot, salesforce). Null if unknown.","uniqueKey":"data.source.type.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.source.type","typeLabel":"string | null"},"id":{"oneOf":[{"type":"string","description":"The original source list id. For CSV lists this is the CSV list id (CsvContacts._id). Null for non-CSV lists (no external list id is stored).","uniqueKey":"data.source.id.oneOf.0","typeLabel":"string"},{"type":"null","description":"The original source list id. For CSV lists this is the CSV list id (CsvContacts._id). Null for non-CSV lists (no external list id is stored).","uniqueKey":"data.source.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.source.id","typeLabel":"string | null"},"name":{"oneOf":[{"type":"string","description":"The source list name. Null when unresolved.","uniqueKey":"data.source.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"The source list name. Null when unresolved.","uniqueKey":"data.source.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.source.name","typeLabel":"string | null"}},"uniqueKey":"data.source","typeLabel":"object"},"user":{"type":"object","properties":{"_id":{"type":"string","isRequired":true,"uniqueKey":"data.user._id","typeLabel":"string"},"email":{"type":"string","isRequired":true,"uniqueKey":"data.user.email","typeLabel":"string"},"first_name":{"type":"string","isRequired":true,"uniqueKey":"data.user.first_name","typeLabel":"string"},"last_name":{"type":"string","isRequired":true,"uniqueKey":"data.user.last_name","typeLabel":"string"}},"required":["_id","email","first_name","last_name"],"uniqueKey":"data.user","typeLabel":"object"},"phone_number":{"type":"object","description":"The contact number that was dialed, with its type. Analytics `data_quality` counts calls to `mobile` and `direct` numbers.","properties":{"type":{"type":"string","description":"`mobile`, `direct` or `office`.","uniqueKey":"data.phone_number.type","typeLabel":"string"},"number":{"type":"string","description":"Phone number.","uniqueKey":"data.phone_number.number","typeLabel":"string"}},"uniqueKey":"data.phone_number","typeLabel":"object"},"recording_url":{"type":"string","description":"Link to the call recording. Absent when the call was not recorded.","uniqueKey":"data.recording_url","typeLabel":"string"},"notes":{"type":"string","description":"Notes the rep logged.","uniqueKey":"data.notes","typeLabel":"string"},"transcription":{"type":"string","description":"Plain-text transcript, when the call was transcribed.","uniqueKey":"data.transcription","typeLabel":"string"},"summary":{"type":"string","description":"AI summary of the call, when one was generated.","uniqueKey":"data.summary","typeLabel":"string"},"is_completed":{"type":"boolean","description":"`false` marks a call that does not count as finished: an attempt the rep moved on from to dial another of the contact's numbers, or an inbound call answered in the app that the rep has not logged yet. Analytics count only calls where this is not `false`.","uniqueKey":"data.is_completed","typeLabel":"boolean"},"started_at":{"type":"string","format":"date-time","description":"When the call started.","uniqueKey":"data.started_at","typeLabel":"string\u003cdate-time>"},"ended_at":{"type":"string","format":"date-time","description":"When the call ended.","uniqueKey":"data.ended_at","typeLabel":"string\u003cdate-time>"},"createdAt":{"type":"string","format":"date-time","description":"When the call was logged. Date filters and the default sort use this field.","uniqueKey":"data.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"When the log last changed.","uniqueKey":"data.updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"data":{"_id":"6703f1c2a9e4b0a1d2c3f4a5","call_id":"call_abc123","outcome":"answered","direction":"outbound","answered_by":"human","duration":184,"to":"+14155550123","from":"+14155550987","disposition":{"internal_id":1,"external_id":"meeting_set","external_name":"Meeting Set"},"contact":{"_id":"66f0a1b2c3d4e5f6a7b8c9d0","first_name":"John","last_name":"Doe","email":"[email protected]","title":"VP of Sales","company":"Acme Corp","source":"csv"},"contact_list":{"_id":"66e9b8a7c6d5e4f3a2b1c0d9","name":"Q3 Enterprise Prospects"},"source":{"type":"csv","id":"66e9b8a7c6d5e4f3a2b1c0aa","name":"Q3 Enterprise Prospects"},"user":{"_id":"64d2b3f2c4e3a6b8f2d9e1a7","first_name":"Jane","last_name":"Smith","email":"[email protected]"},"phone_number":{"type":"mobile","number":"+14155550123"},"recording_url":"https://recordings.example.com/call_abc123.mp3","notes":"Booked a demo for Tuesday.","is_completed":true,"started_at":"2026-09-30T17:02:11.000Z","ended_at":"2026-09-30T17:05:15.000Z","createdAt":"2026-09-30T17:05:20.000Z","updatedAt":"2026-09-30T17:05:20.000Z"}},"examples":{"Example":{"title":"Example","value":{"data":{"_id":"6703f1c2a9e4b0a1d2c3f4a5","call_id":"call_abc123","outcome":"answered","direction":"outbound","answered_by":"human","duration":184,"to":"+14155550123","from":"+14155550987","disposition":{"internal_id":1,"external_id":"meeting_set","external_name":"Meeting Set"},"contact":{"_id":"66f0a1b2c3d4e5f6a7b8c9d0","first_name":"John","last_name":"Doe","email":"[email protected]","title":"VP of Sales","company":"Acme Corp","source":"csv"},"contact_list":{"_id":"66e9b8a7c6d5e4f3a2b1c0d9","name":"Q3 Enterprise Prospects"},"source":{"type":"csv","id":"66e9b8a7c6d5e4f3a2b1c0aa","name":"Q3 Enterprise Prospects"},"user":{"_id":"64d2b3f2c4e3a6b8f2d9e1a7","first_name":"Jane","last_name":"Smith","email":"[email protected]"},"phone_number":{"type":"mobile","number":"+14155550123"},"recording_url":"https://recordings.example.com/call_abc123.mp3","notes":"Booked a demo for Tuesday.","is_completed":true,"started_at":"2026-09-30T17:02:11.000Z","ended_at":"2026-09-30T17:05:15.000Z","createdAt":"2026-09-30T17:05:20.000Z","updatedAt":"2026-09-30T17:05:20.000Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"40d6e82d-ef2c-4bc9-a0d3-a3d942804578":{"description":"`id` is not a valid 24-character hex ID.","headers":{"X-Request-Id":{"description":"Identifies the request in Salesfinity's logs, and matches `request_id` in an error body. Echoes the `X-Request-Id` you sent when it is 1 to 128 characters of letters, digits, `.`, `_`, `:` and `-`; otherwise Salesfinity generates one.","schema":{"type":"string"},"example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"}},"content":{"application/json":{"schema":{"type":"object","title":"Error","description":"The error envelope returned by every Salesfinity API error response. The shape is identical across all status codes and all endpoints, and `request_id` is present on every error the API returns.","required":["message","error","statusCode","request_id"],"properties":{"message":{"oneOf":[{"type":"string","description":"Human-readable description of the failure. A string for most errors, and an array of strings when request validation fails, with one entry per field that did not validate.","example":"Forbidden resource","isRequired":true,"uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Human-readable description of the failure. A string for most errors, and an array of strings when request validation fails, with one entry per field that did not validate.","example":"Forbidden resource","isRequired":true,"uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","description":"Stable HTTP reason phrase for the status code, such as `Forbidden`. One exception: a 403 from a `/v2/sequencer` write whose `user_id` has no active plan or seat carries `NO_ACTIVE_PLAN` here. Branch on this rather than on `message`.","example":"Forbidden","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"statusCode":{"type":"integer","format":"int32","description":"HTTP status code, repeated in the body so it survives transports that drop it.","example":403,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer\u003cint32>"},"request_id":{"type":"string","description":"Identifies the request in Salesfinity's logs; the same value as the `X-Request-Id` response header. Include it when you contact support.","example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"errors":{"type":"array","items":{"type":"string","uniqueKey":"errors.items.[INDEX]","typeLabel":"string"},"description":"Present on a few Sequencer errors, such as a rules-of-engagement policy whose rules fail the catalog check: one entry per problem. Other fields an upstream service sends are passed through unchanged too.","uniqueKey":"errors","typeLabel":"string[]"},"code":{"type":"string","description":"A machine-readable reason, present on a few Sequencer errors. `unknown_variables`: a template, a step's name or a step's note holds a token that is not a variable; `unknown` lists each one.","uniqueKey":"code","typeLabel":"string"},"unknown":{"type":"array","description":"Present when `code` is `unknown_variables`: one entry per distinct token that was refused.","items":{"type":"object","description":"A token in double braces that is not a variable, or cannot be used where it was written.","properties":{"token":{"type":"string","description":"The token as written, braces included, such as `{{fisrt_name}}`.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].token","typeLabel":"string"},"key":{"type":"string","description":"What is inside the braces, lower-cased, without the fallback.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].key","typeLabel":"string"},"reason":{"type":"string","enum":["not_a_variable","empty","fallback_too_long","unbalanced","not_allowed_here"],"description":"`not_a_variable`: not a built-in variable, not a custom field your team has, and not an AI line (a misspelt AI line such as `{{ ai:opener }}` lands here too). `empty`: nothing to read, as in `{{}}`, `{{ |x}}` or `{{custom.}}`. `fallback_too_long`: the fallback is over 64 characters. `unbalanced`: braces that do not pair up, as in `{{first_name` or `{{first_name}}}`. `not_allowed_here`: a step's name or note only, for an AI line, or for any variable in an email step's name.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"suggestion":{"oneOf":[{"type":"object","description":"The closest variable, within 2 edits: built-in variables first, then your team's custom fields. Null when nothing is close, which is common for a `custom.\u003cfield>`.","properties":{"key":{"type":"string","description":"The variable's key, such as `first_name`.","uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0.key","typeLabel":"string"},"label":{"type":"string","description":"Its name in the app, such as `First name`.","uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0.label","typeLabel":"string"}},"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0","typeLabel":"object"},{"type":"null","description":"The closest variable, within 2 edits: built-in variables first, then your team's custom fields. Null when nothing is close, which is common for a `custom.\u003cfield>`.","properties":{"key":{"type":"string","description":"The variable's key, such as `first_name`."},"label":{"type":"string","description":"Its name in the app, such as `First name`."}},"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion","typeLabel":"object | null"},"message":{"type":"string","description":"A sentence to show a person, such as `fisrt_name isn't a variable. Did you mean First name?`.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","enum":["display_name","task_note"],"description":"Step writes only: the field the token is in.","uniqueKey":"unknown.items.[INDEX].field","typeLabel":"enum\u003cstring>"}},"required":["token","key","reason","suggestion","message"],"uniqueKey":"unknown.items.[INDEX]","typeLabel":"object"},"uniqueKey":"unknown","typeLabel":"object[]"}},"example":{"message":"Forbidden resource","error":"Forbidden","statusCode":403,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"uniqueKey":"","typeLabel":"Error · object"},"example":{"message":"Invalid ObjectId format for parameter: id","error":"Bad Request","statusCode":400,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"examples":{"Example":{"title":"Example","value":{"message":"Invalid ObjectId format for parameter: id","error":"Bad Request","statusCode":400,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"}}},"exampleType":"examples"}},"exampleType":"examples"},"a362b2ff-e04c-41c6-be2f-9a29f48953e6":{"description":"Forbidden. The `x-api-key` header is missing, malformed, revoked, or belongs to another team. Send a valid key in the `x-api-key` header. Salesfinity returns 403 (not 401) for a missing, malformed, revoked, or wrong-team key. On an operation that takes a `user_id`, 403 can also mean that team member may not do this, for example a Sequencer call acting as an inactive member; `message` then says why. A `/v2/sequencer` write whose `user_id` has no active plan or seat gets `error` set to `NO_ACTIVE_PLAN` instead of `Forbidden`; assign the member a seat.","headers":{"X-Request-Id":{"description":"Identifies the request in Salesfinity's logs, and matches `request_id` in an error body. Echoes the `X-Request-Id` you sent when it is 1 to 128 characters of letters, digits, `.`, `_`, `:` and `-`; otherwise Salesfinity generates one.","schema":{"type":"string"},"example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"}},"content":{"application/json":{"schema":{"type":"object","title":"Error","description":"The error envelope returned by every Salesfinity API error response. The shape is identical across all status codes and all endpoints, and `request_id` is present on every error the API returns.","required":["message","error","statusCode","request_id"],"properties":{"message":{"oneOf":[{"type":"string","description":"Human-readable description of the failure. A string for most errors, and an array of strings when request validation fails, with one entry per field that did not validate.","example":"Forbidden resource","isRequired":true,"uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Human-readable description of the failure. A string for most errors, and an array of strings when request validation fails, with one entry per field that did not validate.","example":"Forbidden resource","isRequired":true,"uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","description":"Stable HTTP reason phrase for the status code, such as `Forbidden`. One exception: a 403 from a `/v2/sequencer` write whose `user_id` has no active plan or seat carries `NO_ACTIVE_PLAN` here. Branch on this rather than on `message`.","example":"Forbidden","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"statusCode":{"type":"integer","format":"int32","description":"HTTP status code, repeated in the body so it survives transports that drop it.","example":403,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer\u003cint32>"},"request_id":{"type":"string","description":"Identifies the request in Salesfinity's logs; the same value as the `X-Request-Id` response header. Include it when you contact support.","example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"errors":{"type":"array","items":{"type":"string","uniqueKey":"errors.items.[INDEX]","typeLabel":"string"},"description":"Present on a few Sequencer errors, such as a rules-of-engagement policy whose rules fail the catalog check: one entry per problem. Other fields an upstream service sends are passed through unchanged too.","uniqueKey":"errors","typeLabel":"string[]"},"code":{"type":"string","description":"A machine-readable reason, present on a few Sequencer errors. `unknown_variables`: a template, a step's name or a step's note holds a token that is not a variable; `unknown` lists each one.","uniqueKey":"code","typeLabel":"string"},"unknown":{"type":"array","description":"Present when `code` is `unknown_variables`: one entry per distinct token that was refused.","items":{"type":"object","description":"A token in double braces that is not a variable, or cannot be used where it was written.","properties":{"token":{"type":"string","description":"The token as written, braces included, such as `{{fisrt_name}}`.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].token","typeLabel":"string"},"key":{"type":"string","description":"What is inside the braces, lower-cased, without the fallback.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].key","typeLabel":"string"},"reason":{"type":"string","enum":["not_a_variable","empty","fallback_too_long","unbalanced","not_allowed_here"],"description":"`not_a_variable`: not a built-in variable, not a custom field your team has, and not an AI line (a misspelt AI line such as `{{ ai:opener }}` lands here too). `empty`: nothing to read, as in `{{}}`, `{{ |x}}` or `{{custom.}}`. `fallback_too_long`: the fallback is over 64 characters. `unbalanced`: braces that do not pair up, as in `{{first_name` or `{{first_name}}}`. `not_allowed_here`: a step's name or note only, for an AI line, or for any variable in an email step's name.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"suggestion":{"oneOf":[{"type":"object","description":"The closest variable, within 2 edits: built-in variables first, then your team's custom fields. Null when nothing is close, which is common for a `custom.\u003cfield>`.","properties":{"key":{"type":"string","description":"The variable's key, such as `first_name`.","uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0.key","typeLabel":"string"},"label":{"type":"string","description":"Its name in the app, such as `First name`.","uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0.label","typeLabel":"string"}},"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0","typeLabel":"object"},{"type":"null","description":"The closest variable, within 2 edits: built-in variables first, then your team's custom fields. Null when nothing is close, which is common for a `custom.\u003cfield>`.","properties":{"key":{"type":"string","description":"The variable's key, such as `first_name`."},"label":{"type":"string","description":"Its name in the app, such as `First name`."}},"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion","typeLabel":"object | null"},"message":{"type":"string","description":"A sentence to show a person, such as `fisrt_name isn't a variable. Did you mean First name?`.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","enum":["display_name","task_note"],"description":"Step writes only: the field the token is in.","uniqueKey":"unknown.items.[INDEX].field","typeLabel":"enum\u003cstring>"}},"required":["token","key","reason","suggestion","message"],"uniqueKey":"unknown.items.[INDEX]","typeLabel":"object"},"uniqueKey":"unknown","typeLabel":"object[]"}},"example":{"message":"Forbidden resource","error":"Forbidden","statusCode":403,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"uniqueKey":"","typeLabel":"Error · object"},"example":{"message":"Forbidden resource","error":"Forbidden","statusCode":403,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"examples":{"Example":{"title":"Example","value":{"message":"Forbidden resource","error":"Forbidden","statusCode":403,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"}}},"exampleType":"examples"}},"exampleType":"examples"},"c6b3dcd4-a61c-4945-ad9f-729ce6cb3e75":{"description":"The team has no call log with this ID.","headers":{"X-Request-Id":{"description":"Identifies the request in Salesfinity's logs, and matches `request_id` in an error body. Echoes the `X-Request-Id` you sent when it is 1 to 128 characters of letters, digits, `.`, `_`, `:` and `-`; otherwise Salesfinity generates one.","schema":{"type":"string"},"example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"}},"content":{"application/json":{"schema":{"type":"object","title":"Error","description":"The error envelope returned by every Salesfinity API error response. The shape is identical across all status codes and all endpoints, and `request_id` is present on every error the API returns.","required":["message","error","statusCode","request_id"],"properties":{"message":{"oneOf":[{"type":"string","description":"Human-readable description of the failure. A string for most errors, and an array of strings when request validation fails, with one entry per field that did not validate.","example":"Forbidden resource","isRequired":true,"uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Human-readable description of the failure. A string for most errors, and an array of strings when request validation fails, with one entry per field that did not validate.","example":"Forbidden resource","isRequired":true,"uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","description":"Stable HTTP reason phrase for the status code, such as `Forbidden`. One exception: a 403 from a `/v2/sequencer` write whose `user_id` has no active plan or seat carries `NO_ACTIVE_PLAN` here. Branch on this rather than on `message`.","example":"Forbidden","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"statusCode":{"type":"integer","format":"int32","description":"HTTP status code, repeated in the body so it survives transports that drop it.","example":403,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer\u003cint32>"},"request_id":{"type":"string","description":"Identifies the request in Salesfinity's logs; the same value as the `X-Request-Id` response header. Include it when you contact support.","example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"errors":{"type":"array","items":{"type":"string","uniqueKey":"errors.items.[INDEX]","typeLabel":"string"},"description":"Present on a few Sequencer errors, such as a rules-of-engagement policy whose rules fail the catalog check: one entry per problem. Other fields an upstream service sends are passed through unchanged too.","uniqueKey":"errors","typeLabel":"string[]"},"code":{"type":"string","description":"A machine-readable reason, present on a few Sequencer errors. `unknown_variables`: a template, a step's name or a step's note holds a token that is not a variable; `unknown` lists each one.","uniqueKey":"code","typeLabel":"string"},"unknown":{"type":"array","description":"Present when `code` is `unknown_variables`: one entry per distinct token that was refused.","items":{"type":"object","description":"A token in double braces that is not a variable, or cannot be used where it was written.","properties":{"token":{"type":"string","description":"The token as written, braces included, such as `{{fisrt_name}}`.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].token","typeLabel":"string"},"key":{"type":"string","description":"What is inside the braces, lower-cased, without the fallback.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].key","typeLabel":"string"},"reason":{"type":"string","enum":["not_a_variable","empty","fallback_too_long","unbalanced","not_allowed_here"],"description":"`not_a_variable`: not a built-in variable, not a custom field your team has, and not an AI line (a misspelt AI line such as `{{ ai:opener }}` lands here too). `empty`: nothing to read, as in `{{}}`, `{{ |x}}` or `{{custom.}}`. `fallback_too_long`: the fallback is over 64 characters. `unbalanced`: braces that do not pair up, as in `{{first_name` or `{{first_name}}}`. `not_allowed_here`: a step's name or note only, for an AI line, or for any variable in an email step's name.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"suggestion":{"oneOf":[{"type":"object","description":"The closest variable, within 2 edits: built-in variables first, then your team's custom fields. Null when nothing is close, which is common for a `custom.\u003cfield>`.","properties":{"key":{"type":"string","description":"The variable's key, such as `first_name`.","uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0.key","typeLabel":"string"},"label":{"type":"string","description":"Its name in the app, such as `First name`.","uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0.label","typeLabel":"string"}},"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0","typeLabel":"object"},{"type":"null","description":"The closest variable, within 2 edits: built-in variables first, then your team's custom fields. Null when nothing is close, which is common for a `custom.\u003cfield>`.","properties":{"key":{"type":"string","description":"The variable's key, such as `first_name`."},"label":{"type":"string","description":"Its name in the app, such as `First name`."}},"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion","typeLabel":"object | null"},"message":{"type":"string","description":"A sentence to show a person, such as `fisrt_name isn't a variable. Did you mean First name?`.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","enum":["display_name","task_note"],"description":"Step writes only: the field the token is in.","uniqueKey":"unknown.items.[INDEX].field","typeLabel":"enum\u003cstring>"}},"required":["token","key","reason","suggestion","message"],"uniqueKey":"unknown.items.[INDEX]","typeLabel":"object"},"uniqueKey":"unknown","typeLabel":"object[]"}},"example":{"message":"Forbidden resource","error":"Forbidden","statusCode":403,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"uniqueKey":"","typeLabel":"Error · object"},"example":{"message":"Call log not found","error":"Not Found","statusCode":404,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"examples":{"Example":{"title":"Example","value":{"message":"Call log not found","error":"Not Found","statusCode":404,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"}}},"exampleType":"examples"}},"exampleType":"examples"},"00d66b9c-d211-4822-971d-037e3da490c5":{"description":"Too Many Requests. The team has used its per-minute budget for this rate-limit bucket; the limit is shared by every API key on the team. Wait the number of seconds in the `Retry-After` header (never more than 60), then retry. The request was refused before it ran, so retrying it is safe even for a write. Pace bulk work with the `X-RateLimit-Remaining` and `X-RateLimit-Reset` headers. See /api-reference/rate-limits.","headers":{"Retry-After":{"description":"Seconds to wait before retrying: the time left in the current one-minute window. At least 1 and at most 60.","schema":{"type":"integer","minimum":0},"example":12},"X-RateLimit-Limit":{"description":"Requests allowed per minute in the rate-limit bucket this request counted against. Limits are per team: every API key on the team shares them.","schema":{"type":"integer"},"example":300},"X-RateLimit-Remaining":{"description":"Requests left in the current one-minute window for this bucket.","schema":{"type":"integer","minimum":0},"example":0},"X-RateLimit-Reset":{"description":"Seconds until the current window ends and the bucket resets. At least 1 and at most 60.","schema":{"type":"integer","minimum":0},"example":12},"X-Request-Id":{"description":"Identifies the request in Salesfinity's logs, and matches `request_id` in an error body. Echoes the `X-Request-Id` you sent when it is 1 to 128 characters of letters, digits, `.`, `_`, `:` and `-`; otherwise Salesfinity generates one.","schema":{"type":"string"},"example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"}},"content":{"application/json":{"schema":{"type":"object","title":"Error","description":"The error envelope returned by every Salesfinity API error response. The shape is identical across all status codes and all endpoints, and `request_id` is present on every error the API returns.","required":["message","error","statusCode","request_id"],"properties":{"message":{"oneOf":[{"type":"string","description":"Human-readable description of the failure. A string for most errors, and an array of strings when request validation fails, with one entry per field that did not validate.","example":"Forbidden resource","isRequired":true,"uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Human-readable description of the failure. A string for most errors, and an array of strings when request validation fails, with one entry per field that did not validate.","example":"Forbidden resource","isRequired":true,"uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","description":"Stable HTTP reason phrase for the status code, such as `Forbidden`. One exception: a 403 from a `/v2/sequencer` write whose `user_id` has no active plan or seat carries `NO_ACTIVE_PLAN` here. Branch on this rather than on `message`.","example":"Forbidden","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"statusCode":{"type":"integer","format":"int32","description":"HTTP status code, repeated in the body so it survives transports that drop it.","example":403,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer\u003cint32>"},"request_id":{"type":"string","description":"Identifies the request in Salesfinity's logs; the same value as the `X-Request-Id` response header. Include it when you contact support.","example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"errors":{"type":"array","items":{"type":"string","uniqueKey":"errors.items.[INDEX]","typeLabel":"string"},"description":"Present on a few Sequencer errors, such as a rules-of-engagement policy whose rules fail the catalog check: one entry per problem. Other fields an upstream service sends are passed through unchanged too.","uniqueKey":"errors","typeLabel":"string[]"},"code":{"type":"string","description":"A machine-readable reason, present on a few Sequencer errors. `unknown_variables`: a template, a step's name or a step's note holds a token that is not a variable; `unknown` lists each one.","uniqueKey":"code","typeLabel":"string"},"unknown":{"type":"array","description":"Present when `code` is `unknown_variables`: one entry per distinct token that was refused.","items":{"type":"object","description":"A token in double braces that is not a variable, or cannot be used where it was written.","properties":{"token":{"type":"string","description":"The token as written, braces included, such as `{{fisrt_name}}`.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].token","typeLabel":"string"},"key":{"type":"string","description":"What is inside the braces, lower-cased, without the fallback.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].key","typeLabel":"string"},"reason":{"type":"string","enum":["not_a_variable","empty","fallback_too_long","unbalanced","not_allowed_here"],"description":"`not_a_variable`: not a built-in variable, not a custom field your team has, and not an AI line (a misspelt AI line such as `{{ ai:opener }}` lands here too). `empty`: nothing to read, as in `{{}}`, `{{ |x}}` or `{{custom.}}`. `fallback_too_long`: the fallback is over 64 characters. `unbalanced`: braces that do not pair up, as in `{{first_name` or `{{first_name}}}`. `not_allowed_here`: a step's name or note only, for an AI line, or for any variable in an email step's name.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"suggestion":{"oneOf":[{"type":"object","description":"The closest variable, within 2 edits: built-in variables first, then your team's custom fields. Null when nothing is close, which is common for a `custom.\u003cfield>`.","properties":{"key":{"type":"string","description":"The variable's key, such as `first_name`.","uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0.key","typeLabel":"string"},"label":{"type":"string","description":"Its name in the app, such as `First name`.","uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0.label","typeLabel":"string"}},"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0","typeLabel":"object"},{"type":"null","description":"The closest variable, within 2 edits: built-in variables first, then your team's custom fields. Null when nothing is close, which is common for a `custom.\u003cfield>`.","properties":{"key":{"type":"string","description":"The variable's key, such as `first_name`."},"label":{"type":"string","description":"Its name in the app, such as `First name`."}},"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion","typeLabel":"object | null"},"message":{"type":"string","description":"A sentence to show a person, such as `fisrt_name isn't a variable. Did you mean First name?`.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","enum":["display_name","task_note"],"description":"Step writes only: the field the token is in.","uniqueKey":"unknown.items.[INDEX].field","typeLabel":"enum\u003cstring>"}},"required":["token","key","reason","suggestion","message"],"uniqueKey":"unknown.items.[INDEX]","typeLabel":"object"},"uniqueKey":"unknown","typeLabel":"object[]"}},"example":{"message":"Forbidden resource","error":"Forbidden","statusCode":403,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"uniqueKey":"","typeLabel":"Error · object"},"example":{"message":"Rate limit of 300 requests per minute exceeded. Retry in 12s.","error":"Too Many Requests","statusCode":429,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"examples":{"Example":{"title":"Example","value":{"message":"Rate limit of 300 requests per minute exceeded. Retry in 12s.","error":"Too Many Requests","statusCode":429,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"}}},"exampleType":"examples"}},"exampleType":"examples"},"2f3d2f4d-f76d-4dfc-8d99-d4d991c2f1a7":{"description":"Internal Server Error. Something went wrong on the Salesfinity side. Retry with exponential backoff. If it persists, contact [email protected] with the `request_id` from the body, the request path and the timestamp. The contact-list, snoozed-contact and note routes do not validate an ID in the path, and the analytics routes do not validate `user_ids`: an ID that is not a 24-character hexadecimal string returns 500 there, and retrying does not help, so check the ID first.","headers":{"X-Request-Id":{"description":"Identifies the request in Salesfinity's logs, and matches `request_id` in an error body. Echoes the `X-Request-Id` you sent when it is 1 to 128 characters of letters, digits, `.`, `_`, `:` and `-`; otherwise Salesfinity generates one.","schema":{"type":"string"},"example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"}},"content":{"application/json":{"schema":{"type":"object","title":"Error","description":"The error envelope returned by every Salesfinity API error response. The shape is identical across all status codes and all endpoints, and `request_id` is present on every error the API returns.","required":["message","error","statusCode","request_id"],"properties":{"message":{"oneOf":[{"type":"string","description":"Human-readable description of the failure. A string for most errors, and an array of strings when request validation fails, with one entry per field that did not validate.","example":"Forbidden resource","isRequired":true,"uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Human-readable description of the failure. A string for most errors, and an array of strings when request validation fails, with one entry per field that did not validate.","example":"Forbidden resource","isRequired":true,"uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","description":"Stable HTTP reason phrase for the status code, such as `Forbidden`. One exception: a 403 from a `/v2/sequencer` write whose `user_id` has no active plan or seat carries `NO_ACTIVE_PLAN` here. Branch on this rather than on `message`.","example":"Forbidden","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"statusCode":{"type":"integer","format":"int32","description":"HTTP status code, repeated in the body so it survives transports that drop it.","example":403,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer\u003cint32>"},"request_id":{"type":"string","description":"Identifies the request in Salesfinity's logs; the same value as the `X-Request-Id` response header. Include it when you contact support.","example":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"errors":{"type":"array","items":{"type":"string","uniqueKey":"errors.items.[INDEX]","typeLabel":"string"},"description":"Present on a few Sequencer errors, such as a rules-of-engagement policy whose rules fail the catalog check: one entry per problem. Other fields an upstream service sends are passed through unchanged too.","uniqueKey":"errors","typeLabel":"string[]"},"code":{"type":"string","description":"A machine-readable reason, present on a few Sequencer errors. `unknown_variables`: a template, a step's name or a step's note holds a token that is not a variable; `unknown` lists each one.","uniqueKey":"code","typeLabel":"string"},"unknown":{"type":"array","description":"Present when `code` is `unknown_variables`: one entry per distinct token that was refused.","items":{"type":"object","description":"A token in double braces that is not a variable, or cannot be used where it was written.","properties":{"token":{"type":"string","description":"The token as written, braces included, such as `{{fisrt_name}}`.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].token","typeLabel":"string"},"key":{"type":"string","description":"What is inside the braces, lower-cased, without the fallback.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].key","typeLabel":"string"},"reason":{"type":"string","enum":["not_a_variable","empty","fallback_too_long","unbalanced","not_allowed_here"],"description":"`not_a_variable`: not a built-in variable, not a custom field your team has, and not an AI line (a misspelt AI line such as `{{ ai:opener }}` lands here too). `empty`: nothing to read, as in `{{}}`, `{{ |x}}` or `{{custom.}}`. `fallback_too_long`: the fallback is over 64 characters. `unbalanced`: braces that do not pair up, as in `{{first_name` or `{{first_name}}}`. `not_allowed_here`: a step's name or note only, for an AI line, or for any variable in an email step's name.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"suggestion":{"oneOf":[{"type":"object","description":"The closest variable, within 2 edits: built-in variables first, then your team's custom fields. Null when nothing is close, which is common for a `custom.\u003cfield>`.","properties":{"key":{"type":"string","description":"The variable's key, such as `first_name`.","uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0.key","typeLabel":"string"},"label":{"type":"string","description":"Its name in the app, such as `First name`.","uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0.label","typeLabel":"string"}},"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.0","typeLabel":"object"},{"type":"null","description":"The closest variable, within 2 edits: built-in variables first, then your team's custom fields. Null when nothing is close, which is common for a `custom.\u003cfield>`.","properties":{"key":{"type":"string","description":"The variable's key, such as `first_name`."},"label":{"type":"string","description":"Its name in the app, such as `First name`."}},"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unknown.items.[INDEX].suggestion","typeLabel":"object | null"},"message":{"type":"string","description":"A sentence to show a person, such as `fisrt_name isn't a variable. Did you mean First name?`.","isRequired":true,"uniqueKey":"unknown.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","enum":["display_name","task_note"],"description":"Step writes only: the field the token is in.","uniqueKey":"unknown.items.[INDEX].field","typeLabel":"enum\u003cstring>"}},"required":["token","key","reason","suggestion","message"],"uniqueKey":"unknown.items.[INDEX]","typeLabel":"object"},"uniqueKey":"unknown","typeLabel":"object[]"}},"example":{"message":"Forbidden resource","error":"Forbidden","statusCode":403,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"uniqueKey":"","typeLabel":"Error · object"},"example":{"message":"Internal server error","error":"Internal Server Error","statusCode":500,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"},"examples":{"Example":{"title":"Example","value":{"message":"Internal server error","error":"Internal Server Error","statusCode":500,"request_id":"0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"d89798b7-2249-48bf-bec9-f116988c3362":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Team-scoped API key generated in the Salesfinity dashboard under Settings → Connections → API \u0026 Webhooks. A missing or invalid key returns HTTP 403.","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"e454be74-cffb-47a4-ba19-76c8aa914a2a":{"url":"https://client-api.salesfinity.co","description":"Production. The only public Salesfinity API host."}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Team-scoped API key generated in the Salesfinity dashboard under Settings → Connections → API \u0026 Webhooks. A missing or invalid key returns HTTP 403.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"Team-scoped API key generated in the Salesfinity dashboard under Settings → Connections → API \u0026 Webhooks. A missing or invalid key returns HTTP 403.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"salesfinity","siteName":"Salesfinity Docs","title":"Get a call log - Salesfinity Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-06T19:02:36.407Z","originalFileLocation":"api-reference/endpoint/get-call-log-by-id.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=\"light\"}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=\"Returns one call log by its _id. Read-only. The fields are the same as in List call logs. A call that belongs to another team returns 404.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Salesfinity Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/salesfinity/-QoBSwygykESAJIM/_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/salesfinity/-QoBSwygykESAJIM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/salesfinity/-QoBSwygykESAJIM/_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/salesfinity/-QoBSwygykESAJIM/_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/salesfinity/-QoBSwygykESAJIM/_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/salesfinity/-QoBSwygykESAJIM/_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/salesfinity/-QoBSwygykESAJIM/_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/salesfinity/-QoBSwygykESAJIM/_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/salesfinity/-QoBSwygykESAJIM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get a call log - Salesfinity Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns one call log by its _id. Read-only. The fields are the same as in List call logs. A call that belongs to another team returns 404.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Salesfinity Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.salesfinity.ai/api-reference/endpoint/get-call-log-by-id\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.salesfinity.ai/images/og.jpg\">\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 a call log - Salesfinity Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns one call log by its _id. Read-only. The fields are the same as in List call logs. A call that belongs to another team returns 404.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.salesfinity.ai/images/og.jpg\">\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/salesfinity/-QoBSwygykESAJIM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Salesfinity Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5429D8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.salesfinity.ai/api-reference/endpoint/get-call-log-by-id\">\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-call-log-by-id.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.salesfinity.ai/#organization\",\"name\":\"Salesfinity Docs\",\"url\":\"https://docs.salesfinity.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/salesfinity/YBsYR5N3Fg_u90-H/logo/light.svg?fit=max\u0026auto=format\u0026n=YBsYR5N3Fg_u90-H\u0026q=85\u0026s=e21e087ae3d1330def1fbf87274af05b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.salesfinity.ai#website\",\"name\":\"Salesfinity Docs\",\"url\":\"https://docs.salesfinity.ai\",\"publisher\":{\"@id\":\"https://docs.salesfinity.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.salesfinity.ai/api-reference/endpoint/get-call-log-by-id#webpage\",\"url\":\"https://docs.salesfinity.ai/api-reference/endpoint/get-call-log-by-id\",\"name\":\"Get a call log\",\"description\":\"Returns one call log by its _id. Read-only. The fields are the same as in List call logs. A call that belongs to another team returns 404.\",\"dateModified\":\"2026-10-06T19:02:36.407Z\",\"isPartOf\":{\"@id\":\"https://docs.salesfinity.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.salesfinity.ai/api-reference/endpoint/get-call-log-by-id#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.salesfinity.ai/api-reference/endpoint/get-call-log-by-id#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Calls and analytics API\",\"item\":\"https://docs.salesfinity.ai/api-reference/endpoint/get-team\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Team and call logs\",\"item\":\"https://docs.salesfinity.ai/api-reference/endpoint/get-team\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get a call log\",\"item\":\"https://docs.salesfinity.ai/api-reference/endpoint/get-call-log-by-id\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.salesfinity.ai/api-reference/endpoint/get-call-log-by-id#apireference\",\"headline\":\"Get a call log\",\"name\":\"Get a call log\",\"description\":\"Returns one call log by its _id. Read-only. The fields are the same as in List call logs. A call that belongs to another team returns 404.\",\"url\":\"https://docs.salesfinity.ai/api-reference/endpoint/get-call-log-by-id\",\"mainEntityOfPage\":{\"@id\":\"https://docs.salesfinity.ai/api-reference/endpoint/get-call-log-by-id#webpage\"},\"image\":\"https://docs.salesfinity.ai/images/og.jpg\",\"dateModified\":\"2026-10-06T19:02:36.407Z\",\"publisher\":{\"@id\":\"https://docs.salesfinity.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.salesfinity.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Salesfinity Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Salesfinity Docs","nav":{"global":{"anchors":[{"anchor":"Help Center","icon":"circle-question","href":"https://support.salesfinity.ai"},{"anchor":"Blog","icon":"newspaper","href":"https://salesfinity.ai/blog"},{"anchor":"Status page","icon":"signal","href":"https://salesfinity.statuspage.io"}]},"tabs":[{"tab":"Home","icon":"house","pages":[{"title":"Home","href":""}]},{"tab":"Dialer","icon":"phone","pages":[{"title":"Dialer","href":"/dialer/overview"}]},{"tab":"Coaching","icon":"graduation-cap","pages":[{"title":"Coaching","href":"/coaching/overview"}]},{"tab":"Ari","icon":"sparkles","pages":[{"title":"Ari","href":"/ari/overview"}]},{"tab":"Sequencer","icon":"paper-plane","pages":[{"title":"Sequencer","href":"/sequencer/overview"}]},{"tab":"Use cases","icon":"lightbulb","pages":[{"title":"Use cases","href":"/tutorials/overview"}]},{"tab":"Integrations","icon":"plug","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"Developers","icon":"code","groups":[{"group":"Get started","pages":[{"title":"Build on Salesfinity","sidebarTitle":"Developer portal","href":"/developers"},{"title":"API Reference","href":"/api-reference/introduction"},{"title":"Handle API errors","sidebarTitle":"Errors","href":"/api-reference/errors"},{"title":"Stay under the rate limits","sidebarTitle":"Rate limits","href":"/api-reference/rate-limits"},{"title":"Run a sequence over the API","href":"/sequencer/api-quickstart"},{"title":"API changelog","sidebarTitle":"API changelog","href":"/changelog"}]},{"group":"MCP server","pages":[{"title":"Use Salesfinity in Claude and other AI tools","sidebarTitle":"MCP overview","href":"/mcp/overview"},{"title":"Connect Salesfinity to Claude","sidebarTitle":"Claude","href":"/mcp/claude-ai"},{"title":"Connect Salesfinity to Claude Code","sidebarTitle":"Claude Code","href":"/mcp/claude-code"},{"title":"Connect Cursor, Windsurf and other MCP clients","sidebarTitle":"Other clients","href":"/mcp/other-clients"}]},{"group":"MCP reference","pages":[{"title":"MCP tool reference","sidebarTitle":"Tool reference","href":"/mcp/tools"},{"title":"MCP Sequencer tools","sidebarTitle":"Sequencer tools","href":"/mcp/sequencer-tools"}]},{"group":"MCP use cases","pages":[{"title":"Put Claude to work on your sales data","sidebarTitle":"Use cases","href":"/mcp/use-cases/overview"},{"title":"Coach and report on your team with Claude","sidebarTitle":"For managers","href":"/mcp/use-cases/managers"},{"title":"Coach yourself and plan your day with Claude","sidebarTitle":"For reps","href":"/mcp/use-cases/reps"},{"title":"Build reports and clean up lists with Claude","sidebarTitle":"For everyone","href":"/mcp/use-cases/shared"}]},{"group":"Dialer API","pages":[{"group":"Contact lists","pages":[{"title":"List contact lists","openapi":"GET /v1/contact-lists/csv","href":"/api-reference/endpoint/get-contact-lists-csv"},{"title":"Get a contact list","openapi":"GET /v1/contact-lists/csv/{id}","href":"/api-reference/endpoint/get-contact-list-by-id"},{"title":"Create a contact list","openapi":"POST /v1/contact-lists","href":"/api-reference/endpoint/create-list"},{"title":"Add a contact to a list","openapi":"POST /v1/contact-lists/{id}","href":"/api-reference/endpoint/add-contact"},{"title":"Remove a contact from a list","openapi":"DELETE /v1/contact-lists/{id}/contacts/{contactId}","href":"/api-reference/endpoint/remove-contact"},{"title":"Merge contact lists","openapi":"POST /v1/contact-lists/{id}/merge","href":"/api-reference/endpoint/merge-lists"},{"title":"Delete a contact list","openapi":"DELETE /v1/contact-lists/csv/{id}","href":"/api-reference/endpoint/delete-contact-list"},{"title":"Reimport a contact list into the dialing queue","openapi":"POST /v1/contact-lists/csv/{id}/reimport","href":"/api-reference/endpoint/reimport-contacts"}]},{"group":"Notes","pages":[{"title":"Create a note","openapi":"POST /v2/notes","href":"/api-reference/endpoint/create-note"},{"title":"List notes","openapi":"GET /v2/notes","href":"/api-reference/endpoint/list-notes"},{"title":"Update a note","openapi":"PATCH /v2/notes/{id}","href":"/api-reference/endpoint/update-note"},{"title":"Delete a note","openapi":"DELETE /v2/notes/{id}","href":"/api-reference/endpoint/delete-note"},{"title":"Pin or unpin a note","openapi":"POST /v2/notes/{id}/pin","href":"/api-reference/endpoint/pin-note"}]},{"group":"Snoozed contacts","pages":[{"title":"List snoozed contacts","openapi":"GET /v1/snoozed-contacts","href":"/api-reference/endpoint/get-snoozed-contacts"},{"title":"Get a snoozed contact","openapi":"GET /v1/snoozed-contacts/{id}","href":"/api-reference/endpoint/get-snoozed-contact-by-id"},{"title":"Get a snoozed contact by LinkedIn username","openapi":"GET /v1/snoozed-contacts/by-linkedin/{username}","href":"/api-reference/endpoint/get-snoozed-contact-by-linkedin"},{"title":"Update a snoozed contact","openapi":"PUT /v1/snoozed-contacts/{id}","href":"/api-reference/endpoint/update-snoozed-contact"},{"title":"Delete a snoozed contact","openapi":"DELETE /v1/snoozed-contacts/{id}","href":"/api-reference/endpoint/delete-snoozed-contact"}]},{"group":"Custom fields","pages":[{"title":"List custom field mappings","openapi":"GET /v1/custom-fields","href":"/api-reference/endpoint/get-custom-fields"}]},{"group":"Dispositions","pages":[{"title":"List dispositions","openapi":"GET /v1/dispositions","href":"/api-reference/endpoint/get-dispositions"},{"title":"Get a disposition","openapi":"GET /v1/dispositions/{id}","href":"/api-reference/endpoint/get-disposition-by-id"}]},{"group":"Follow-up tasks","pages":[{"title":"List follow-up tasks","openapi":"GET /v1/follow-up","href":"/api-reference/endpoint/get-follow-ups"}]},{"group":"CRM sequences","pages":[{"title":"List CRM sequences","openapi":"GET /v1/sequences","href":"/api-reference/endpoint/get-sequences"},{"title":"Get a CRM sequence","openapi":"GET /v1/sequences/{id}","href":"/api-reference/endpoint/get-sequence-by-id"}]}]},{"group":"Calls and analytics API","pages":[{"group":"Team and call logs","pages":[{"title":"Get the current team","openapi":"GET /v1/team","href":"/api-reference/endpoint/get-team"},{"title":"List call logs","openapi":"GET /v1/call-log","description":"Returns the team's call history, newest first, with filters, sorting and pagination. Read-only.\n\n`page`, `limit` and `sort` are top-level query parameters. Every filter goes under `filters[...]`; a filter sent without that prefix, such as `search=Acme`, is ignored and the unfiltered history comes back. Send list filters as `filters[name][]=value`, once per value; a single value can also be sent as `filters[name]=value`. A value that does not fit its filter, such as an unknown `outcome` or a date that does not parse, fails with 400.\n\nDate filters compare against `createdAt`, the time the call was logged, and include both ends. With `filters[search]`, results are ordered by relevance and `sort` is ignored. The `pagination` object is `{ total, page, limit, next }` when no filter is sent and `{ total, page, limit, pages }` when any filter is.\n\nCalls from every team member are included, as are calls with `is_completed: false`, which analytics leave out. Use [Get a call log](/api-reference/endpoint/get-call-log-by-id) for one call, [List dispositions](/api-reference/endpoint/get-dispositions) and [List CRM sequences](/api-reference/endpoint/get-sequences) for filter values, and [Get the current team](/api-reference/endpoint/get-team) for user IDs. Rate limit: the heavy-reads bucket, 120 requests per minute per team (see [Rate limits](/api-reference/rate-limits)).","href":"/api-reference/endpoint/call-log"},{"title":"Get a call log","openapi":"GET /v1/call-log/{id}","href":"/api-reference/endpoint/get-call-log-by-id"}]},{"group":"Scored calls","pages":[{"title":"List scored calls","openapi":"GET /v1/scored-calls","description":"Returns the team's AI-scored calls, newest first, each with its scorecard. Read-only.\n\nA call is scored when the team has call scoring on, the call has a transcript, it lasted at least the team's minimum length (60 seconds by default), and, unless the team turned the check off, a person answered. Team owners and admins set these rules and the rubric under **Settings → Coaching → Call scoring**. Rescoring a call replaces its scorecard on the same record.\n\nEach of the six facets is scored 0 to 5 and weighted by the team's rubric (default weights: intro 10, discovery 25, pitch 20, tonality 15, objection handling 15, CTA 15). `total_score` is the weighted average scaled to 0 to 100. A team can add up to six custom facets: they count toward `total_score` but are not returned, so the six weights shown can add up to less than 100.\n\n`start_date` and `end_date` bound `createdAt`, and `min_score` and `max_score` bound `insight.total_score`; both ends are included. There is no filter by call log; match `call_log._id` in the results. Rate limit: the heavy-reads bucket, 120 requests per minute per team (see [Rate limits](/api-reference/rate-limits)).","href":"/api-reference/endpoint/scored-calls"},{"title":"Get a scored call","openapi":"GET /v1/scored-calls/{id}","href":"/api-reference/endpoint/get-scored-call-by-id"}]},{"group":"Analytics","pages":[{"title":"Get analytics overview","openapi":"GET /v1/analytics/overview","href":"/api-reference/endpoint/analytics-overview"},{"title":"List call performance by contact list","openapi":"GET /v1/analytics/list-performance","href":"/api-reference/endpoint/analytics-list-performance"},{"title":"List call performance by SDR","openapi":"GET /v1/analytics/sdr-performance","href":"/api-reference/endpoint/analytics-sdr-performance"}]}]},{"group":"Enrichment API","pages":[{"title":"Start an email enrichment","openapi":"POST /v1/api/enrichment/email","href":"/api-reference/endpoint/enrich-email"},{"title":"Get an email enrichment result","openapi":"GET /v1/api/enrichment/email/{id}","href":"/api-reference/endpoint/get-email-enrichment"},{"title":"Start a phone enrichment","openapi":"POST /v1/api/enrichment/phone","href":"/api-reference/endpoint/enrich-phone"},{"title":"Get a phone enrichment result","openapi":"GET /v1/api/enrichment/phone/{id}","href":"/api-reference/endpoint/get-phone-enrichment"},{"title":"Get enrichment credit balance","openapi":"GET /v1/api/enrichment/credits","href":"/api-reference/endpoint/get-enrichment-credits"}]},{"group":"Sequencer API","tag":"Early access","pages":[{"group":"Sequences","pages":[{"title":"List sequences","openapi":"GET /v2/sequencer/sequences","href":"/api-reference/endpoint/list-sequencer-sequences"},{"title":"Create a sequence","openapi":"POST /v2/sequencer/sequences","href":"/api-reference/endpoint/create-sequencer-sequence"},{"title":"Get a sequence","openapi":"GET /v2/sequencer/sequences/{id}","href":"/api-reference/endpoint/get-sequencer-sequence"},{"title":"Update a sequence","openapi":"PATCH /v2/sequencer/sequences/{id}","href":"/api-reference/endpoint/update-sequencer-sequence"},{"title":"Delete a sequence","openapi":"DELETE /v2/sequencer/sequences/{id}","href":"/api-reference/endpoint/delete-sequencer-sequence"},{"title":"Add contacts to a sequence","openapi":"POST /v2/sequencer/sequences/{id}/contacts","href":"/api-reference/endpoint/add-contacts-to-sequencer-sequence"},{"title":"Get sequence analytics","openapi":"GET /v2/sequencer/sequences/{id}/analytics","href":"/api-reference/endpoint/get-sequencer-sequence-analytics"},{"title":"List the people behind an engagement metric","openapi":"GET /v2/sequencer/sequences/{id}/analytics/people","href":"/api-reference/endpoint/list-sequencer-engagement-people"},{"title":"List enrollment refusals","openapi":"GET /v2/sequencer/sequences/{id}/enrollment-attempts","href":"/api-reference/endpoint/list-sequencer-enrollment-attempts"},{"title":"Enable a sequence","openapi":"POST /v2/sequencer/sequences/{id}/enable","href":"/api-reference/endpoint/enable-sequencer-sequence"},{"title":"Disable a sequence","openapi":"POST /v2/sequencer/sequences/{id}/disable","href":"/api-reference/endpoint/disable-sequencer-sequence"},{"title":"Duplicate a sequence","openapi":"POST /v2/sequencer/sequences/{id}/duplicate","href":"/api-reference/endpoint/duplicate-sequencer-sequence"}]},{"group":"Steps","pages":[{"title":"List steps","openapi":"GET /v2/sequencer/sequences/{sequence_id}/steps","href":"/api-reference/endpoint/list-sequencer-steps"},{"title":"Add a step","openapi":"POST /v2/sequencer/sequences/{sequence_id}/steps","href":"/api-reference/endpoint/create-sequencer-step"},{"title":"Reorder steps","openapi":"PUT /v2/sequencer/sequences/{sequence_id}/steps/reorder","href":"/api-reference/endpoint/reorder-sequencer-steps"},{"title":"Get a step","openapi":"GET /v2/sequencer/sequences/{sequence_id}/steps/{step_id}","href":"/api-reference/endpoint/get-sequencer-step"},{"title":"Update a step","openapi":"PATCH /v2/sequencer/sequences/{sequence_id}/steps/{step_id}","href":"/api-reference/endpoint/update-sequencer-step"},{"title":"Delete a step","openapi":"DELETE /v2/sequencer/sequences/{sequence_id}/steps/{step_id}","href":"/api-reference/endpoint/delete-sequencer-step"}]},{"group":"Templates","pages":[{"title":"List email templates","openapi":"GET /v2/sequencer/templates","href":"/api-reference/endpoint/list-sequencer-templates"},{"title":"Create an email template","openapi":"POST /v2/sequencer/templates","href":"/api-reference/endpoint/create-sequencer-template"},{"title":"Get an email template","openapi":"GET /v2/sequencer/templates/{id}","href":"/api-reference/endpoint/get-sequencer-template"},{"title":"Update an email template","openapi":"PATCH /v2/sequencer/templates/{id}","href":"/api-reference/endpoint/update-sequencer-template"},{"title":"Delete an email template","openapi":"DELETE /v2/sequencer/templates/{id}","href":"/api-reference/endpoint/delete-sequencer-template"},{"title":"Preview a rendered template","openapi":"POST /v2/sequencer/templates/{id}/preview","href":"/api-reference/endpoint/preview-sequencer-template"}]},{"group":"Enrollments","pages":[{"title":"List enrollments","openapi":"GET /v2/sequencer/enrollments","href":"/api-reference/endpoint/list-sequencer-enrollments"},{"title":"Un-enroll contacts in bulk","openapi":"POST /v2/sequencer/enrollments/bulk/finish","href":"/api-reference/endpoint/bulk-finish-sequencer-enrollments"},{"title":"Approve held enrollments in bulk","openapi":"POST /v2/sequencer/enrollments/bulk/approve","href":"/api-reference/endpoint/bulk-approve-sequencer-enrollments"},{"title":"Reject held enrollments in bulk","openapi":"POST /v2/sequencer/enrollments/bulk/reject","href":"/api-reference/endpoint/bulk-reject-sequencer-enrollments"},{"title":"Reassign enrollments in bulk","openapi":"POST /v2/sequencer/enrollments/bulk/reassign","href":"/api-reference/endpoint/bulk-reassign-sequencer-enrollments"},{"title":"Move enrollments to another sequence","openapi":"POST /v2/sequencer/enrollments/bulk/move","href":"/api-reference/endpoint/move-sequencer-enrollments"},{"title":"Finish or pause everyone at an account","openapi":"POST /v2/sequencer/enrollments/bulk/account","href":"/api-reference/endpoint/sequencer-account-action"},{"title":"Get an enrollment","openapi":"GET /v2/sequencer/enrollments/{id}","href":"/api-reference/endpoint/get-sequencer-enrollment"},{"title":"List enrollment events","openapi":"GET /v2/sequencer/enrollments/{id}/events","href":"/api-reference/endpoint/list-sequencer-enrollment-events"},{"title":"Pause an enrollment","openapi":"POST /v2/sequencer/enrollments/{id}/pause","href":"/api-reference/endpoint/pause-sequencer-enrollment"},{"title":"Resume an enrollment","openapi":"POST /v2/sequencer/enrollments/{id}/resume","href":"/api-reference/endpoint/resume-sequencer-enrollment"},{"title":"Un-enroll a contact","openapi":"POST /v2/sequencer/enrollments/{id}/finish","href":"/api-reference/endpoint/finish-sequencer-enrollment"},{"title":"Retry a failed enrollment","openapi":"POST /v2/sequencer/enrollments/{id}/retry","href":"/api-reference/endpoint/retry-sequencer-enrollment"},{"title":"Reassign an enrollment","openapi":"POST /v2/sequencer/enrollments/{id}/reassign","href":"/api-reference/endpoint/reassign-sequencer-enrollment"},{"title":"Approve a held enrollment","openapi":"POST /v2/sequencer/enrollments/{id}/approve","href":"/api-reference/endpoint/approve-sequencer-enrollment"},{"title":"Reject a held enrollment","openapi":"POST /v2/sequencer/enrollments/{id}/reject","href":"/api-reference/endpoint/reject-sequencer-enrollment"}]},{"group":"Enrollment runs","pages":[{"title":"Preview an enrollment run","openapi":"POST /v2/sequencer/enrollment-runs/preview","href":"/api-reference/endpoint/preview-sequencer-enrolment"},{"title":"Start an enrollment run","openapi":"POST /v2/sequencer/enrollment-runs","href":"/api-reference/endpoint/start-sequencer-enrolment-run"},{"title":"List enrollment runs","openapi":"GET /v2/sequencer/enrollment-runs","href":"/api-reference/endpoint/list-sequencer-enrolment-runs"},{"title":"Get an enrollment run","openapi":"GET /v2/sequencer/enrollment-runs/{run_id}","href":"/api-reference/endpoint/get-sequencer-enrolment-run"},{"title":"Cancel an enrollment run","openapi":"POST /v2/sequencer/enrollment-runs/{run_id}/cancel","href":"/api-reference/endpoint/cancel-sequencer-enrolment-run"}]},{"group":"Tasks","pages":[{"title":"List tasks","openapi":"GET /v2/sequencer/tasks","href":"/api-reference/endpoint/list-sequencer-tasks"},{"title":"Create a one-off task","openapi":"POST /v2/sequencer/tasks","href":"/api-reference/endpoint/create-sequencer-task"},{"title":"Get a task-queue summary","openapi":"GET /v2/sequencer/tasks/summary","href":"/api-reference/endpoint/get-sequencer-task-summary"},{"title":"Get buying-committee coverage","openapi":"GET /v2/sequencer/tasks/account-coverage","href":"/api-reference/endpoint/get-sequencer-account-coverage"},{"title":"Fill a rep’s dial list from their call tasks","openapi":"POST /v2/sequencer/tasks/materialize-call-list","href":"/api-reference/endpoint/materialize-sequencer-call-list"},{"title":"Create one-off tasks in bulk","openapi":"POST /v2/sequencer/tasks/bulk","href":"/api-reference/endpoint/bulk-create-sequencer-tasks"},{"title":"Skip tasks in bulk","openapi":"POST /v2/sequencer/tasks/bulk/skip","href":"/api-reference/endpoint/bulk-skip-sequencer-tasks"},{"title":"Snooze tasks in bulk","openapi":"POST /v2/sequencer/tasks/bulk/snooze","href":"/api-reference/endpoint/bulk-snooze-sequencer-tasks"},{"title":"Reassign tasks in bulk","openapi":"POST /v2/sequencer/tasks/bulk/reassign","href":"/api-reference/endpoint/bulk-reassign-sequencer-tasks"},{"title":"Get a task","openapi":"GET /v2/sequencer/tasks/{id}","href":"/api-reference/endpoint/get-sequencer-task"},{"title":"Update a task","openapi":"PATCH /v2/sequencer/tasks/{id}","href":"/api-reference/endpoint/update-sequencer-task"},{"title":"Cancel a one-off task","openapi":"DELETE /v2/sequencer/tasks/{id}","href":"/api-reference/endpoint/delete-sequencer-task"},{"title":"List task events","openapi":"GET /v2/sequencer/tasks/{id}/events","href":"/api-reference/endpoint/list-sequencer-task-events"},{"title":"Complete a task","openapi":"POST /v2/sequencer/tasks/{id}/complete","href":"/api-reference/endpoint/complete-sequencer-task"},{"title":"Skip a task","openapi":"POST /v2/sequencer/tasks/{id}/skip","href":"/api-reference/endpoint/skip-sequencer-task"},{"title":"Snooze a task","openapi":"POST /v2/sequencer/tasks/{id}/snooze","href":"/api-reference/endpoint/snooze-sequencer-task"},{"title":"Reassign a task","openapi":"POST /v2/sequencer/tasks/{id}/reassign","href":"/api-reference/endpoint/reassign-sequencer-task"}]},{"group":"Suppression","pages":[{"title":"List suppression entries","openapi":"GET /v2/sequencer/suppression","href":"/api-reference/endpoint/list-sequencer-suppression"},{"title":"Add a suppression entry","openapi":"POST /v2/sequencer/suppression","href":"/api-reference/endpoint/create-sequencer-suppression"},{"title":"Import suppression entries","openapi":"POST /v2/sequencer/suppression/import","href":"/api-reference/endpoint/import-sequencer-suppression"},{"title":"Remove a suppression entry","openapi":"DELETE /v2/sequencer/suppression/{id}","href":"/api-reference/endpoint/delete-sequencer-suppression"}]},{"group":"Policies","pages":[{"title":"Get the rules-of-engagement catalog","openapi":"GET /v2/sequencer/policies/catalog","href":"/api-reference/endpoint/get-sequencer-policy-catalog"},{"title":"Preview a draft rule set","openapi":"POST /v2/sequencer/policies/preview","href":"/api-reference/endpoint/preview-sequencer-policy"},{"title":"List rules-of-engagement policies","openapi":"GET /v2/sequencer/policies","href":"/api-reference/endpoint/list-sequencer-policies"},{"title":"Create a rules-of-engagement policy","openapi":"POST /v2/sequencer/policies","href":"/api-reference/endpoint/create-sequencer-policy"},{"title":"Get a rules-of-engagement policy","openapi":"GET /v2/sequencer/policies/{id}","href":"/api-reference/endpoint/get-sequencer-policy"},{"title":"Update a rules-of-engagement policy","openapi":"PATCH /v2/sequencer/policies/{id}","href":"/api-reference/endpoint/update-sequencer-policy"},{"title":"Delete a rules-of-engagement policy","openapi":"DELETE /v2/sequencer/policies/{id}","href":"/api-reference/endpoint/delete-sequencer-policy"},{"title":"Make a policy the team default","openapi":"POST /v2/sequencer/policies/{id}/default","href":"/api-reference/endpoint/set-default-sequencer-policy"}]},{"group":"Settings and mailboxes","pages":[{"title":"Get sequencer settings","openapi":"GET /v2/sequencer/settings","href":"/api-reference/endpoint/get-sequencer-settings"},{"title":"List sending mailboxes","openapi":"GET /v2/sequencer/email-accounts","href":"/api-reference/endpoint/list-sequencer-mailboxes"},{"title":"Get a sending mailbox","openapi":"GET /v2/sequencer/email-accounts/{id}","href":"/api-reference/endpoint/get-sequencer-mailbox"}]}]}]},{"tab":"Help","icon":"life-ring","pages":[{"title":"Help","href":"/help/overview"}]}]},"title":"Get a call log - Salesfinity Docs","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}