{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Feather","colors":{"primary":"#0A0A0A","light":"#FFFFFF","dark":"#0A0A0A"},"favicon":"https://mintcdn.com/featherfinancialinc-da9b2ba2/I0ek9b03bgatx_0S/favicon.png?fit=max\u0026auto=format\u0026n=I0ek9b03bgatx_0S\u0026q=85\u0026s=4c66a86d2127a7a37b5671bdf39c748a","appearance":{"default":"system"},"background":{"decoration":"gradient"},"navbar":{"primary":{"type":"button","label":"Get API Access","href":"https://featherhq.com"}},"styling":{"eyebrows":"breadcrumbs","codeblocks":"dark","latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"featherfinancialinc-da9b2ba2","hasAudioNarration":false,"actualSubdomain":"featherfinancialinc-da9b2ba2","customDomains":["doc.featherhq.com"],"gitSource":{"type":"github","owner":"oneloop-hq","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"5fd44102-05e6-4170-b0a7-8768ee24dc2b","liveDeploymentHistoryId":"6a7c1dd1a93a8291fc1c81b8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a7c1dd1a93a8291fc1c81b8"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a7c1dd1a93a8291fc1c81b8:success","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Reference","count":617},{"language":"default","tag":"analytics","count":110},{"language":"default","tag":"assistants","count":41},{"language":"default","tag":"voice","count":40},{"language":"default","tag":"knowledge-base","count":29},{"language":"default","tag":"identity","count":28},{"language":"default","tag":"Documentation","count":26},{"language":"default","tag":"policies","count":22},{"language":"default","tag":"workflows","count":22},{"language":"default","tag":"evals","count":19}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window","slug":"/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window","pageMetadata":{"title":"Headline knowledge-gap KPIs for the org over a date window","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-gaps/summary","href":"/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window","autogeneratedByOpenApi":true},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Headline knowledge-gap KPIs for the org over a date window","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-gaps/summary","href":"/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["knowledge-gap-analytics"],"summary":"Headline knowledge-gap KPIs for the org over a date window","operationId":"getKnowledgeGapSummary","security":["2133f43b-ac5f-4cbc-ae52-2ec11f27d788"],"parameters":["53b84e0c-ea30-43cb-bf57-1071a46939ed","2f15e0e0-cfdc-4c2f-9ee8-16afd53f20b1","728fd3c1-60db-48ae-a9b1-94fb0e65ac26"],"responses":{"200":"19974c33-4c4a-4d27-a6bc-b546a0defce8","400":"6c6e456a-6c14-42fe-9dc0-b9f1975f8ff2","401":"11e09ba9-dd52-4820-befc-5307418fc9e0","422":"d60caf74-cd16-45f8-8821-91ecaafe68a5"},"method":"get","type":"path","servers":["9eb6538d-bcbe-45cd-b596-552ff3c55c6d","86cb313e-00e6-40d9-8a85-58b030b50886"],"path":"/v1/knowledge-gaps/summary","baseUrlOptions":["https://api-sandbox.featherhq.com","http://localhost:8000"],"title":"Headline knowledge-gap KPIs for the org over a date window","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"53b84e0c-ea30-43cb-bf57-1071a46939ed":{"name":"agent_id","in":"query","required":false,"schema":{"oneOf":[{"type":"string","title":"Agent Id","format":"uuid","uniqueKey":"oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Agent Id","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string\u003cuuid> | null"}},"2f15e0e0-cfdc-4c2f-9ee8-16afd53f20b1":{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Start Date","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cdate>"}},"728fd3c1-60db-48ae-a9b1-94fb0e65ac26":{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"End Date","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cdate>"}}},"responses":{"19974c33-4c4a-4d27-a6bc-b546a0defce8":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"total_sessions_analyzed":{"type":"integer","title":"Total Sessions Analyzed","isRequired":true,"uniqueKey":"total_sessions_analyzed","typeLabel":"integer"},"knowledge_gap_rate":{"type":"number","title":"Knowledge Gap Rate","isRequired":true,"uniqueKey":"knowledge_gap_rate","typeLabel":"number"},"total_gap_events":{"type":"integer","title":"Total Gap Events","isRequired":true,"uniqueKey":"total_gap_events","typeLabel":"integer"},"active_gap_clusters":{"type":"integer","title":"Active Gap Clusters","isRequired":true,"uniqueKey":"active_gap_clusters","typeLabel":"integer"},"critical_gap_clusters":{"type":"integer","title":"Critical Gap Clusters","isRequired":true,"uniqueKey":"critical_gap_clusters","typeLabel":"integer"},"top_gap_types":{"items":{"properties":{"bucket":{"type":"string","title":"Bucket","isRequired":true,"uniqueKey":"top_gap_types.items.[INDEX].bucket","typeLabel":"string"},"count":{"type":"integer","title":"Count","isRequired":true,"uniqueKey":"top_gap_types.items.[INDEX].count","typeLabel":"integer"}},"type":"object","required":["bucket","count"],"title":"BucketCount","description":"Generic (bucket-name, count) tuple — used for top_gap_types,\ntop_product_areas in the summary response.","uniqueKey":"top_gap_types.items.[INDEX]","typeLabel":"BucketCount · object"},"type":"array","title":"Top Gap Types","isRequired":true,"uniqueKey":"top_gap_types","typeLabel":"BucketCount · object[]"},"top_product_areas":{"items":{"properties":{"bucket":{"type":"string","title":"Bucket","isRequired":true,"uniqueKey":"top_product_areas.items.[INDEX].bucket","typeLabel":"string"},"count":{"type":"integer","title":"Count","isRequired":true,"uniqueKey":"top_product_areas.items.[INDEX].count","typeLabel":"integer"}},"type":"object","required":["bucket","count"],"title":"BucketCount","description":"Generic (bucket-name, count) tuple — used for top_gap_types,\ntop_product_areas in the summary response.","uniqueKey":"top_product_areas.items.[INDEX]","typeLabel":"BucketCount · object"},"type":"array","title":"Top Product Areas","isRequired":true,"uniqueKey":"top_product_areas","typeLabel":"BucketCount · object[]"},"average_impact_score":{"type":"number","title":"Average Impact Score","isRequired":true,"uniqueKey":"average_impact_score","typeLabel":"number"},"fixed_clusters_count":{"type":"integer","title":"Fixed Clusters Count","isRequired":true,"uniqueKey":"fixed_clusters_count","typeLabel":"integer"},"reopened_clusters_count":{"type":"integer","title":"Reopened Clusters Count","isRequired":true,"uniqueKey":"reopened_clusters_count","typeLabel":"integer"}},"type":"object","required":["total_sessions_analyzed","knowledge_gap_rate","total_gap_events","active_gap_clusters","critical_gap_clusters","top_gap_types","top_product_areas","average_impact_score","fixed_clusters_count","reopened_clusters_count"],"title":"SummaryResponse","uniqueKey":"","typeLabel":"SummaryResponse · object"},"examples":{"Example":{"title":"Example","value":{"total_sessions_analyzed":123,"knowledge_gap_rate":123,"total_gap_events":123,"active_gap_clusters":123,"critical_gap_clusters":123,"top_gap_types":[{"bucket":"\u003cstring>","count":123}],"top_product_areas":[{"bucket":"\u003cstring>","count":123}],"average_impact_score":123,"fixed_clusters_count":123,"reopened_clusters_count":123}}},"exampleType":"generated"}},"exampleType":"generated"},"6c6e456a-6c14-42fe-9dc0-b9f1975f8ff2":{"description":"Bad request","content":{"application/json":{"schema":{"properties":{"error":{"type":"string","title":"Error","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"oneOf":[{"type":"boolean","title":"Retryable","uniqueKey":"retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retryable","uniqueKey":"retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryable","typeLabel":"boolean | null"},"retry_after":{"oneOf":[{"type":"integer","title":"Retry After","uniqueKey":"retry_after.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After","uniqueKey":"retry_after.oneOf.1","typeLabel":"null"}],"uniqueKey":"retry_after","typeLabel":"integer | null"}},"type":"object","required":["error","message"],"title":"ErrorResponse","description":"Standard error response returned by all API error handlers.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","retryable":true,"retry_after":123}}},"exampleType":"generated"}},"exampleType":"generated"},"11e09ba9-dd52-4820-befc-5307418fc9e0":{"description":"Authentication required","content":{"application/json":{"schema":{"properties":{"error":{"type":"string","title":"Error","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"oneOf":[{"type":"boolean","title":"Retryable","uniqueKey":"retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retryable","uniqueKey":"retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryable","typeLabel":"boolean | null"},"retry_after":{"oneOf":[{"type":"integer","title":"Retry After","uniqueKey":"retry_after.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After","uniqueKey":"retry_after.oneOf.1","typeLabel":"null"}],"uniqueKey":"retry_after","typeLabel":"integer | null"}},"type":"object","required":["error","message"],"title":"ErrorResponse","description":"Standard error response returned by all API error handlers.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","retryable":true,"retry_after":123}}},"exampleType":"generated"}},"exampleType":"generated"},"d60caf74-cd16-45f8-8821-91ecaafe68a5":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"},"input":{"oneOf":[{"title":"Input"}],"uniqueKey":"detail.items.[INDEX].input","typeLabel":"any"},"ctx":{"type":"object","title":"Context","uniqueKey":"detail.items.[INDEX].ctx","typeLabel":"Context · object"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>","input":"\u003cunknown>","ctx":{}}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"2133f43b-ac5f-4cbc-ae52-2ec11f27d788":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[]}}},"servers":{"9eb6538d-bcbe-45cd-b596-552ff3c55c6d":{"url":"https://api-sandbox.featherhq.com","description":"Sandbox"},"86cb313e-00e6-40d9-8a85-58b030b50886":{"url":"http://localhost:8000","description":"Local dev"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[]},"schema":{"title":"x-api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"APIKeyHeader","name":"x-api-key"}],"title":"APIKeyHeader"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"featherfinancialinc-da9b2ba2","siteName":"Feather","title":"Headline knowledge-gap KPIs for the org over a date window - Feather","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-12T07:16:59.596Z","originalFileLocation":"api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Feather\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/featherfinancialinc-da9b2ba2/NHQSC3iVqRDl3RD0/_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/featherfinancialinc-da9b2ba2/NHQSC3iVqRDl3RD0/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/featherfinancialinc-da9b2ba2/NHQSC3iVqRDl3RD0/_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/featherfinancialinc-da9b2ba2/NHQSC3iVqRDl3RD0/_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/featherfinancialinc-da9b2ba2/NHQSC3iVqRDl3RD0/_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/featherfinancialinc-da9b2ba2/NHQSC3iVqRDl3RD0/_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/featherfinancialinc-da9b2ba2/NHQSC3iVqRDl3RD0/_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/featherfinancialinc-da9b2ba2/NHQSC3iVqRDl3RD0/_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/featherfinancialinc-da9b2ba2/NHQSC3iVqRDl3RD0/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Headline knowledge-gap KPIs for the org over a date window - Feather\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Feather\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://featherfinancialinc-da9b2ba2.mintlify.app/_mintlify/api/og/v2?division=knowledge-gap-analytics\u0026amp;title=Headline+knowledge-gap+KPIs+for+the+org+over+a+date+window\u0026amp;theme=37ebd49a038e282ac45bee7c\u0026amp;signature=d4e66aad003f21f1bf3e690f117e007aa93cfb20323d132680392a1b962abb0a\">\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=\"Headline knowledge-gap KPIs for the org over a date window - Feather\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://featherfinancialinc-da9b2ba2.mintlify.app/_mintlify/api/og/v2?division=knowledge-gap-analytics\u0026amp;title=Headline+knowledge-gap+KPIs+for+the+org+over+a+date+window\u0026amp;theme=37ebd49a038e282ac45bee7c\u0026amp;signature=d4e66aad003f21f1bf3e690f117e007aa93cfb20323d132680392a1b962abb0a\">\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/featherfinancialinc-da9b2ba2/NHQSC3iVqRDl3RD0/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Feather\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A0A0A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://doc.featherhq.com/#organization\",\"name\":\"Feather\",\"url\":\"https://doc.featherhq.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://doc.featherhq.com#website\",\"name\":\"Feather\",\"url\":\"https://doc.featherhq.com\",\"publisher\":{\"@id\":\"https://doc.featherhq.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window#webpage\",\"url\":\"https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window\",\"name\":\"Headline knowledge-gap KPIs for the org over a date window\",\"dateModified\":\"2026-08-12T07:16:59.596Z\",\"isPartOf\":{\"@id\":\"https://doc.featherhq.com#website\"},\"breadcrumb\":{\"@id\":\"https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Feather\",\"item\":\"https://doc.featherhq.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Headline knowledge-gap KPIs for the org over a date window\",\"item\":\"https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window#apireference\",\"headline\":\"Headline knowledge-gap KPIs for the org over a date window\",\"name\":\"Headline knowledge-gap KPIs for the org over a date window\",\"url\":\"https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window\",\"mainEntityOfPage\":{\"@id\":\"https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window#webpage\"},\"dateModified\":\"2026-08-12T07:16:59.596Z\",\"publisher\":{\"@id\":\"https://doc.featherhq.com/#organization\"},\"isPartOf\":{\"@id\":\"https://doc.featherhq.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Feather\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Feather","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"identity","pages":[{"title":"Get the current caller's identity, role, and KB clearance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/whoami","href":"/api-reference/identity/get-the-current-callers-identity-role-and-kb-clearance"},{"title":"Get current organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/org","href":"/api-reference/identity/get-current-organization"},{"title":"Update current organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/identity/org","href":"/api-reference/identity/update-current-organization"},{"title":"Get the org-level memory toggle","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/org/memory","href":"/api-reference/identity/get-the-org-level-memory-toggle"},{"title":"Enable/disable all memory recall and ingestion for the org","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/identity/org/memory","href":"/api-reference/identity/enabledisable-all-memory-recall-and-ingestion-for-the-org"},{"title":"Get the org-level post-call extraction toggle","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/org/post-session-extraction","href":"/api-reference/identity/get-the-org-level-post-call-extraction-toggle"},{"title":"Enable/disable post-call structured extraction for the org","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/identity/org/post-session-extraction","href":"/api-reference/identity/enabledisable-post-call-structured-extraction-for-the-org"},{"title":"Get the org's warm-transfer settings (bridge webhook URL)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/org/warm-transfer","href":"/api-reference/identity/get-the-orgs-warm-transfer-settings-bridge-webhook-url"},{"title":"List the org's warm-transfer bridge numbers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/org/bridge-numbers","href":"/api-reference/identity/list-the-orgs-warm-transfer-bridge-numbers"},{"title":"Import a Twilio number as a warm-transfer bridge number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/identity/org/bridge-numbers","href":"/api-reference/identity/import-a-twilio-number-as-a-warm-transfer-bridge-number"},{"title":"Delete a bridge number (clears its Twilio webhook, then drops the row)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/identity/org/bridge-numbers/{bridge_number_id}","href":"/api-reference/identity/delete-a-bridge-number-clears-its-twilio-webhook-then-drops-the-row"},{"title":"Re-apply the current /twilio/{org_id}/bridge webhook URL to all bridge numbers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/identity/org/bridge-numbers/reprovision","href":"/api-reference/identity/re-apply-the-current-twilio-bridge-webhook-url-to-all-bridge-numbers"},{"title":"List organization members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/org/members","href":"/api-reference/identity/list-organization-members"},{"title":"Look up an end user by channel + external_id (read-only, no mutation)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/resolve","href":"/api-reference/identity/look-up-an-end-user-by-channel-+-external_id-read-only-no-mutation"},{"title":"Resolve a channel source to an end user (upsert — creates if not found)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/identity/resolve","href":"/api-reference/identity/resolve-a-channel-source-to-an-end-user-upsert-—-creates-if-not-found"},{"title":"List end users for the organization (optionally filter by org_external_end_user_id)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/end-users","href":"/api-reference/identity/list-end-users-for-the-organization-optionally-filter-by-org_external_end_user_id"},{"title":"Get an end user with their contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/end-users/{end_user_id}","href":"/api-reference/identity/get-an-end-user-with-their-contacts"},{"title":"Update an end user (merge-on-conflict requires ?allow_merge=true)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/identity/end-users/{end_user_id}","href":"/api-reference/identity/update-an-end-user-merge-on-conflict-requires-?allow_merge=true"},{"title":"Delete an end user and all associated data","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/identity/end-users/{end_user_id}","href":"/api-reference/identity/delete-an-end-user-and-all-associated-data"},{"title":"Attach a verified contact to an end user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/identity/end-users/{end_user_id}/contacts","href":"/api-reference/identity/attach-a-verified-contact-to-an-end-user"},{"title":"List identity review requests for the organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/review-requests","href":"/api-reference/identity/list-identity-review-requests-for-the-organization"},{"title":"Get a single identity review request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/review-requests/{request_id}","href":"/api-reference/identity/get-a-single-identity-review-request"},{"title":"Approve a MERGE review request and execute the merge","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/identity/review-requests/{request_id}/approve-merge","href":"/api-reference/identity/approve-a-merge-review-request-and-execute-the-merge"},{"title":"Approve an UPDATE review request and add the proposed contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/identity/review-requests/{request_id}/approve-update","href":"/api-reference/identity/approve-an-update-review-request-and-add-the-proposed-contact"},{"title":"Reject a review request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/identity/review-requests/{request_id}/reject","href":"/api-reference/identity/reject-a-review-request"},{"title":"List API keys for the current organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/identity/api-keys","href":"/api-reference/identity/list-api-keys-for-the-current-organization"},{"title":"Create an API key. The plain-text key is returned exactly once.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/identity/api-keys","href":"/api-reference/identity/create-an-api-key-the-plain-text-key-is-returned-exactly-once"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/identity/api-keys/{key_id}","href":"/api-reference/identity/revoke-an-api-key"}]},{"group":"sessions","pages":[{"title":"Fetch the canonical analysis input for a completed session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/sessions/{session_id}/analysis-input","href":"/api-reference/sessions/fetch-the-canonical-analysis-input-for-a-completed-session"}]},{"group":"retention-policies","pages":[{"title":"List retention policies","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/retention-policies","href":"/api-reference/retention-policies/list-retention-policies"},{"title":"Create a retention policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/retention-policies","href":"/api-reference/retention-policies/create-a-retention-policy"},{"title":"Update a retention policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/retention-policies/{policy_id}","href":"/api-reference/retention-policies/update-a-retention-policy"},{"title":"Delete a retention policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/retention-policies/{policy_id}","href":"/api-reference/retention-policies/delete-a-retention-policy"}]},{"group":"conversation-exports","pages":[{"title":"List this org's conversation export jobs (newest first)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/exports","href":"/api-reference/conversation-exports/list-this-orgs-conversation-export-jobs-newest-first"},{"title":"Request an async encrypted conversation/session export","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/conversations/exports","href":"/api-reference/conversation-exports/request-an-async-encrypted-conversationsession-export"},{"title":"Get a conversation export job's status + per-file download tokens","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/exports/{export_id}","href":"/api-reference/conversation-exports/get-a-conversation-export-jobs-status-+-per-file-download-tokens"},{"title":"Server-mediated, decrypted download of one export file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/exports/{export_id}/download/{file_name}","href":"/api-reference/conversation-exports/server-mediated-decrypted-download-of-one-export-file"}]},{"group":"memory","pages":[{"title":"Get all stored facts for a user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/memory/users/{end_user_id}","href":"/api-reference/memory/get-all-stored-facts-for-a-user"},{"title":"Purge a user's derived memory","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/memory/users/{end_user_id}","href":"/api-reference/memory/purge-a-users-derived-memory"},{"title":"Get one session's memory ingestion outcome and attributed facts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/memory/sessions/{session_id}/memories","href":"/api-reference/memory/get-one-sessions-memory-ingestion-outcome-and-attributed-facts"},{"title":"Delete one stored memory fact for a user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/memory/users/{end_user_id}/facts/{fact_id}","href":"/api-reference/memory/delete-one-stored-memory-fact-for-a-user"}]},{"group":"knowledge-base","pages":[{"title":"Get available KB configuration options","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/config","href":"/api-reference/knowledge-base/get-available-kb-configuration-options"},{"title":"List knowledge bases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases","href":"/api-reference/knowledge-base/list-knowledge-bases"},{"title":"Create a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/knowledge-bases","href":"/api-reference/knowledge-base/create-a-knowledge-base"},{"title":"Get a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}","href":"/api-reference/knowledge-base/get-a-knowledge-base"},{"title":"Update a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/knowledge-base/knowledge-bases/{kb_id}","href":"/api-reference/knowledge-base/update-a-knowledge-base"},{"title":"Delete a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/knowledge-base/knowledge-bases/{kb_id}","href":"/api-reference/knowledge-base/delete-a-knowledge-base"},{"title":"Get aggregate ingestion status for a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}/ingestion-status","href":"/api-reference/knowledge-base/get-aggregate-ingestion-status-for-a-knowledge-base"},{"title":"List documents in a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}/documents","href":"/api-reference/knowledge-base/list-documents-in-a-knowledge-base"},{"title":"Get a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/documents/{doc_id}","href":"/api-reference/knowledge-base/get-a-document"},{"title":"Delete a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/knowledge-base/documents/{doc_id}","href":"/api-reference/knowledge-base/delete-a-document"},{"title":"Update a document's title and/or metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/knowledge-base/documents/{doc_id}","href":"/api-reference/knowledge-base/update-a-documents-title-andor-metadata"},{"title":"Get a document's sensitivity classification","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/documents/{doc_id}/classification","href":"/api-reference/knowledge-base/get-a-documents-sensitivity-classification"},{"title":"Manually correct a document's sensitivity classification","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/knowledge-base/documents/{doc_id}/classification","href":"/api-reference/knowledge-base/manually-correct-a-documents-sensitivity-classification"},{"title":"Approve a document's pending classification","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/documents/{doc_id}/classification/approve","href":"/api-reference/knowledge-base/approve-a-documents-pending-classification"},{"title":"List documents awaiting classification review","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}/classification/pending","href":"/api-reference/knowledge-base/list-documents-awaiting-classification-review"},{"title":"Re-run sensitivity classification across a KB's documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/knowledge-bases/{kb_id}/reclassify","href":"/api-reference/knowledge-base/re-run-sensitivity-classification-across-a-kbs-documents"},{"title":"Ingest documents (text, files, or mixed)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/knowledge-bases/{kb_id}/ingest","href":"/api-reference/knowledge-base/ingest-documents-text-files-or-mixed"},{"title":"List ingestion jobs for a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}/ingestion-jobs","href":"/api-reference/knowledge-base/list-ingestion-jobs-for-a-knowledge-base"},{"title":"Get ingestion job progress","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/ingestion-jobs/{job_id}","href":"/api-reference/knowledge-base/get-ingestion-job-progress"},{"title":"List documents in an ingestion job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/ingestion-jobs/{job_id}/documents","href":"/api-reference/knowledge-base/list-documents-in-an-ingestion-job"},{"title":"List ingestion job logs grouped by document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/ingestion-jobs/{job_id}/logs","href":"/api-reference/knowledge-base/list-ingestion-job-logs-grouped-by-document"},{"title":"Retry a failed ingestion job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/ingestion-jobs/{job_id}/retry","href":"/api-reference/knowledge-base/retry-a-failed-ingestion-job"},{"title":"Semantic search across knowledge bases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/search","href":"/api-reference/knowledge-base/semantic-search-across-knowledge-bases"},{"title":"List all versions of a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/documents/{doc_id}/versions","href":"/api-reference/knowledge-base/list-all-versions-of-a-document"},{"title":"Get a version by UUID, version number, or alias","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/documents/{doc_id}/versions/{ref}","href":"/api-reference/knowledge-base/get-a-version-by-uuid-version-number-or-alias"},{"title":"Delete a specific version (blocked if active)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/knowledge-base/documents/{doc_id}/versions/{version_id}","href":"/api-reference/knowledge-base/delete-a-specific-version-blocked-if-active"},{"title":"Promote a version to active","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/documents/{doc_id}/promote","href":"/api-reference/knowledge-base/promote-a-version-to-active"},{"title":"Release a quarantined version (reviewed false-positive)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/documents/{doc_id}/versions/{version_id}/release","href":"/api-reference/knowledge-base/release-a-quarantined-version-reviewed-false-positive"},{"title":"Confirm a quarantined version (true-positive; stays quarantined)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/documents/{doc_id}/versions/{version_id}/confirm-quarantine","href":"/api-reference/knowledge-base/confirm-a-quarantined-version-true-positive;-stays-quarantined"}]},{"group":"knowledge-base-evals","pages":[{"title":"List evaluation suites","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/evals/suites","href":"/api-reference/knowledge-base-evals/list-evaluation-suites"},{"title":"Create an evaluation suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/evals/suites","href":"/api-reference/knowledge-base-evals/create-an-evaluation-suite"},{"title":"Get an evaluation suite with its cases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/evals/suites/{suite_id}","href":"/api-reference/knowledge-base-evals/get-an-evaluation-suite-with-its-cases"},{"title":"Delete an evaluation suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/knowledge-base/evals/suites/{suite_id}","href":"/api-reference/knowledge-base-evals/delete-an-evaluation-suite"},{"title":"Update an evaluation suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/knowledge-base/evals/suites/{suite_id}","href":"/api-reference/knowledge-base-evals/update-an-evaluation-suite"},{"title":"Add a case to an evaluation suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/evals/suites/{suite_id}/cases","href":"/api-reference/knowledge-base-evals/add-a-case-to-an-evaluation-suite"},{"title":"Delete an evaluation case","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/knowledge-base/evals/cases/{case_id}","href":"/api-reference/knowledge-base-evals/delete-an-evaluation-case"},{"title":"Update an evaluation case","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/knowledge-base/evals/cases/{case_id}","href":"/api-reference/knowledge-base-evals/update-an-evaluation-case"},{"title":"List evaluation runs for a suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/evals/suites/{suite_id}/runs","href":"/api-reference/knowledge-base-evals/list-evaluation-runs-for-a-suite"},{"title":"Trigger a new evaluation run against a suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/evals/suites/{suite_id}/runs","href":"/api-reference/knowledge-base-evals/trigger-a-new-evaluation-run-against-a-suite"},{"title":"List evaluation runs across the org (including runs whose suite was deleted)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/evals/runs","href":"/api-reference/knowledge-base-evals/list-evaluation-runs-across-the-org-including-runs-whose-suite-was-deleted"},{"title":"Get an evaluation run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/evals/runs/{run_id}","href":"/api-reference/knowledge-base-evals/get-an-evaluation-run"},{"title":"List per-case results for a run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/evals/runs/{run_id}/results","href":"/api-reference/knowledge-base-evals/list-per-case-results-for-a-run"}]},{"group":"knowledge-base-connectors","pages":[{"title":"List Sources","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}/sources","href":"/api-reference/knowledge-base-connectors/list-sources"},{"title":"Create Source","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/knowledge-bases/{kb_id}/sources","href":"/api-reference/knowledge-base-connectors/create-source"},{"title":"Get Source","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}/sources/{source_id}","href":"/api-reference/knowledge-base-connectors/get-source"},{"title":"Delete Source","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/knowledge-base/knowledge-bases/{kb_id}/sources/{source_id}","href":"/api-reference/knowledge-base-connectors/delete-source"},{"title":"List Roots","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}/sources/{source_id}/roots","href":"/api-reference/knowledge-base-connectors/list-roots"},{"title":"Add Root","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/knowledge-bases/{kb_id}/sources/{source_id}/roots","href":"/api-reference/knowledge-base-connectors/add-root"},{"title":"Delete Root","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/knowledge-base/knowledge-bases/{kb_id}/sources/{source_id}/roots/{root_id}","href":"/api-reference/knowledge-base-connectors/delete-root"},{"title":"Drive Picker Config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}/sources/{source_id}/drive/picker-config","href":"/api-reference/knowledge-base-connectors/drive-picker-config"},{"title":"Browse Pages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}/sources/{source_id}/pages","href":"/api-reference/knowledge-base-connectors/browse-pages"},{"title":"Trigger Sync","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/knowledge-bases/{kb_id}/sources/{source_id}/sync","href":"/api-reference/knowledge-base-connectors/trigger-sync"},{"title":"Get Sync Status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/knowledge-bases/{kb_id}/sources/{source_id}/sync/status","href":"/api-reference/knowledge-base-connectors/get-sync-status"},{"title":"Update Source Schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/knowledge-base/knowledge-bases/{kb_id}/sources/{source_id}/schedule","href":"/api-reference/knowledge-base-connectors/update-source-schedule"}]},{"group":"knowledge-base-governance","pages":[{"title":"Update a version's lifecycle governance status / expiry","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/knowledge-base/documents/{doc_id}/versions/{version_id}/governance","href":"/api-reference/knowledge-base-governance/update-a-versions-lifecycle-governance-status-expiry"},{"title":"List a version's governance lifecycle history (newest first)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/documents/{doc_id}/versions/{version_id}/governance-events","href":"/api-reference/knowledge-base-governance/list-a-versions-governance-lifecycle-history-newest-first"},{"title":"Get the org's KB audit retention policy (creates defaults if unset)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/retention-policy","href":"/api-reference/knowledge-base-governance/get-the-orgs-kb-audit-retention-policy-creates-defaults-if-unset"},{"title":"Update the org's KB audit retention policy / legal hold","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/knowledge-base/retention-policy","href":"/api-reference/knowledge-base-governance/update-the-orgs-kb-audit-retention-policy-legal-hold"}]},{"group":"knowledge-base-audit","pages":[{"title":"Query governed KB retrieval-audit logs (incl. misses/blocks/errors)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/audit/retrievals","href":"/api-reference/knowledge-base-audit/query-governed-kb-retrieval-audit-logs-incl-missesblockserrors"},{"title":"Get one retrieval-audit log with its scopes and chunk refs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/audit/retrievals/{ref}","href":"/api-reference/knowledge-base-audit/get-one-retrieval-audit-log-with-its-scopes-and-chunk-refs"},{"title":"List this org's KB audit export jobs (newest first)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/audit/exports","href":"/api-reference/knowledge-base-audit/list-this-orgs-kb-audit-export-jobs-newest-first"},{"title":"Request an async encrypted KB audit export","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/audit/exports","href":"/api-reference/knowledge-base-audit/request-an-async-encrypted-kb-audit-export"},{"title":"Get an audit export job's status + per-file download tokens","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/audit/exports/{export_id}","href":"/api-reference/knowledge-base-audit/get-an-audit-export-jobs-status-+-per-file-download-tokens"},{"title":"Server-mediated, decrypted download of one export file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/audit/exports/{export_id}/download/{file_name}","href":"/api-reference/knowledge-base-audit/server-mediated-decrypted-download-of-one-export-file"}]},{"group":"knowledge-base-acl","pages":[{"title":"Get the org's effective KB ACL config (role→clearance map + mode)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/acl/config","href":"/api-reference/knowledge-base-acl/get-the-orgs-effective-kb-acl-config-role→clearance-map-+-mode"},{"title":"Update the org's KB role→clearance map and/or classification mode","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/knowledge-base/acl/config","href":"/api-reference/knowledge-base-acl/update-the-orgs-kb-role→clearance-map-andor-classification-mode"},{"title":"Enqueue the KB ACL enable preflight (verifies coverage + config)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/acl/rollout/preflight","href":"/api-reference/knowledge-base-acl/enqueue-the-kb-acl-enable-preflight-verifies-coverage-+-config"},{"title":"Get the org's KB ACL rollout state + last preflight report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-base/acl/rollout/status","href":"/api-reference/knowledge-base-acl/get-the-orgs-kb-acl-rollout-state-+-last-preflight-report"},{"title":"Enable KB ACL (requires a passing preflight → ready_to_enable)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/acl/rollout/enable","href":"/api-reference/knowledge-base-acl/enable-kb-acl-requires-a-passing-preflight-→-ready_to_enable"},{"title":"Disable KB ACL (returns retrieval to byte-identical pre-ENG-640)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-base/acl/rollout/disable","href":"/api-reference/knowledge-base-acl/disable-kb-acl-returns-retrieval-to-byte-identical-pre-eng-640"}]},{"group":"model-router","pages":[{"title":"List available models with pricing and capabilities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/model-router/models","href":"/api-reference/model-router/list-available-models-with-pricing-and-capabilities"},{"title":"List models, per-role runtime defaults, and the system default fallback chain","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/model-router/catalog","href":"/api-reference/model-router/list-models-per-role-runtime-defaults-and-the-system-default-fallback-chain"},{"title":"List model router configs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/model-router/configs","href":"/api-reference/model-router/list-model-router-configs"},{"title":"Create a model router config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/model-router/configs","href":"/api-reference/model-router/create-a-model-router-config"},{"title":"Get a model router config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/model-router/configs/{config_id}","href":"/api-reference/model-router/get-a-model-router-config"},{"title":"Update a model router config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/model-router/configs/{config_id}","href":"/api-reference/model-router/update-a-model-router-config"},{"title":"Delete a model router config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/model-router/configs/{config_id}","href":"/api-reference/model-router/delete-a-model-router-config"},{"title":"List model fallback events for auditing","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/model-router/fallback-events","href":"/api-reference/model-router/list-model-fallback-events-for-auditing"},{"title":"Invoke a model with routing","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/model-router/invoke","href":"/api-reference/model-router/invoke-a-model-with-routing"},{"title":"Stream model responses via SSE","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/model-router/stream","href":"/api-reference/model-router/stream-model-responses-via-sse"}]},{"group":"notifications","pages":[{"title":"Discover channels the bot can post to (cached 5 min)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notifications/destinations/discover","href":"/api-reference/notifications/discover-channels-the-bot-can-post-to-cached-5-min"},{"title":"List configured notification destinations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notifications/destinations","href":"/api-reference/notifications/list-configured-notification-destinations"},{"title":"Create a destination (verified on save via a test post)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/notifications/destinations","href":"/api-reference/notifications/create-a-destination-verified-on-save-via-a-test-post"},{"title":"Delete a notification destination","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/notifications/destinations/{destination_id}","href":"/api-reference/notifications/delete-a-notification-destination"},{"title":"List event-type routing rules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notifications/routes","href":"/api-reference/notifications/list-event-type-routing-rules"},{"title":"Create or update an event_type -> destination route","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/notifications/routes","href":"/api-reference/notifications/create-or-update-an-event_type->-destination-route"},{"title":"Delete a routing rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/notifications/routes/{route_id}","href":"/api-reference/notifications/delete-a-routing-rule"},{"title":"Get org notification settings (default destination + timezone)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notifications/settings","href":"/api-reference/notifications/get-org-notification-settings-default-destination-+-timezone"},{"title":"Set the default destination and/or org timezone","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/notifications/settings","href":"/api-reference/notifications/set-the-default-destination-andor-org-timezone"},{"title":"Browse the notification catalog merged with this org's config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notifications/types","href":"/api-reference/notifications/browse-the-notification-catalog-merged-with-this-orgs-config"},{"title":"Enable/disable a type and set its severity override / threshold config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/notifications/types/{event_type}/config","href":"/api-reference/notifications/enabledisable-a-type-and-set-its-severity-override-threshold-config"},{"title":"One-click enable the recommended starter set","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/notifications/types/enable-recommended","href":"/api-reference/notifications/one-click-enable-the-recommended-starter-set"},{"title":"Send a test notification through the real dispatch path (notify())","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/notifications/types/{event_type}/test-send","href":"/api-reference/notifications/send-a-test-notification-through-the-real-dispatch-path-notify"},{"title":"Browse the delivery-decision audit log (why a notification was/wasn't sent)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notifications/delivery-log","href":"/api-reference/notifications/browse-the-delivery-decision-audit-log-why-a-notification-waswasnt-sent"},{"title":"Get the effective template for a type (default or override) + variables manifest","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notifications/types/{event_type}/template","href":"/api-reference/notifications/get-the-effective-template-for-a-type-default-or-override-+-variables-manifest"},{"title":"Create/update the per-org template override (validates + increments version)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/notifications/types/{event_type}/template","href":"/api-reference/notifications/createupdate-the-per-org-template-override-validates-+-increments-version"},{"title":"Delete the per-org override (revert to the platform default)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/notifications/types/{event_type}/template","href":"/api-reference/notifications/delete-the-per-org-override-revert-to-the-platform-default"},{"title":"Strict-validate candidate slots (per-slot errors; valid=false is a 200)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/notifications/types/{event_type}/template/validate","href":"/api-reference/notifications/strict-validate-candidate-slots-per-slot-errors;-valid=false-is-a-200"},{"title":"Render a preview (text + blocks) of candidate-or-effective slots","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/notifications/types/{event_type}/template/preview","href":"/api-reference/notifications/render-a-preview-text-+-blocks-of-candidate-or-effective-slots"}]},{"group":"integrations","pages":[{"title":"List the integrations this platform supports","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/integrations","href":"/api-reference/integrations/list-the-integrations-this-platform-supports"},{"title":"List the calling org's connections","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/integrations/connections","href":"/api-reference/integrations/list-the-calling-orgs-connections"},{"title":"Start the OAuth flow for a new connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/integrations/connections","href":"/api-reference/integrations/start-the-oauth-flow-for-a-new-connection"},{"title":"Get a connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/integrations/connections/{connection_id}","href":"/api-reference/integrations/get-a-connection"},{"title":"Disconnect (hard-delete the row + drop vendor-side connection)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/integrations/connections/{connection_id}","href":"/api-reference/integrations/disconnect-hard-delete-the-row-+-drop-vendor-side-connection"},{"title":"Rename a connection and/or set its BYO voice CPS rate (slug stays immutable)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/integrations/connections/{connection_id}","href":"/api-reference/integrations/rename-a-connection-andor-set-its-byo-voice-cps-rate-slug-stays-immutable"},{"title":"Connect a customer-supplied MCP server (static creds or OAuth)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/integrations/connections/custom-mcp","href":"/api-reference/integrations/connect-a-customer-supplied-mcp-server-static-creds-or-oauth"},{"title":"Connect the Email integration (born active; presence marker for the send_email tool)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/integrations/connections/email","href":"/api-reference/integrations/connect-the-email-integration-born-active;-presence-marker-for-the-send_email-tool"},{"title":"Pre-check a custom MCP server's OAuth/DCR support","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/integrations/connections/custom-mcp/discover","href":"/api-reference/integrations/pre-check-a-custom-mcp-servers-oauthdcr-support"},{"title":"Finalize a connection after the OAuth popup closes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/integrations/connections/{connection_id}/finalize","href":"/api-reference/integrations/finalize-a-connection-after-the-oauth-popup-closes"},{"title":"Manually re-sync the tool list for this connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/integrations/connections/{connection_id}/refresh-tools","href":"/api-reference/integrations/manually-re-sync-the-tool-list-for-this-connection"},{"title":"Enable or disable all tools on a connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/integrations/connections/{connection_id}/tools","href":"/api-reference/integrations/enable-or-disable-all-tools-on-a-connection"},{"title":"Edit author-editable metadata on a single tool (response_field_map, is_enabled, input_defaults — defaults + pinned)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/integrations/connections/{connection_id}/tools/{tool_id}","href":"/api-reference/integrations/edit-author-editable-metadata-on-a-single-tool-response_field_map-is_enabled-input_defaults-—-defaults-+-pinned"},{"title":"Dashboard test surface: invoke a tool by slug (VENDOR_API)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/integrations/connections/{connection_id}/test-invoke","href":"/api-reference/integrations/dashboard-test-surface:-invoke-a-tool-by-slug-vendor_api"},{"title":"Dashboard test surface: invoke an MCP tool by slug (FEATHER_MCP_CLIENT)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/integrations/connections/{connection_id}/test-mcp-call","href":"/api-reference/integrations/dashboard-test-surface:-invoke-an-mcp-tool-by-slug-feather_mcp_client"},{"title":"Dashboard test surface: lease a provider token (FEATHER_API)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/integrations/connections/{connection_id}/test-lease","href":"/api-reference/integrations/dashboard-test-surface:-lease-a-provider-token-feather_api"},{"title":"Recent webhook events for the org (testing/observability)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/integrations/webhook-events","href":"/api-reference/integrations/recent-webhook-events-for-the-org-testingobservability"}]},{"group":"tools","pages":[{"title":"List API tools","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tools","href":"/api-reference/tools/list-api-tools"},{"title":"Create an API tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tools","href":"/api-reference/tools/create-an-api-tool"},{"title":"Get an API tool by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tools/{tool_id}","href":"/api-reference/tools/get-an-api-tool-by-id"},{"title":"Update an API tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/tools/{tool_id}","href":"/api-reference/tools/update-an-api-tool"},{"title":"Delete an API tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/tools/{tool_id}","href":"/api-reference/tools/delete-an-api-tool"},{"title":"Execute an API tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tools/{tool_id}/execute","href":"/api-reference/tools/execute-an-api-tool"},{"title":"Preview a revision's RAW response + narrowed field map (no persist)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tools/{tool_id}/revisions/{revision_id}/test","href":"/api-reference/tools/preview-a-revisions-raw-response-+-narrowed-field-map-no-persist"},{"title":"Dry-run a dynamic transfer-destination lookup (no persist)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tools/{tool_id}/revisions/{revision_id}/preview-transfer-destination","href":"/api-reference/tools/dry-run-a-dynamic-transfer-destination-lookup-no-persist"},{"title":"Enable an API tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tools/{tool_id}/enable","href":"/api-reference/tools/enable-an-api-tool"},{"title":"Disable an API tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tools/{tool_id}/disable","href":"/api-reference/tools/disable-an-api-tool"},{"title":"List tool revisions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tools/{tool_id}/revisions","href":"/api-reference/tools/list-tool-revisions"},{"title":"Create a tool revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tools/{tool_id}/revisions","href":"/api-reference/tools/create-a-tool-revision"},{"title":"Get a tool revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tools/revisions/{revision_id}","href":"/api-reference/tools/get-a-tool-revision"},{"title":"Update a tool revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/tools/revisions/{revision_id}","href":"/api-reference/tools/update-a-tool-revision"},{"title":"Delete a tool revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/tools/revisions/{revision_id}","href":"/api-reference/tools/delete-a-tool-revision"},{"title":"Set the active tool revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tools/{tool_id}/set-active-revision","href":"/api-reference/tools/set-the-active-tool-revision"},{"title":"Analyze which assistants would be affected if this tool revision is promoted","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tools/{tool_id}/revisions/{revision_id}/impact","href":"/api-reference/tools/analyze-which-assistants-would-be-affected-if-this-tool-revision-is-promoted"}]},{"group":"mocks","pages":[{"title":"List mocks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/mocks","href":"/api-reference/mocks/list-mocks"},{"title":"Create a mock","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/mocks","href":"/api-reference/mocks/create-a-mock"},{"title":"Get a mock","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/mocks/{mock_id}","href":"/api-reference/mocks/get-a-mock"},{"title":"Update a mock","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/mocks/{mock_id}","href":"/api-reference/mocks/update-a-mock"},{"title":"Delete a mock","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/mocks/{mock_id}","href":"/api-reference/mocks/delete-a-mock"},{"title":"Enable a mock","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/mocks/{mock_id}/enable","href":"/api-reference/mocks/enable-a-mock"},{"title":"Disable a mock","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/mocks/{mock_id}/disable","href":"/api-reference/mocks/disable-a-mock"},{"title":"List scenarios on a mock (priority ASC)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/mocks/{mock_id}/scenarios","href":"/api-reference/mocks/list-scenarios-on-a-mock-priority-asc"},{"title":"Atomically replace all scenarios on a mock","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/mocks/{mock_id}/scenarios","href":"/api-reference/mocks/atomically-replace-all-scenarios-on-a-mock"},{"title":"Create a scenario for a mock","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/mocks/{mock_id}/scenarios","href":"/api-reference/mocks/create-a-scenario-for-a-mock"},{"title":"Bulk update scenario priorities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/mocks/{mock_id}/scenarios/reorder","href":"/api-reference/mocks/bulk-update-scenario-priorities"},{"title":"Get a scenario","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/mocks/scenarios/{scenario_id}","href":"/api-reference/mocks/get-a-scenario"},{"title":"Update a scenario","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/mocks/scenarios/{scenario_id}","href":"/api-reference/mocks/update-a-scenario"},{"title":"Delete a scenario","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/mocks/scenarios/{scenario_id}","href":"/api-reference/mocks/delete-a-scenario"},{"title":"Paginated, filterable list of dispatcher requests for a mock","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/mocks/{mock_id}/requests","href":"/api-reference/mocks/paginated-filterable-list-of-dispatcher-requests-for-a-mock"},{"title":"Get a single dispatcher request log entry (verbose)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/mocks/requests/{request_id}","href":"/api-reference/mocks/get-a-single-dispatcher-request-log-entry-verbose"}]},{"group":"webchat","pages":[{"title":"List webchat widgets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/webchat/widgets","href":"/api-reference/webchat/list-webchat-widgets"},{"title":"Create a webchat widget","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/webchat/widgets","href":"/api-reference/webchat/create-a-webchat-widget"},{"title":"Get a webchat widget","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/webchat/widgets/{widget_id}","href":"/api-reference/webchat/get-a-webchat-widget"},{"title":"Delete a webchat widget","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/webchat/widgets/{widget_id}","href":"/api-reference/webchat/delete-a-webchat-widget"},{"title":"Update a webchat widget","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/webchat/widgets/{widget_id}","href":"/api-reference/webchat/update-a-webchat-widget"},{"title":"Rotate a widget's public embed key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/webchat/widgets/{widget_id}/rotate-key","href":"/api-reference/webchat/rotate-a-widgets-public-embed-key"},{"title":"Revoke every live session token for a widget","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/webchat/widgets/{widget_id}/kill","href":"/api-reference/webchat/revoke-every-live-session-token-for-a-widget"},{"title":"Add an allowed embed domain","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/webchat/widgets/{widget_id}/domains","href":"/api-reference/webchat/add-an-allowed-embed-domain"},{"title":"Remove an allowed embed domain","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/webchat/widgets/{widget_id}/domains/{domain_id}","href":"/api-reference/webchat/remove-an-allowed-embed-domain"},{"title":"Check a domain's DNS TXT record now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/webchat/widgets/{widget_id}/domains/{domain_id}/verify","href":"/api-reference/webchat/check-a-domains-dns-txt-record-now"}]},{"group":"hitl","pages":[{"title":"Get the org's HITL approval-UX lines (resolved)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/hitl/approval-messages","href":"/api-reference/hitl/get-the-orgs-hitl-approval-ux-lines-resolved"},{"title":"Set/clear the org's HITL approval-UX lines","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/hitl/approval-messages","href":"/api-reference/hitl/setclear-the-orgs-hitl-approval-ux-lines"},{"title":"List approval requests","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/hitl/approvals","href":"/api-reference/hitl/list-approval-requests"},{"title":"Get an approval request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/hitl/approvals/{approval_id}","href":"/api-reference/hitl/get-an-approval-request"},{"title":"Decide an approval request (approve / deny)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/hitl/approvals/{approval_id}/decide","href":"/api-reference/hitl/decide-an-approval-request-approve-deny"},{"title":"List handoffs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/hitl/handoffs","href":"/api-reference/hitl/list-handoffs"},{"title":"Get a handoff","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/hitl/handoffs/{handoff_id}","href":"/api-reference/hitl/get-a-handoff"},{"title":"Relay an operator message on a handed-off conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/hitl/handoffs/{handoff_id}/messages","href":"/api-reference/hitl/relay-an-operator-message-on-a-handed-off-conversation"},{"title":"Resolve a handoff and close its conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/hitl/handoffs/{handoff_id}/resolve","href":"/api-reference/hitl/resolve-a-handoff-and-close-its-conversation"},{"title":"List failed warm-transfer attempts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/hitl/failed-transfers","href":"/api-reference/hitl/list-failed-warm-transfer-attempts"}]},{"group":"personas","pages":[{"title":"List personas","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/personas","href":"/api-reference/personas/list-personas"},{"title":"Create a persona","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/personas","href":"/api-reference/personas/create-a-persona"},{"title":"Get a persona","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/personas/{persona_id}","href":"/api-reference/personas/get-a-persona"},{"title":"Update a persona","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/personas/{persona_id}","href":"/api-reference/personas/update-a-persona"},{"title":"Delete a persona","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/personas/{persona_id}","href":"/api-reference/personas/delete-a-persona"},{"title":"Get a persona's voice call behavior settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/personas/{persona_id}/call-settings","href":"/api-reference/personas/get-a-personas-voice-call-behavior-settings"},{"title":"Update a persona's voice call behavior settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/personas/{persona_id}/call-settings","href":"/api-reference/personas/update-a-personas-voice-call-behavior-settings"}]},{"group":"conversations","pages":[{"title":"List v2 conversations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations","href":"/api-reference/conversations/list-v2-conversations"},{"title":"Get or create a v2 conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/conversations","href":"/api-reference/conversations/get-or-create-a-v2-conversation"},{"title":"List a v2 conversation's transcript","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/{conversation_id}/turns","href":"/api-reference/conversations/list-a-v2-conversations-transcript"},{"title":"Run one turn of a v2 conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/conversations/{conversation_id}/turns","href":"/api-reference/conversations/run-one-turn-of-a-v2-conversation"},{"title":"Get a v2 conversation with recent turns","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/{conversation_id}","href":"/api-reference/conversations/get-a-v2-conversation-with-recent-turns"},{"title":"Delete a v2 conversation and purge its data + blobs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/conversations/{conversation_id}","href":"/api-reference/conversations/delete-a-v2-conversation-and-purge-its-data-+-blobs"},{"title":"Close a v2 conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/conversations/{conversation_id}/close","href":"/api-reference/conversations/close-a-v2-conversation"},{"title":"End a v2 conversation through the close pipeline (admin)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/conversations/{conversation_id}/end_session","href":"/api-reference/conversations/end-a-v2-conversation-through-the-close-pipeline-admin"},{"title":"Mint a fresh test-type v2 conversation bound to an agent or team","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/conversations/test-chat","href":"/api-reference/conversations/mint-a-fresh-test-type-v2-conversation-bound-to-an-agent-or-team"},{"title":"Poll a v2 conversation for its status and the message tail since a seq","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/{conversation_id}/messages","href":"/api-reference/conversations/poll-a-v2-conversation-for-its-status-and-the-message-tail-since-a-seq"},{"title":"Get the customer-readable trace for a v2 conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/{conversation_id}/trace","href":"/api-reference/conversations/get-the-customer-readable-trace-for-a-v2-conversation"},{"title":"Get the customer-readable trace for a v2 conversation, nested Session→Turn→node→step","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/{conversation_id}/trace/grouped","href":"/api-reference/conversations/get-the-customer-readable-trace-for-a-v2-conversation-nested-session→turn→node→step"},{"title":"Get the customer-readable trace for a single v2 turn","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/{conversation_id}/turns/{turn_id}/trace","href":"/api-reference/conversations/get-the-customer-readable-trace-for-a-single-v2-turn"},{"title":"List the per-turn engineering-waterfall summaries for a v2 conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/{conversation_id}/engineering/turns","href":"/api-reference/conversations/list-the-per-turn-engineering-waterfall-summaries-for-a-v2-conversation"},{"title":"Get the reconstructed engineering waterfall for a single v2 turn","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/{conversation_id}/engineering/turns/{turn_id}","href":"/api-reference/conversations/get-the-reconstructed-engineering-waterfall-for-a-single-v2-turn"},{"title":"Re-run all current evaluator bindings against a v2 conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/conversations/{conversation_id}/reevaluate","href":"/api-reference/conversations/re-run-all-current-evaluator-bindings-against-a-v2-conversation"},{"title":"Run one v2 conversation turn with an SSE response","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/conversations/{conversation_id}/turns/stream","href":"/api-reference/conversations/run-one-v2-conversation-turn-with-an-sse-response"}]},{"group":"assistants","pages":[{"title":"List assistants (cursor-paginated)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants","href":"/api-reference/assistants/list-assistants-cursor-paginated"},{"title":"Create an assistant (agent + workflow) as one unit","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/assistants","href":"/api-reference/assistants/create-an-assistant-agent-+-workflow-as-one-unit"},{"title":"Get the org-level channel-prompt override map","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/channel-prompts","href":"/api-reference/assistants/get-the-org-level-channel-prompt-override-map"},{"title":"Set/clear the org-level channel-prompt override map","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/assistants/channel-prompts","href":"/api-reference/assistants/setclear-the-org-level-channel-prompt-override-map"},{"title":"Get the org-level current-time context configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/current-time","href":"/api-reference/assistants/get-the-org-level-current-time-context-configuration"},{"title":"Set/clear the org-level current-time context configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/assistants/current-time","href":"/api-reference/assistants/setclear-the-org-level-current-time-context-configuration"},{"title":"List the platform tools an assistant can enable","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/platform-tools/catalog","href":"/api-reference/assistants/list-the-platform-tools-an-assistant-can-enable"},{"title":"Get an assistant (config + all revisions)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}","href":"/api-reference/assistants/get-an-assistant-config-+-all-revisions"},{"title":"Update stable identity (name, description, metadata, voice concurrency cap)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/assistants/{agent_id}","href":"/api-reference/assistants/update-stable-identity-name-description-metadata-voice-concurrency-cap"},{"title":"Archive an assistant (blocked by active deployments)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/assistants/{agent_id}/archive","href":"/api-reference/assistants/archive-an-assistant-blocked-by-active-deployments"},{"title":"Restore an archived assistant","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/assistants/{agent_id}/restore","href":"/api-reference/assistants/restore-an-archived-assistant"},{"title":"List deployment bindings (archive blockers)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/deployments","href":"/api-reference/assistants/list-deployment-bindings-archive-blockers"},{"title":"Get operational settings (eval toggles, release-gate config)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/operational-settings","href":"/api-reference/assistants/get-operational-settings-eval-toggles-release-gate-config"},{"title":"Update evaluation toggles (requires evals:configure_live)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/assistants/{agent_id}/operational-settings/evaluation","href":"/api-reference/assistants/update-evaluation-toggles-requires-evals:configure_live"},{"title":"Update knowledge-gap analysis toggle","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/assistants/{agent_id}/operational-settings/analysis","href":"/api-reference/assistants/update-knowledge-gap-analysis-toggle"},{"title":"Update release-gate config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/assistants/{agent_id}/operational-settings/release-gate","href":"/api-reference/assistants/update-release-gate-config"},{"title":"List the revision stack (newest first)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/revisions","href":"/api-reference/assistants/list-the-revision-stack-newest-first"},{"title":"Create a new revision (optionally branch from an existing one)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/assistants/{agent_id}/revisions","href":"/api-reference/assistants/create-a-new-revision-optionally-branch-from-an-existing-one"},{"title":"Get a specific revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/revisions/{revision_id}","href":"/api-reference/assistants/get-a-specific-revision"},{"title":"Delete a revision (cannot delete the active revision)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/assistants/{agent_id}/revisions/{revision_id}","href":"/api-reference/assistants/delete-a-revision-cannot-delete-the-active-revision"},{"title":"Update revision config (any revision, in place)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/assistants/{agent_id}/revisions/{revision_id}","href":"/api-reference/assistants/update-revision-config-any-revision-in-place"},{"title":"Get a revision's effective current-time context configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/revisions/{revision_id}/current-time","href":"/api-reference/assistants/get-a-revisions-effective-current-time-context-configuration"},{"title":"Set/clear a revision's current-time context configuration","deprecated":true,"version":null,"openapi":"/api-reference/openapi.json put /v1/assistants/{agent_id}/revisions/{revision_id}/current-time","href":"/api-reference/assistants/setclear-a-revisions-current-time-context-configuration"},{"title":"Get resolved bare/workflow runtime configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/revisions/{revision_id}/effective-runtime-config","href":"/api-reference/assistants/get-resolved-bareworkflow-runtime-configuration"},{"title":"Get ownership-separated system and workflow context schemas","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/revisions/{revision_id}/context-schema","href":"/api-reference/assistants/get-ownership-separated-system-and-workflow-context-schemas"},{"title":"Get a revision's flow graph","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/revisions/{revision_id}/graph","href":"/api-reference/assistants/get-a-revisions-flow-graph"},{"title":"Replace or clear a revision's flow graph","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/assistants/{agent_id}/revisions/{revision_id}/graph","href":"/api-reference/assistants/replace-or-clear-a-revisions-flow-graph"},{"title":"Resolve inherited and node-local tools for a revision's flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/revisions/{revision_id}/effective-tool-surface","href":"/api-reference/assistants/resolve-inherited-and-node-local-tools-for-a-revisions-flow"},{"title":"Apply graph ops to a revision's flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/assistants/{agent_id}/revisions/{revision_id}/graph/ops","href":"/api-reference/assistants/apply-graph-ops-to-a-revisions-flow"},{"title":"Activate a revision (pure FK flip, no clone)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/assistants/{agent_id}/revisions/{revision_id}/activate","href":"/api-reference/assistants/activate-a-revision-pure-fk-flip-no-clone"},{"title":"Latest release-check verdict for a candidate revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/revisions/{revision_id}/release-check","href":"/api-reference/assistants/latest-release-check-verdict-for-a-candidate-revision"},{"title":"Dispatch the assistant's release simulation suite against a candidate revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/assistants/{agent_id}/revisions/{revision_id}/release-check","href":"/api-reference/assistants/dispatch-the-assistants-release-simulation-suite-against-a-candidate-revision"},{"title":"List the legacy merged context-variable projection","deprecated":true,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/variables","href":"/api-reference/assistants/list-the-legacy-merged-context-variable-projection"},{"title":"Get the assistant's enabled platform tools (from active revision)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/platform-tools","href":"/api-reference/assistants/get-the-assistants-enabled-platform-tools-from-active-revision"},{"title":"Get per-assistant eval configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/eval-config","href":"/api-reference/assistants/get-per-assistant-eval-configuration"},{"title":"Set per-assistant eval configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/assistants/{agent_id}/eval-config","href":"/api-reference/assistants/set-per-assistant-eval-configuration"},{"title":"Get an assistant revision's tool-input defaults (enriched view)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/revisions/{revision_id}/tool-input-defaults","href":"/api-reference/assistants/get-an-assistant-revisions-tool-input-defaults-enriched-view"},{"title":"Replace an assistant revision's tool-input defaults","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/assistants/revisions/{revision_id}/tool-input-defaults","href":"/api-reference/assistants/replace-an-assistant-revisions-tool-input-defaults"},{"title":"Unified audit timeline (revisions + operational + dependency events)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/audit-log","href":"/api-reference/assistants/unified-audit-timeline-revisions-+-operational-+-dependency-events"},{"title":"Get a revision's voice call behavior settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/revisions/{revision_id}/call-settings","href":"/api-reference/assistants/get-a-revisions-voice-call-behavior-settings"},{"title":"Update a revision's voice call behavior settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/assistants/{agent_id}/revisions/{revision_id}/call-settings","href":"/api-reference/assistants/update-a-revisions-voice-call-behavior-settings"}]},{"group":"policies","pages":[{"title":"List policies","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies","href":"/api-reference/policies/list-policies"},{"title":"Create a policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/policies","href":"/api-reference/policies/create-a-policy"},{"title":"Get the org-wide policy enforcement switch","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies/enforcement","href":"/api-reference/policies/get-the-org-wide-policy-enforcement-switch"},{"title":"Enable/disable all policy enforcement for the org (kill switch)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/policies/enforcement","href":"/api-reference/policies/enabledisable-all-policy-enforcement-for-the-org-kill-switch"},{"title":"Get the org-level llm_judge model default","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies/judge-model","href":"/api-reference/policies/get-the-org-level-llm_judge-model-default"},{"title":"Set/clear the org-level llm_judge model default","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/policies/judge-model","href":"/api-reference/policies/setclear-the-org-level-llm_judge-model-default"},{"title":"List policy evaluation audit rows (what enforcement happened, newest-first)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies/evaluations","href":"/api-reference/policies/list-policy-evaluation-audit-rows-what-enforcement-happened-newest-first"},{"title":"Describe the expression-check DSL (paths per point, predicates, operators)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies/expression-schema","href":"/api-reference/policies/describe-the-expression-check-dsl-paths-per-point-predicates-operators"},{"title":"Describe the policy authoring cascade + per-transport runtime resolution","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies/capabilities","href":"/api-reference/policies/describe-the-policy-authoring-cascade-+-per-transport-runtime-resolution"},{"title":"Resolve a tool's input/output schema for policy authoring","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies/tool-schema","href":"/api-reference/policies/resolve-a-tools-inputoutput-schema-for-policy-authoring"},{"title":"Get a policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies/{policy_id}","href":"/api-reference/policies/get-a-policy"},{"title":"Update a policy's identity fields","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/policies/{policy_id}","href":"/api-reference/policies/update-a-policys-identity-fields"},{"title":"Delete a policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/policies/{policy_id}","href":"/api-reference/policies/delete-a-policy"},{"title":"List policy revisions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies/{policy_id}/revisions","href":"/api-reference/policies/list-policy-revisions"},{"title":"Create a policy revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/policies/{policy_id}/revisions","href":"/api-reference/policies/create-a-policy-revision"},{"title":"Get a policy revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies/revisions/{revision_id}","href":"/api-reference/policies/get-a-policy-revision"},{"title":"Delete a policy revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/policies/revisions/{revision_id}","href":"/api-reference/policies/delete-a-policy-revision"},{"title":"Set active policy revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/policies/{policy_id}/set-active-revision","href":"/api-reference/policies/set-active-policy-revision"},{"title":"Get an assistant revision's attached policies","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/revisions/{revision_id}/policies","href":"/api-reference/policies/get-an-assistant-revisions-attached-policies"},{"title":"Attach/detach policies on an assistant revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/assistants/revisions/{revision_id}/policies","href":"/api-reference/policies/attachdetach-policies-on-an-assistant-revision"},{"title":"Detach all policies from an assistant revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/assistants/revisions/{revision_id}/policies","href":"/api-reference/policies/detach-all-policies-from-an-assistant-revision"},{"title":"Describe an assistant's policy enforcement plan (per point, per transport)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/enforcement-plan","href":"/api-reference/policies/describe-an-assistants-policy-enforcement-plan-per-point-per-transport"}]},{"group":"teams","pages":[{"title":"List teams","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/teams","href":"/api-reference/teams/list-teams"},{"title":"Create a team","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/teams","href":"/api-reference/teams/create-a-team"},{"title":"Get a team","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/teams/{team_id}","href":"/api-reference/teams/get-a-team"},{"title":"Update a team","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/teams/{team_id}","href":"/api-reference/teams/update-a-team"},{"title":"Delete a team","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/teams/{team_id}","href":"/api-reference/teams/delete-a-team"},{"title":"List team revisions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/teams/{team_id}/revisions","href":"/api-reference/teams/list-team-revisions"},{"title":"Create a team revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/teams/{team_id}/revisions","href":"/api-reference/teams/create-a-team-revision"},{"title":"Get a team revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/teams/revisions/{revision_id}","href":"/api-reference/teams/get-a-team-revision"},{"title":"Set active team revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/teams/{team_id}/set-active-revision","href":"/api-reference/teams/set-active-team-revision"},{"title":"List members on a team revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/teams/revisions/{revision_id}/members","href":"/api-reference/teams/list-members-on-a-team-revision"},{"title":"Add a member to a team revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/teams/revisions/{revision_id}/members","href":"/api-reference/teams/add-a-member-to-a-team-revision"},{"title":"Update a member on a team revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/teams/revisions/{revision_id}/members/{member_id}","href":"/api-reference/teams/update-a-member-on-a-team-revision"},{"title":"Remove a member from a team revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/teams/revisions/{revision_id}/members/{member_id}","href":"/api-reference/teams/remove-a-member-from-a-team-revision"},{"title":"Get a team's voice call behavior settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/teams/{team_id}/call-settings","href":"/api-reference/teams/get-a-teams-voice-call-behavior-settings"},{"title":"Update a team's voice call behavior settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/teams/{team_id}/call-settings","href":"/api-reference/teams/update-a-teams-voice-call-behavior-settings"}]},{"group":"scenarios","pages":[{"title":"List scenarios","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/scenarios","href":"/api-reference/scenarios/list-scenarios"},{"title":"Create a scenario","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/scenarios","href":"/api-reference/scenarios/create-a-scenario"},{"title":"Generate an unsaved scenario draft from a brief","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/scenarios/draft","href":"/api-reference/scenarios/generate-an-unsaved-scenario-draft-from-a-brief"},{"title":"Generate an unsaved scenario draft from a captured session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/scenarios/draft-from-session","href":"/api-reference/scenarios/generate-an-unsaved-scenario-draft-from-a-captured-session"},{"title":"Get a scenario","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/scenarios/{scenario_id}","href":"/api-reference/scenarios/get-a-scenario"},{"title":"Update a scenario","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/scenarios/{scenario_id}","href":"/api-reference/scenarios/update-a-scenario"},{"title":"Delete a scenario","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/scenarios/{scenario_id}","href":"/api-reference/scenarios/delete-a-scenario"}]},{"group":"sim_suites","pages":[{"title":"List simulation suites","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/sim-suites","href":"/api-reference/sim_suites/list-simulation-suites"},{"title":"Create a simulation suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/sim-suites","href":"/api-reference/sim_suites/create-a-simulation-suite"},{"title":"List simulation suite runs across the org","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/sim-suites/runs","href":"/api-reference/sim_suites/list-simulation-suite-runs-across-the-org"},{"title":"Get a simulation suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/sim-suites/{suite_id}","href":"/api-reference/sim_suites/get-a-simulation-suite"},{"title":"Update a simulation suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/sim-suites/{suite_id}","href":"/api-reference/sim_suites/update-a-simulation-suite"},{"title":"Delete a simulation suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/sim-suites/{suite_id}","href":"/api-reference/sim_suites/delete-a-simulation-suite"},{"title":"Clone a simulation suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/sim-suites/{suite_id}/clone","href":"/api-reference/sim_suites/clone-a-simulation-suite"},{"title":"Add an item to a simulation suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/sim-suites/{suite_id}/items","href":"/api-reference/sim_suites/add-an-item-to-a-simulation-suite"},{"title":"Update a simulation suite item","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/sim-suites/{suite_id}/items/{item_id}","href":"/api-reference/sim_suites/update-a-simulation-suite-item"},{"title":"Remove a simulation suite item","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/sim-suites/{suite_id}/items/{item_id}","href":"/api-reference/sim_suites/remove-a-simulation-suite-item"},{"title":"List simulation suite runs for a suite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/sim-suites/{suite_id}/runs","href":"/api-reference/sim_suites/list-simulation-suite-runs-for-a-suite"},{"title":"Dispatch a simulation suite run (fan-out per item)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/sim-suites/{suite_id}/runs","href":"/api-reference/sim_suites/dispatch-a-simulation-suite-run-fan-out-per-item"},{"title":"Get a simulation suite run with its child runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/sim-suites/{suite_id}/runs/{suite_run_id}","href":"/api-reference/sim_suites/get-a-simulation-suite-run-with-its-child-runs"},{"title":"Cancel every non-terminal child of a suite run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/sim-suites/{suite_id}/runs/{suite_run_id}/cancel","href":"/api-reference/sim_suites/cancel-every-non-terminal-child-of-a-suite-run"},{"title":"Re-dispatch every failed child of a suite run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/sim-suites/{suite_id}/runs/{suite_run_id}/retry-failed","href":"/api-reference/sim_suites/re-dispatch-every-failed-child-of-a-suite-run"}]},{"group":"simulation_runs","pages":[{"title":"List simulation runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/simulation/runs","href":"/api-reference/simulation_runs/list-simulation-runs"},{"title":"Dispatch a simulation run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/simulation/runs","href":"/api-reference/simulation_runs/dispatch-a-simulation-run"},{"title":"Get a simulation run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/simulation/runs/{sim_run_id}","href":"/api-reference/simulation_runs/get-a-simulation-run"},{"title":"Cancel a simulation run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/simulation/runs/{sim_run_id}/cancel","href":"/api-reference/simulation_runs/cancel-a-simulation-run"},{"title":"Get the customer-readable trace for a simulation run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/simulation/runs/{sim_run_id}/trace","href":"/api-reference/simulation_runs/get-the-customer-readable-trace-for-a-simulation-run"},{"title":"Get the customer-readable trace for one turn of a simulation run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/simulation/runs/{sim_run_id}/turns/{turn_id}/trace","href":"/api-reference/simulation_runs/get-the-customer-readable-trace-for-one-turn-of-a-simulation-run"}]},{"group":"evals","pages":[{"title":"List evaluators","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/evaluators","href":"/api-reference/evals/list-evaluators"},{"title":"Create an evaluator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/evaluators","href":"/api-reference/evals/create-an-evaluator"},{"title":"Get an evaluator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/evaluators/{evaluator_id}","href":"/api-reference/evals/get-an-evaluator"},{"title":"Update an evaluator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/evaluators/{evaluator_id}","href":"/api-reference/evals/update-an-evaluator"},{"title":"Archive an evaluator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/evaluators/{evaluator_id}/archive","href":"/api-reference/evals/archive-an-evaluator"},{"title":"List evaluator bindings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/evaluator-bindings","href":"/api-reference/evals/list-evaluator-bindings"},{"title":"Create an evaluator binding","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/evaluator-bindings","href":"/api-reference/evals/create-an-evaluator-binding"},{"title":"Get an evaluator binding","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/evaluator-bindings/{binding_id}","href":"/api-reference/evals/get-an-evaluator-binding"},{"title":"Delete an evaluator binding","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/evaluator-bindings/{binding_id}","href":"/api-reference/evals/delete-an-evaluator-binding"},{"title":"Update an evaluator binding","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/evaluator-bindings/{binding_id}","href":"/api-reference/evals/update-an-evaluator-binding"},{"title":"List eval runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/eval-runs","href":"/api-reference/evals/list-eval-runs"},{"title":"Day-bucketed eval-run activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/eval-runs/activity","href":"/api-reference/evals/day-bucketed-eval-run-activity"},{"title":"Get an eval run (optionally with embedded evidence)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/eval-runs/{run_id}","href":"/api-reference/evals/get-an-eval-run-optionally-with-embedded-evidence"},{"title":"Delete a terminal eval run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/eval-runs/{run_id}","href":"/api-reference/evals/delete-a-terminal-eval-run"},{"title":"Retry a failed or errored eval run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/eval-runs/{run_id}/retry","href":"/api-reference/evals/retry-a-failed-or-errored-eval-run"},{"title":"Get an eval score","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/eval-scores/{score_id}","href":"/api-reference/evals/get-an-eval-score"},{"title":"List deterministic signals available to evaluators","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/evals/signals","href":"/api-reference/evals/list-deterministic-signals-available-to-evaluators"},{"title":"(dev only) Fabricate failing eval runs and fire the real eval.failed emitter","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/evals/synthesize-failure","href":"/api-reference/evals/dev-only-fabricate-failing-eval-runs-and-fire-the-real-evalfailed-emitter"},{"title":"Re-run all current evaluator bindings against a session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/sessions/{session_id}/reevaluate","href":"/api-reference/evals/re-run-all-current-evaluator-bindings-against-a-session"}]},{"group":"library","pages":[{"title":"Browse the persona library","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/library/personas","href":"/api-reference/library/browse-the-persona-library"},{"title":"Add a persona to the global library (Feather staff only)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/library/personas","href":"/api-reference/library/add-a-persona-to-the-global-library-feather-staff-only"},{"title":"Get a library persona","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/library/personas/{persona_id}","href":"/api-reference/library/get-a-library-persona"},{"title":"Update a library persona (Feather staff only)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/library/personas/{persona_id}","href":"/api-reference/library/update-a-library-persona-feather-staff-only"},{"title":"Delete a library persona (Feather staff only)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/library/personas/{persona_id}","href":"/api-reference/library/delete-a-library-persona-feather-staff-only"},{"title":"Install a library persona into the caller's workspace","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/library/personas/{persona_id}/install","href":"/api-reference/library/install-a-library-persona-into-the-callers-workspace"},{"title":"Get the voice preset attached to a library persona","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/library/personas/{persona_id}/voice-config","href":"/api-reference/library/get-the-voice-preset-attached-to-a-library-persona"},{"title":"Attach a voice preset to a library persona (Feather staff only)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/library/personas/{persona_id}/voice-config","href":"/api-reference/library/attach-a-voice-preset-to-a-library-persona-feather-staff-only"},{"title":"Detach the voice preset from a library persona (Feather staff only)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/library/personas/{persona_id}/voice-config","href":"/api-reference/library/detach-the-voice-preset-from-a-library-persona-feather-staff-only"},{"title":"Update the voice preset on a library persona (Feather staff only)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/library/personas/{persona_id}/voice-config","href":"/api-reference/library/update-the-voice-preset-on-a-library-persona-feather-staff-only"},{"title":"Get a library persona's voice call behavior settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/library/personas/{persona_id}/call-settings","href":"/api-reference/library/get-a-library-personas-voice-call-behavior-settings"},{"title":"Update a library persona's voice call behavior settings (Feather staff only)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/library/personas/{persona_id}/call-settings","href":"/api-reference/library/update-a-library-personas-voice-call-behavior-settings-feather-staff-only"}]},{"group":"privacy","pages":[{"title":"Get privacy config for organization (creates defaults if none)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/privacy/config","href":"/api-reference/privacy/get-privacy-config-for-organization-creates-defaults-if-none"},{"title":"Upsert privacy config for organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/privacy/config","href":"/api-reference/privacy/upsert-privacy-config-for-organization"},{"title":"Delete privacy config (reverts to defaults)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/privacy/config","href":"/api-reference/privacy/delete-privacy-config-reverts-to-defaults"},{"title":"List PII scrub audit events","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/privacy/audit-logs","href":"/api-reference/privacy/list-pii-scrub-audit-events"},{"title":"Aggregate PII scrub stats","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/privacy/audit-stats","href":"/api-reference/privacy/aggregate-pii-scrub-stats"}]},{"group":"communication","pages":[{"title":"List org phone numbers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/communication/phone-numbers","href":"/api-reference/communication/list-org-phone-numbers"},{"title":"Register an org phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/communication/phone-numbers","href":"/api-reference/communication/register-an-org-phone-number"},{"title":"Get a phone number by id (org-scoped)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/communication/phone-numbers/{phone_number_id}","href":"/api-reference/communication/get-a-phone-number-by-id-org-scoped"},{"title":"Retire a phone number (soft, default) or hard-delete (force=true, internal only)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/communication/phone-numbers/{phone_number_id}","href":"/api-reference/communication/retire-a-phone-number-soft-default-or-hard-delete-force=true-internal-only"},{"title":"Update a phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/communication/phone-numbers/{phone_number_id}","href":"/api-reference/communication/update-a-phone-number"},{"title":"Restore a retired phone number to active","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/communication/phone-numbers/{phone_number_id}/restore","href":"/api-reference/communication/restore-a-retired-phone-number-to-active"},{"title":"List channel bindings for a phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/communication/phone-numbers/{phone_number_id}/channels","href":"/api-reference/communication/list-channel-bindings-for-a-phone-number"},{"title":"Bind an agent or team to a channel on a phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/communication/phone-numbers/{phone_number_id}/channels","href":"/api-reference/communication/bind-an-agent-or-team-to-a-channel-on-a-phone-number"},{"title":"Remove a channel binding","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/communication/phone-numbers/{phone_number_id}/channels/{channel_id}","href":"/api-reference/communication/remove-a-channel-binding"},{"title":"Replace the full binding set for a channel on a phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/communication/phone-numbers/{phone_number_id}/channels/{channel_type}","href":"/api-reference/communication/replace-the-full-binding-set-for-a-channel-on-a-phone-number"},{"title":"Get the org's compliance settings (creates default on first read)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/communication/compliance","href":"/api-reference/communication/get-the-orgs-compliance-settings-creates-default-on-first-read"},{"title":"Update the org's allowed-countries list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/communication/compliance","href":"/api-reference/communication/update-the-orgs-allowed-countries-list"}]},{"group":"sms","pages":[{"title":"Send an outbound SMS (queued; delivered asynchronously)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/sms/send","href":"/api-reference/sms/send-an-outbound-sms-queued;-delivered-asynchronously"},{"title":"Get an SMS outbound operation's full delivery/reconciliation tree","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/sms/operations/{operation_id}","href":"/api-reference/sms/get-an-sms-outbound-operations-full-deliveryreconciliation-tree"},{"title":"List SMS outbound operations for a session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/sms/operations","href":"/api-reference/sms/list-sms-outbound-operations-for-a-session"},{"title":"Get the org's SMS settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/sms/settings","href":"/api-reference/sms/get-the-orgs-sms-settings"},{"title":"Update the org's SMS settings (partial)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/sms/settings","href":"/api-reference/sms/update-the-orgs-sms-settings-partial"}]},{"group":"email","pages":[{"title":"Begin connecting a mailbox via the hosted-auth flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email/accounts/connect","href":"/api-reference/email/begin-connecting-a-mailbox-via-the-hosted-auth-flow"},{"title":"List connected mailboxes for the caller's organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email/accounts","href":"/api-reference/email/list-connected-mailboxes-for-the-callers-organization"},{"title":"Revoke the mailbox grant and retire the local row","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/email/accounts/{account_id}","href":"/api-reference/email/revoke-the-mailbox-grant-and-retire-the-local-row"},{"title":"Update mutable mailbox settings (e.g., default signature)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/email/accounts/{account_id}","href":"/api-reference/email/update-mutable-mailbox-settings-eg-default-signature"},{"title":"Read an email thread by Nylas provider_thread_id","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email/threads/{thread_id}","href":"/api-reference/email/read-an-email-thread-by-nylas-provider_thread_id"},{"title":"Ingest a canonical EmailInboundEvent for the given thread. Bypasses the vendor webhook; used by sandbox / replay / direct integrators.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email/threads/{thread_id}","href":"/api-reference/email/ingest-a-canonical-emailinboundevent-for-the-given-thread-bypasses-the-vendor-webhook;-used-by-sandbox-replay-direct-integrators"},{"title":"Delivery event audit trail for a single email message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email/messages/{message_id}/events","href":"/api-reference/email/delivery-event-audit-trail-for-a-single-email-message"}]},{"group":"email-drafts","pages":[{"title":"List drafts for the caller's organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email/drafts","href":"/api-reference/email-drafts/list-drafts-for-the-callers-organization"},{"title":"Author a new outbound email draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email/drafts","href":"/api-reference/email-drafts/author-a-new-outbound-email-draft"},{"title":"Read one draft, including its ENG-420 audit snapshot when present","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email/drafts/{draft_id}","href":"/api-reference/email-drafts/read-one-draft-including-its-eng-420-audit-snapshot-when-present"},{"title":"Soft-discard a draft (forbidden once dispatch has started)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/email/drafts/{draft_id}","href":"/api-reference/email-drafts/soft-discard-a-draft-forbidden-once-dispatch-has-started"},{"title":"Edit a draft (only allowed while status='draft')","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/email/drafts/{draft_id}","href":"/api-reference/email-drafts/edit-a-draft-only-allowed-while-status=draft"},{"title":"Approve a draft and dispatch it. The caller's OrgMember is recorded as the approver; the SendOrchestrator runs immediately.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email/drafts/{draft_id}/approve","href":"/api-reference/email-drafts/approve-a-draft-and-dispatch-it-the-callers-orgmember-is-recorded-as-the-approver;-the-sendorchestrator-runs-immediately"}]},{"group":"voice","pages":[{"title":"List voice pipeline configs for the org","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/configs","href":"/api-reference/voice/list-voice-pipeline-configs-for-the-org"},{"title":"Create a voice pipeline config for an agent or persona (1:1)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/configs","href":"/api-reference/voice/create-a-voice-pipeline-config-for-an-agent-or-persona-1:1"},{"title":"Get a voice pipeline config by id","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/configs/{config_id}","href":"/api-reference/voice/get-a-voice-pipeline-config-by-id"},{"title":"Delete a voice pipeline config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/voice/configs/{config_id}","href":"/api-reference/voice/delete-a-voice-pipeline-config"},{"title":"Partial update of a voice pipeline config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/voice/configs/{config_id}","href":"/api-reference/voice/partial-update-of-a-voice-pipeline-config"},{"title":"List saved voice configs for the org","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/saved-configs","href":"/api-reference/voice/list-saved-voice-configs-for-the-org"},{"title":"Create a reusable named voice config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/saved-configs","href":"/api-reference/voice/create-a-reusable-named-voice-config"},{"title":"Get a saved voice config by id","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/saved-configs/{config_id}","href":"/api-reference/voice/get-a-saved-voice-config-by-id"},{"title":"Delete a saved voice config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/voice/saved-configs/{config_id}","href":"/api-reference/voice/delete-a-saved-voice-config"},{"title":"Partial update of a saved voice config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/voice/saved-configs/{config_id}","href":"/api-reference/voice/partial-update-of-a-saved-voice-config"},{"title":"Get the effective voice pipeline config for an assistant (inline or saved)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/assistants/{agent_id}/voice-config","href":"/api-reference/voice/get-the-effective-voice-pipeline-config-for-an-assistant-inline-or-saved"},{"title":"Set the voice source (saved config link) for an assistant","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/voice/assistants/{agent_id}/voice-config-source","href":"/api-reference/voice/set-the-voice-source-saved-config-link-for-an-assistant"},{"title":"Detach an assistant from a saved config into an inline copy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/assistants/{agent_id}/voice-config/detach","href":"/api-reference/voice/detach-an-assistant-from-a-saved-config-into-an-inline-copy"},{"title":"Get the effective voice pipeline config for a team (inline or saved)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/teams/{team_id}/voice-config","href":"/api-reference/voice/get-the-effective-voice-pipeline-config-for-a-team-inline-or-saved"},{"title":"Set the voice source (saved config link) for a team","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/voice/teams/{team_id}/voice-config-source","href":"/api-reference/voice/set-the-voice-source-saved-config-link-for-a-team"},{"title":"Detach a team from a saved config into an inline copy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/teams/{team_id}/voice-config/detach","href":"/api-reference/voice/detach-a-team-from-a-saved-config-into-an-inline-copy"},{"title":"Get the voice pipeline config for a persona","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/personas/{persona_id}/voice-config","href":"/api-reference/voice/get-the-voice-pipeline-config-for-a-persona"},{"title":"Get the org's outbound calling-hours window","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/call-window","href":"/api-reference/voice/get-the-orgs-outbound-calling-hours-window"},{"title":"Set the org's outbound calling-hours window","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/voice/call-window","href":"/api-reference/voice/set-the-orgs-outbound-calling-hours-window"},{"title":"Get the org's queued-call expiry TTL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/call-expiry","href":"/api-reference/voice/get-the-orgs-queued-call-expiry-ttl"},{"title":"Set the org's queued-call expiry TTL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/voice/call-expiry","href":"/api-reference/voice/set-the-orgs-queued-call-expiry-ttl"},{"title":"Get the org's outbound holiday calendar","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/holiday-calendar","href":"/api-reference/voice/get-the-orgs-outbound-holiday-calendar"},{"title":"Set the org's outbound holiday calendar","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/voice/holiday-calendar","href":"/api-reference/voice/set-the-orgs-outbound-holiday-calendar"},{"title":"Get the org's outbound pause/cancel control state","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/outbound/controls","href":"/api-reference/voice/get-the-orgs-outbound-pausecancel-control-state"},{"title":"Pause outbound dialing for the org, an agent, or a team","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/outbound/pause","href":"/api-reference/voice/pause-outbound-dialing-for-the-org-an-agent-or-a-team"},{"title":"Resume outbound dialing for the org, an agent, or a team","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/outbound/resume","href":"/api-reference/voice/resume-outbound-dialing-for-the-org-an-agent-or-a-team"},{"title":"Cancel the queued outbound backlog for the org, an agent, or a team","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/outbound/cancel","href":"/api-reference/voice/cancel-the-queued-outbound-backlog-for-the-org-an-agent-or-a-team"},{"title":"List queued outbound calls (optionally filtered by agent/team/paused)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/outbound/queued","href":"/api-reference/voice/list-queued-outbound-calls-optionally-filtered-by-agentteampaused"},{"title":"Cancel a single queued outbound call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/outbound/queued/{conversation_id}/cancel","href":"/api-reference/voice/cancel-a-single-queued-outbound-call"},{"title":"Pause a single queued outbound call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/outbound/queued/{conversation_id}/pause","href":"/api-reference/voice/pause-a-single-queued-outbound-call"},{"title":"Resume a single paused outbound call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/outbound/queued/{conversation_id}/resume","href":"/api-reference/voice/resume-a-single-paused-outbound-call"},{"title":"Replay a poison-terminalized delivery attempt after an operator repair","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/outbound/attempts/{attempt_id}/replay","href":"/api-reference/voice/replay-a-poison-terminalized-delivery-attempt-after-an-operator-repair"},{"title":"List Voices","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/voices","href":"/api-reference/voice/list-voices"},{"title":"Get Voice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/voices/{voice_id}","href":"/api-reference/voice/get-voice"},{"title":"List Tts Models","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/tts-models","href":"/api-reference/voice/list-tts-models"},{"title":"List Stt Models","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/stt-models","href":"/api-reference/voice/list-stt-models"},{"title":"Get Recording Playback Url","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/recordings/{recording_id}/playback-url","href":"/api-reference/voice/get-recording-playback-url"},{"title":"Get Warm Transfer Detail","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voice/warm-transfer/{conversation_id}/transfer-detail","href":"/api-reference/voice/get-warm-transfer-detail"},{"title":"Outbound","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/outbound","href":"/api-reference/voice/outbound"},{"title":"Web Call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/voice/web-call","href":"/api-reference/voice/web-call"}]},{"group":"analytics","pages":[{"title":"Tool invocations bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/usage/timeseries","href":"/api-reference/analytics/tool-invocations-bucketed-over-time"},{"title":"Tool invocations grouped by tool_type","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/usage/by-type","href":"/api-reference/analytics/tool-invocations-grouped-by-tool_type"},{"title":"Top-N tools by invocation count","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/usage/by-tool","href":"/api-reference/analytics/top-n-tools-by-invocation-count"},{"title":"Tool invocations grouped by agent_id","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/usage/by-agent","href":"/api-reference/analytics/tool-invocations-grouped-by-agent_id"},{"title":"Distinct conversations per tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/usage/unique-conversations","href":"/api-reference/analytics/distinct-conversations-per-tool"},{"title":"Latency percentiles bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/performance/timeseries","href":"/api-reference/analytics/latency-percentiles-bucketed-over-time"},{"title":"Top-N slowest tools by p95","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/performance/by-tool","href":"/api-reference/analytics/top-n-slowest-tools-by-p95"},{"title":"Latency histogram across fixed buckets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/performance/distribution","href":"/api-reference/analytics/latency-histogram-across-fixed-buckets"},{"title":"Latency percentiles grouped by provider","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/performance/by-provider","href":"/api-reference/analytics/latency-percentiles-grouped-by-provider"},{"title":"Per-retry-count breakdown with avg/p95 latency","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/performance/retry-analysis","href":"/api-reference/analytics/per-retry-count-breakdown-with-avgp95-latency"},{"title":"Success rate (%) bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/reliability/success-rate-timeseries","href":"/api-reference/analytics/success-rate-%-bucketed-over-time"},{"title":"Failed-invocation count grouped by error_category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/reliability/error-breakdown","href":"/api-reference/analytics/failed-invocation-count-grouped-by-error_category"},{"title":"Failed-invocation count grouped by HTTP status_code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/reliability/error-breakdown-by-status","href":"/api-reference/analytics/failed-invocation-count-grouped-by-http-status_code"},{"title":"Per-tool success rate ranked worst-first","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/reliability/ranking","href":"/api-reference/analytics/per-tool-success-rate-ranked-worst-first"},{"title":"Error count over time, split by error_category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/reliability/error-timeseries","href":"/api-reference/analytics/error-count-over-time-split-by-error_category"},{"title":"Current vs previous window error-rate comparison","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/reliability/error-trend","href":"/api-reference/analytics/current-vs-previous-window-error-rate-comparison"},{"title":"Per-tool timeout rate and latency tail","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/reliability/timeout-analysis","href":"/api-reference/analytics/per-tool-timeout-rate-and-latency-tail"},{"title":"Combined tool analytics dashboard envelope","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/dashboard","href":"/api-reference/analytics/combined-tool-analytics-dashboard-envelope"},{"title":"Per-tool z-score anomaly scan vs a rolling baseline (window \u003c= 1 day)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/monitoring/anomaly-detection","href":"/api-reference/analytics/per-tool-z-score-anomaly-scan-vs-a-rolling-baseline-window-\u003c=-1-day"},{"title":"Per-tool health (healthy/degraded/critical) with threshold violations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tools/monitoring/health-check","href":"/api-reference/analytics/per-tool-health-healthydegradedcritical-with-threshold-violations"},{"title":"New-session counts bucketed over time, split by channel","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/sessions/volume-timeseries","href":"/api-reference/analytics/new-session-counts-bucketed-over-time-split-by-channel"},{"title":"Current distribution of sessions across statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/sessions/status-breakdown","href":"/api-reference/analytics/current-distribution-of-sessions-across-statuses"},{"title":"Resolution-time percentiles by channel and priority","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/sessions/resolution-time","href":"/api-reference/analytics/resolution-time-percentiles-by-channel-and-priority"},{"title":"Time-to-first-response percentiles","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/sessions/first-response-time","href":"/api-reference/analytics/time-to-first-response-percentiles"},{"title":"Per-channel comparison of session volume and quality","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/sessions/by-channel","href":"/api-reference/analytics/per-channel-comparison-of-session-volume-and-quality"},{"title":"Per-bucket escalation rate timeseries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/sessions/escalation-rate","href":"/api-reference/analytics/per-bucket-escalation-rate-timeseries"},{"title":"Histogram of message count per session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/sessions/message-distribution","href":"/api-reference/analytics/histogram-of-message-count-per-session"},{"title":"Turn-depth summary (avg / single-turn rate / quantiles)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/sessions/turn-depth","href":"/api-reference/analytics/turn-depth-summary-avg-single-turn-rate-quantiles"},{"title":"Terminated-call counts bucketed over time (completed / failed / no_answer)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/voice/volume-timeseries","href":"/api-reference/analytics/terminated-call-counts-bucketed-over-time-completed-failed-no_answer"},{"title":"Distribution of terminated calls across call-statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/voice/outcome-breakdown","href":"/api-reference/analytics/distribution-of-terminated-calls-across-call-statuses"},{"title":"Per-bucket answer/connection rate over time (share of LIVE calls that connected)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/voice/answer-rate-timeseries","href":"/api-reference/analytics/per-bucket-answerconnection-rate-over-time-share-of-live-calls-that-connected"},{"title":"Outbound warm-transfer success rate and successful setup latency","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/voice/warm-transfers/summary","href":"/api-reference/analytics/outbound-warm-transfer-success-rate-and-successful-setup-latency"},{"title":"Outbound warm-transfer failures grouped by normalized reason","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/voice/warm-transfers/failure-reasons","href":"/api-reference/analytics/outbound-warm-transfer-failures-grouped-by-normalized-reason"},{"title":"Successful outbound warm-transfer setup latency over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/voice/warm-transfers/setup-latency-timeseries","href":"/api-reference/analytics/successful-outbound-warm-transfer-setup-latency-over-time"},{"title":"One-shot envelope of all outbound warm-transfer analytics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/voice/warm-transfers/dashboard","href":"/api-reference/analytics/one-shot-envelope-of-all-outbound-warm-transfer-analytics"},{"title":"Per-KB adoption rate and document counts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/documents/adoption","href":"/api-reference/analytics/per-kb-adoption-rate-and-document-counts"},{"title":"Document-ingestion counts bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/documents/ingestion-timeseries","href":"/api-reference/analytics/document-ingestion-counts-bucketed-over-time"},{"title":"Document processing-time percentiles bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/documents/processing-latency","href":"/api-reference/analytics/document-processing-time-percentiles-bucketed-over-time"},{"title":"Failure-recovery analytics: failed / archived / cleaned_up / recovered","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/documents/cleanup-summary","href":"/api-reference/analytics/failure-recovery-analytics:-failed-archived-cleaned_up-recovered"},{"title":"Search-call volume and latency percentiles bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/documents/retrieval-timeseries","href":"/api-reference/analytics/search-call-volume-and-latency-percentiles-bucketed-over-time"},{"title":"Per-agent retrieval breakdown: volume, hit-rate, and avg latency","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/documents/retrieval-by-agent","href":"/api-reference/analytics/per-agent-retrieval-breakdown:-volume-hit-rate-and-avg-latency"},{"title":"Top-N most-retrieved documents in a window","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/documents/top-retrieved","href":"/api-reference/analytics/top-n-most-retrieved-documents-in-a-window"},{"title":"Documents currently active but unretrieved (or stale beyond N days)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/documents/stale","href":"/api-reference/analytics/documents-currently-active-but-unretrieved-or-stale-beyond-n-days"},{"title":"Current-state KB inventory shape","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/inventory","href":"/api-reference/analytics/current-state-kb-inventory-shape"},{"title":"Per-source latest sync state and time-since-last-event","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/connectors/freshness","href":"/api-reference/analytics/per-source-latest-sync-state-and-time-since-last-event"},{"title":"One-shot envelope of every knowledge analytics pipe","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/knowledge/dashboard","href":"/api-reference/analytics/one-shot-envelope-of-every-knowledge-analytics-pipe"},{"title":"Memory episode counts bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/memory/ingestion-timeseries","href":"/api-reference/analytics/memory-episode-counts-bucketed-over-time"},{"title":"Memory coverage: users-with-memory / active-end-users (clamped 100%)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/memory/coverage","href":"/api-reference/analytics/memory-coverage:-users-with-memory-active-end-users-clamped-100%"},{"title":"Memory recall volume bucketed over time with hit/miss + latency percentiles","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/memory/recalls/timeseries","href":"/api-reference/analytics/memory-recall-volume-bucketed-over-time-with-hitmiss-+-latency-percentiles"},{"title":"Per-user engagement quantiles (episodes/messages/recalls)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/memory/users/distribution","href":"/api-reference/analytics/per-user-engagement-quantiles-episodesmessagesrecalls"},{"title":"One-shot envelope of every memory analytics pipe","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/memory/dashboard","href":"/api-reference/analytics/one-shot-envelope-of-every-memory-analytics-pipe"},{"title":"Single-row dashboard summary: requests, match/error rates, latency","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/mocks/summary","href":"/api-reference/analytics/single-row-dashboard-summary:-requests-matcherror-rates-latency"},{"title":"Mock request volume bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/mocks/requests-timeseries","href":"/api-reference/analytics/mock-request-volume-bucketed-over-time"},{"title":"Mock latency percentiles bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/mocks/latency-timeseries","href":"/api-reference/analytics/mock-latency-percentiles-bucketed-over-time"},{"title":"Mock scenario match rate bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/mocks/match-rate-timeseries","href":"/api-reference/analytics/mock-scenario-match-rate-bucketed-over-time"},{"title":"Top-N mock scenarios by request count","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/mocks/top-scenarios","href":"/api-reference/analytics/top-n-mock-scenarios-by-request-count"},{"title":"One-shot envelope of every mock analytics pipe","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/mocks/dashboard","href":"/api-reference/analytics/one-shot-envelope-of-every-mock-analytics-pipe"},{"title":"Single-row summary: invocations, failures, success rate, latency (vs prior window)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/summary","href":"/api-reference/analytics/single-row-summary:-invocations-failures-success-rate-latency-vs-prior-window"},{"title":"Integration tool-call volume bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/usage-timeseries","href":"/api-reference/analytics/integration-tool-call-volume-bucketed-over-time"},{"title":"Effective success rate (%) bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/success-rate-timeseries","href":"/api-reference/analytics/effective-success-rate-%-bucketed-over-time"},{"title":"Integration tool-call latency percentiles bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/latency-timeseries","href":"/api-reference/analytics/integration-tool-call-latency-percentiles-bucketed-over-time"},{"title":"Volume + reliability + p95 latency grouped by integration_key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/by-integration","href":"/api-reference/analytics/volume-+-reliability-+-p95-latency-grouped-by-integration_key"},{"title":"Volume + reliability + p95 latency grouped by mode (vendor_api/feather_mcp_client)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/by-mode","href":"/api-reference/analytics/volume-+-reliability-+-p95-latency-grouped-by-mode-vendor_apifeather_mcp_client"},{"title":"Failures grouped by error_category (vendor_error / exception:\u003ctype>)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/error-breakdown","href":"/api-reference/analytics/failures-grouped-by-error_category-vendor_error-exception:\u003ctype>"},{"title":"One-shot envelope of every integration analytics pipe","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/dashboard","href":"/api-reference/analytics/one-shot-envelope-of-every-integration-analytics-pipe"},{"title":"Single-row connection-health summary: events, failures, success rate, latency","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/connections/summary","href":"/api-reference/analytics/single-row-connection-health-summary:-events-failures-success-rate-latency"},{"title":"Connection health grouped by integration_key (events, success rate, p95 latency)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/connections/by-integration","href":"/api-reference/analytics/connection-health-grouped-by-integration_key-events-success-rate-p95-latency"},{"title":"Connection lifecycle event volume (events/successes/failures) over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/connections/events-timeseries","href":"/api-reference/analytics/connection-lifecycle-event-volume-eventssuccessesfailures-over-time"},{"title":"Connection lifecycle effective success rate (%) over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/connections/success-rate-timeseries","href":"/api-reference/analytics/connection-lifecycle-effective-success-rate-%-over-time"},{"title":"Connection lifecycle failures grouped by event_type + error_category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/integrations/connections/failure-breakdown","href":"/api-reference/analytics/connection-lifecycle-failures-grouped-by-event_type-+-error_category"},{"title":"Per-policy violation rate + action counts within a window","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/policies/violation-rate","href":"/api-reference/analytics/per-policy-violation-rate-+-action-counts-within-a-window"},{"title":"Action counts split into taken (enforced) vs would-be (monitor-mode shadow)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/policies/action-breakdown","href":"/api-reference/analytics/action-counts-split-into-taken-enforced-vs-would-be-monitor-mode-shadow"},{"title":"Evaluation + violation volume bucketed over time (enforced vs shadow)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/policies/violations-timeseries","href":"/api-reference/analytics/evaluation-+-violation-volume-bucketed-over-time-enforced-vs-shadow"},{"title":"Enforce-after-measure: per monitor-mode policy, would-be impact + TTFT-delta","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/policies/monitor-rollout","href":"/api-reference/analytics/enforce-after-measure:-per-monitor-mode-policy-would-be-impact-+-ttft-delta"},{"title":"One-shot envelope of every policy analytics pipe","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/policies/dashboard","href":"/api-reference/analytics/one-shot-envelope-of-every-policy-analytics-pipe"},{"title":"Whether an enforcing agent_response policy is attached (TTFT disclaimer)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/policies/revisions/{revision_id}/disclaimer-status","href":"/api-reference/analytics/whether-an-enforcing-agent_response-policy-is-attached-ttft-disclaimer"},{"title":"Model-router cost bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/cost/by-org-daily","href":"/api-reference/analytics/model-router-cost-bucketed-over-time"},{"title":"Top-N agents by model-router spend","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/cost/by-agent","href":"/api-reference/analytics/top-n-agents-by-model-router-spend"},{"title":"Top-N served models by spend","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/cost/by-model","href":"/api-reference/analytics/top-n-served-models-by-spend"},{"title":"Cost and reliability grouped by operation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/cost/by-operation","href":"/api-reference/analytics/cost-and-reliability-grouped-by-operation"},{"title":"Cost and reliability grouped by provider","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/cost/by-provider","href":"/api-reference/analytics/cost-and-reliability-grouped-by-provider"},{"title":"Top-N sessions (conversations) by spend","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/cost/by-session","href":"/api-reference/analytics/top-n-sessions-conversations-by-spend"},{"title":"Top-N router configs by model-router spend","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/cost/by-router-config","href":"/api-reference/analytics/top-n-router-configs-by-model-router-spend"},{"title":"Per-model token usage breakdown (incl. billed tokens)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/tokens/breakdown","href":"/api-reference/analytics/per-model-token-usage-breakdown-incl-billed-tokens"},{"title":"Per-model prompt-cache usage and cost","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/cache/savings","href":"/api-reference/analytics/per-model-prompt-cache-usage-and-cost"},{"title":"Per-model latency percentiles (p50/p95/p99)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/latency","href":"/api-reference/analytics/per-model-latency-percentiles-p50p95p99"},{"title":"Fallback rate bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/fallback/rate","href":"/api-reference/analytics/fallback-rate-bucketed-over-time"},{"title":"Terminal error rate over a window","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/error/rate","href":"/api-reference/analytics/terminal-error-rate-over-a-window"},{"title":"Embedding cost + tokens bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/cost/by-org-daily","href":"/api-reference/analytics/embedding-cost-+-tokens-bucketed-over-time"},{"title":"Top-N embedding models by spend","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/cost/by-model","href":"/api-reference/analytics/top-n-embedding-models-by-spend"},{"title":"Embedding spend grouped by call site","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/cost/by-source","href":"/api-reference/analytics/embedding-spend-grouped-by-call-site"},{"title":"Top-N knowledge bases by embedding spend","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/cost/by-kb","href":"/api-reference/analytics/top-n-knowledge-bases-by-embedding-spend"},{"title":"Embedding reliability + throughput per model","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/reliability","href":"/api-reference/analytics/embedding-reliability-+-throughput-per-model"},{"title":"Smart-routed vs non-smart-routed cost \u0026 reliability","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/smart-routing/impact","href":"/api-reference/analytics/smart-routed-vs-non-smart-routed-cost-\u0026-reliability"},{"title":"Terminal errors grouped by error category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/error/breakdown","href":"/api-reference/analytics/terminal-errors-grouped-by-error-category"},{"title":"Terminal error rate bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/error/timeseries","href":"/api-reference/analytics/terminal-error-rate-bucketed-over-time"},{"title":"Current vs previous equal-length window spend","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/cost/trend","href":"/api-reference/analytics/current-vs-previous-equal-length-window-spend"},{"title":"Cost per terminal successful response, per model","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/cost/per-successful-response","href":"/api-reference/analytics/cost-per-terminal-successful-response-per-model"},{"title":"Latency percentiles bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/latency/timeseries","href":"/api-reference/analytics/latency-percentiles-bucketed-over-time-1"},{"title":"Time-to-first-token percentiles over time (streaming)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/latency/ttft-timeseries","href":"/api-reference/analytics/time-to-first-token-percentiles-over-time-streaming"},{"title":"Time-to-first-token percentiles per model (streaming)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/latency/ttft-by-model","href":"/api-reference/analytics/time-to-first-token-percentiles-per-model-streaming"},{"title":"Primary vs fallback leg cost \u0026 reliability","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/fallback/analysis","href":"/api-reference/analytics/primary-vs-fallback-leg-cost-\u0026-reliability"},{"title":"Token-usage efficiency ratios per model","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/tokens/efficiency","href":"/api-reference/analytics/token-usage-efficiency-ratios-per-model"},{"title":"One-shot LLM analytics dashboard (fan-out of 6 pipes)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/dashboard","href":"/api-reference/analytics/one-shot-llm-analytics-dashboard-fan-out-of-6-pipes"},{"title":"One-shot embedding analytics dashboard (fan-out of 4 pipes)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/dashboard","href":"/api-reference/analytics/one-shot-embedding-analytics-dashboard-fan-out-of-4-pipes"},{"title":"Embedding cost + error rate per provider","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/cost/by-provider","href":"/api-reference/analytics/embedding-cost-+-error-rate-per-provider"},{"title":"Embedding failures grouped by error category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/error/breakdown","href":"/api-reference/analytics/embedding-failures-grouped-by-error-category"},{"title":"First-try vs retry embedding spend (wasted re-embeds)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/retry/impact","href":"/api-reference/analytics/first-try-vs-retry-embedding-spend-wasted-re-embeds"},{"title":"Embedding latency percentiles bucketed over time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/latency/timeseries","href":"/api-reference/analytics/embedding-latency-percentiles-bucketed-over-time"},{"title":"Dense vs sparse embedding cost / throughput / reliability","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/model-router/embeddings/dense-vs-sparse","href":"/api-reference/analytics/dense-vs-sparse-embedding-cost-throughput-reliability"}]},{"group":"knowledge-gap-analytics","pages":[{"title":"Headline knowledge-gap KPIs for the org over a date window","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-gaps/summary","href":"/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window"},{"title":"Paginated list of knowledge-gap clusters with filters and sort","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-gaps/clusters","href":"/api-reference/knowledge-gap-analytics/paginated-list-of-knowledge-gap-clusters-with-filters-and-sort"},{"title":"Detail view of a single knowledge-gap cluster","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-gaps/clusters/{cluster_id}","href":"/api-reference/knowledge-gap-analytics/detail-view-of-a-single-knowledge-gap-cluster"},{"title":"Resolve conversation turns referenced by knowledge-gap evidence","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-gaps/evidence/turns","href":"/api-reference/knowledge-gap-analytics/resolve-conversation-turns-referenced-by-knowledge-gap-evidence"},{"title":"Per-session analysis result, signals, gap events, and linked clusters","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-gaps/sessions/{session_id}/analysis","href":"/api-reference/knowledge-gap-analytics/per-session-analysis-result-signals-gap-events-and-linked-clusters"},{"title":"Per-document retrieval / citation / implication counts with failure rate","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-gaps/documents/health","href":"/api-reference/knowledge-gap-analytics/per-document-retrieval-citation-implication-counts-with-failure-rate"},{"title":"Assign or clear the owner of a knowledge-gap cluster","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/knowledge-gaps/clusters/{cluster_id}/owner","href":"/api-reference/knowledge-gap-analytics/assign-or-clear-the-owner-of-a-knowledge-gap-cluster"},{"title":"Transition a cluster through the lifecycle state machine","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/knowledge-gaps/clusters/{cluster_id}/status","href":"/api-reference/knowledge-gap-analytics/transition-a-cluster-through-the-lifecycle-state-machine"},{"title":"Audit-trail of lifecycle transitions for a cluster","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/knowledge-gaps/clusters/{cluster_id}/lifecycle-events","href":"/api-reference/knowledge-gap-analytics/audit-trail-of-lifecycle-transitions-for-a-cluster"}]},{"group":"billing","pages":[{"title":"Plans x features grid plus the org's current plan and usage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/billing/matrix","href":"/api-reference/billing/plans-x-features-grid-plus-the-orgs-current-plan-and-usage"},{"title":"Time-bucketed usage per metered feature over a range","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/billing/usage","href":"/api-reference/billing/time-bucketed-usage-per-metered-feature-over-a-range"},{"title":"Create a Stripe billing-portal URL for the org (manage / cancel subscription)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/billing/portal","href":"/api-reference/billing/create-a-stripe-billing-portal-url-for-the-org-manage-cancel-subscription"}]},{"group":"extraction-schemas","pages":[{"title":"List extraction schema versions for an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/extraction-schemas","href":"/api-reference/extraction-schemas/list-extraction-schema-versions-for-an-agent"},{"title":"Create a new extraction schema version for an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/assistants/{agent_id}/extraction-schemas","href":"/api-reference/extraction-schemas/create-a-new-extraction-schema-version-for-an-agent"},{"title":"Get one extraction schema version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assistants/{agent_id}/extraction-schemas/{schema_id}","href":"/api-reference/extraction-schemas/get-one-extraction-schema-version"},{"title":"Update extraction schema (rename, activate, archive)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/assistants/{agent_id}/extraction-schemas/{schema_id}","href":"/api-reference/extraction-schemas/update-extraction-schema-rename-activate-archive"}]},{"group":"extractions","pages":[{"title":"Get latest structured extraction for a session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/{session_id}/extraction","href":"/api-reference/extractions/get-latest-structured-extraction-for-a-session"},{"title":"List extraction jobs for a session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/conversations/{session_id}/extraction/jobs","href":"/api-reference/extractions/list-extraction-jobs-for-a-session"},{"title":"Re-run extraction for a closed session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/conversations/{session_id}/extraction:rerun","href":"/api-reference/extractions/re-run-extraction-for-a-closed-session"}]},{"group":"mcp-chat","pages":[{"title":"List the MCP tools available to the chat surface","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/mcp-chat/tools","href":"/api-reference/mcp-chat/list-the-mcp-tools-available-to-the-chat-surface"},{"title":"Stream an LLM chat turn that uses the MCP server as its toolbelt","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/mcp-chat/stream","href":"/api-reference/mcp-chat/stream-an-llm-chat-turn-that-uses-the-mcp-server-as-its-toolbelt"}]},{"group":"ask-feather","pages":[{"title":"Get Workflows","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/ask-feather/workflows","href":"/api-reference/ask-feather/get-workflows"},{"title":"Get Ask Feather Limits","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/ask-feather/limits","href":"/api-reference/ask-feather/get-ask-feather-limits"},{"title":"Update Ask Feather Limits","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/ask-feather/limits","href":"/api-reference/ask-feather/update-ask-feather-limits"},{"title":"List Sessions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/ask-feather/sessions","href":"/api-reference/ask-feather/list-sessions"},{"title":"Create Session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/ask-feather/sessions","href":"/api-reference/ask-feather/create-session"},{"title":"Get Session Detail","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/ask-feather/sessions/{session_id}","href":"/api-reference/ask-feather/get-session-detail"},{"title":"Delete Session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/ask-feather/sessions/{session_id}","href":"/api-reference/ask-feather/delete-session"},{"title":"List Session Messages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/ask-feather/sessions/{session_id}/messages","href":"/api-reference/ask-feather/list-session-messages"},{"title":"Send Message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/ask-feather/sessions/{session_id}/messages","href":"/api-reference/ask-feather/send-message"},{"title":"Approve Message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/ask-feather/sessions/{session_id}/messages/approve","href":"/api-reference/ask-feather/approve-message"},{"title":"Stream Turn","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/ask-feather/sessions/{session_id}/turns/{turn_id}/stream","href":"/api-reference/ask-feather/stream-turn"},{"title":"Cancel Turn","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/ask-feather/sessions/{session_id}/turns/{turn_id}/cancel","href":"/api-reference/ask-feather/cancel-turn"}]},{"group":"webhooks","pages":[{"title":"Create a hosted Svix App Portal link for the caller's org","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/webhooks/portal","href":"/api-reference/webhooks/create-a-hosted-svix-app-portal-link-for-the-callers-org"},{"title":"List supported customer webhook event types","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/webhooks/event-catalog","href":"/api-reference/webhooks/list-supported-customer-webhook-event-types"}]},{"group":"workflows","pages":[{"title":"List workflows","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows","href":"/api-reference/workflows/list-workflows"},{"title":"Create a workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows","href":"/api-reference/workflows/create-a-workflow"},{"title":"Generate a workflow from a brief, template, or blank scaffold","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows/generate","href":"/api-reference/workflows/generate-a-workflow-from-a-brief-template-or-blank-scaffold"},{"title":"List available workflow templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/templates","href":"/api-reference/workflows/list-available-workflow-templates"},{"title":"Get a workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/{workflow_id}","href":"/api-reference/workflows/get-a-workflow"},{"title":"Update a workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/workflows/{workflow_id}","href":"/api-reference/workflows/update-a-workflow"},{"title":"Delete a workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/workflows/{workflow_id}","href":"/api-reference/workflows/delete-a-workflow"},{"title":"Bulk delete workflows","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows/bulk-delete","href":"/api-reference/workflows/bulk-delete-workflows"},{"title":"List parent workflows that embed this component","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/{workflow_id}/dependents","href":"/api-reference/workflows/list-parent-workflows-that-embed-this-component"},{"title":"List workflow revisions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/{workflow_id}/revisions","href":"/api-reference/workflows/list-workflow-revisions"},{"title":"Create a workflow revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows/{workflow_id}/revisions","href":"/api-reference/workflows/create-a-workflow-revision"},{"title":"Get a workflow revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/revisions/{revision_id}","href":"/api-reference/workflows/get-a-workflow-revision"},{"title":"Update a workflow revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/workflows/revisions/{revision_id}","href":"/api-reference/workflows/update-a-workflow-revision"},{"title":"Delete a workflow revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/workflows/revisions/{revision_id}","href":"/api-reference/workflows/delete-a-workflow-revision"},{"title":"Diff two workflow revisions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/{workflow_id}/revisions/diff","href":"/api-reference/workflows/diff-two-workflow-revisions"},{"title":"Get a workflow revision's compiled graph","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/revisions/{revision_id}/graph","href":"/api-reference/workflows/get-a-workflow-revisions-compiled-graph"},{"title":"Validate and manually replace a workflow revision's compiled graph","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/workflows/revisions/{revision_id}/graph","href":"/api-reference/workflows/validate-and-manually-replace-a-workflow-revisions-compiled-graph"},{"title":"Validate a workflow graph without saving it","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows/revisions/{revision_id}/graph/validate","href":"/api-reference/workflows/validate-a-workflow-graph-without-saving-it"},{"title":"Apply id-addressed PATCH ops to a workflow revision's graph","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows/revisions/{revision_id}/graph/ops","href":"/api-reference/workflows/apply-id-addressed-patch-ops-to-a-workflow-revisions-graph"},{"title":"Get a workflow revision's tool-input defaults (enriched view)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/revisions/{revision_id}/tool-input-defaults","href":"/api-reference/workflows/get-a-workflow-revisions-tool-input-defaults-enriched-view"},{"title":"Replace a workflow revision's tool-input defaults (draft-only)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/workflows/revisions/{revision_id}/tool-input-defaults","href":"/api-reference/workflows/replace-a-workflow-revisions-tool-input-defaults-draft-only"},{"title":"Set the active workflow revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows/{workflow_id}/set-active-revision","href":"/api-reference/workflows/set-the-active-workflow-revision"}]},{"group":"workflow-playground","pages":[{"title":"Create Session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflow/playground/sessions","href":"/api-reference/workflow-playground/create-session"},{"title":"Send Message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflow/playground/sessions/{session_id}/messages","href":"/api-reference/workflow-playground/send-message"},{"title":"Resume Approval","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflow/playground/sessions/{session_id}/resume","href":"/api-reference/workflow-playground/resume-approval"},{"title":"Get Session Info","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflow/playground/sessions/{session_id}","href":"/api-reference/workflow-playground/get-session-info"}]}]}]},"title":"Headline knowledge-gap KPIs for the org over a date window - Feather","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-7TwLLapg.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}