{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"3ngram","description":"Persistent, typed memory for AI agents — decisions, commitments, blockers, and facts that survive the session.","colors":{"primary":"#2863ab","light":"#7fbef3"},"logo":{"light":"https://mintcdn.com/b3dmar/GWLvoBR4q9QtaGTZ/logo/light.svg?fit=max\u0026auto=format\u0026n=GWLvoBR4q9QtaGTZ\u0026q=85\u0026s=0fe1c18ffe40cdb8b77323437eeb6f01","dark":"https://mintcdn.com/b3dmar/GWLvoBR4q9QtaGTZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=GWLvoBR4q9QtaGTZ\u0026q=85\u0026s=69f321123d924f65d45fab9b94186b4d"},"favicon":"https://mintcdn.com/b3dmar/GWLvoBR4q9QtaGTZ/favicon.svg?fit=max\u0026auto=format\u0026n=GWLvoBR4q9QtaGTZ\u0026q=85\u0026s=4597a2d5d90fc26950683b8c83e48dbe","navbar":{"links":[{"href":"https://github.com/B3dmar/3ngram","label":"GitHub"}]},"footer":{"socials":{"github":"https://github.com/B3dmar/3ngram"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"b3dmar","hasAudioNarration":false,"actualSubdomain":"b3dmar","customDomains":["docs.3ngram.ai"],"gitSource":{"type":"github","owner":"b3dmar","repo":"3ngram","deployBranch":"main","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ade5a57ab7ad0ef398aef99","collectionId":"3e2ee724-d899-4b3e-887d-fe828979d220","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ade5a57ab7ad0ef398aef99"},"entitlements":{},"buildId":"6ade5a57ab7ad0ef398aef99","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Reference","count":37},{"language":"default","tag":"API reference","count":33},{"language":"default","tag":"API Reference","count":33},{"language":"default","tag":"Documentation","count":25},{"language":"default","tag":"Concepts","count":12},{"language":"default","tag":"Getting started","count":6},{"language":"default","tag":"Use cases","count":5},{"language":"default","tag":"CLI \u0026 SDK","count":2},{"language":"default","tag":"MCP reference","count":2},{"language":"default","tag":"Benchmarks","count":1}]},"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/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool","slug":"/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool","pageMetadata":{"title":"Unified semantic + keyword retrieval (mirrors the MCP search tool)","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/search","href":"/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool","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":{"config":{},"pageMetadata":{"title":"Unified semantic + keyword retrieval (mirrors the MCP search tool)","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/search","href":"/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"search","requestBody":"dc0c4c03-fce2-427f-aef2-09acd8cd1aec","responses":{"200":"7a6bcab5-1637-42b1-80e3-4c466f49973a","400":"e49505ec-102f-4812-928c-7861842acede"},"summary":"Unified semantic + keyword retrieval (mirrors the MCP search tool)","method":"post","type":"path","servers":["5903cb4e-db94-4ef7-becf-a1797aea1a0c"],"security":["3527d78c-d3a7-4098-94fb-8657487b1d46","8fdf9ed4-1e9d-4c98-82a7-1fbd3428e2a8"],"path":"/api/v1/search","baseUrlOptions":["https://api.3ngram.ai"],"title":"Unified semantic + keyword retrieval (mirrors the MCP search tool)","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"query":{"minLength":1,"type":"string","isRequired":true,"uniqueKey":"query","typeLabel":"string"},"asOf":{"additionalProperties":false,"properties":{"asKnownAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","type":"string","uniqueKey":"asOf.asKnownAt","typeLabel":"string\u003cdate-time>"},"validAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","type":"string","uniqueKey":"asOf.validAt","typeLabel":"string\u003cdate-time>"}},"type":"object","uniqueKey":"asOf","typeLabel":"object"},"limit":{"default":5,"maximum":25,"minimum":1,"type":"integer","uniqueKey":"limit","typeLabel":"integer"},"memoryType":{"enum":["decision","commitment","blocker","fact","preference","pattern","note","event"],"type":"string","uniqueKey":"memoryType","typeLabel":"enum\u003cstring>"},"project":{"maxLength":256,"minLength":1,"type":"string","uniqueKey":"project","typeLabel":"string"},"scope":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9][a-z0-9-]*$","type":"string","uniqueKey":"scope","typeLabel":"string"},"status":{"enum":["active","archived"],"type":"string","uniqueKey":"status","typeLabel":"enum\u003cstring>"}},"required":["query"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"query":"\u003cstring>","asOf":{"asKnownAt":"2023-11-07T05:31:56Z","validAt":"2023-11-07T05:31:56Z"},"limit":5,"project":"\u003cstring>","scope":"\u003cstring>"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"7a6bcab5-1637-42b1-80e3-4c466f49973a":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"count","typeLabel":"integer"},"hits":{"items":{"additionalProperties":true,"properties":{"content":{"maxLength":600,"type":"string","isRequired":true,"uniqueKey":"hits.items.[INDEX].content","typeLabel":"string"},"contentLength":{"maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"hits.items.[INDEX].contentLength","typeLabel":"integer"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string","isRequired":true,"uniqueKey":"hits.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"memoryType":{"type":"string","isRequired":true,"uniqueKey":"hits.items.[INDEX].memoryType","typeLabel":"string"},"project":{"oneOf":[{"type":"string","maxLength":256,"minLength":1,"isRequired":true,"uniqueKey":"hits.items.[INDEX].project.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"hits.items.[INDEX].project.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hits.items.[INDEX].project","typeLabel":"string | null"},"scope":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9][a-z0-9-]*$","type":"string","isRequired":true,"uniqueKey":"hits.items.[INDEX].scope","typeLabel":"string"},"score":{"type":"number","isRequired":true,"uniqueKey":"hits.items.[INDEX].score","typeLabel":"number"},"superseded":{"type":"boolean","isRequired":true,"uniqueKey":"hits.items.[INDEX].superseded","typeLabel":"boolean"},"topic":{"type":"string","isRequired":true,"uniqueKey":"hits.items.[INDEX].topic","typeLabel":"string"},"truncated":{"type":"boolean","isRequired":true,"uniqueKey":"hits.items.[INDEX].truncated","typeLabel":"boolean"},"commitmentStatus":{"enum":["open","waiting","resolved","expired"],"type":"string","uniqueKey":"hits.items.[INDEX].commitmentStatus","typeLabel":"enum\u003cstring>"}},"required":["id","memoryType","topic","content","contentLength","truncated","score","superseded","scope","project"],"type":"object","uniqueKey":"hits.items.[INDEX]","typeLabel":"object"},"maxItems":25,"type":"array","isRequired":true,"uniqueKey":"hits","typeLabel":"object[]"},"appliedScope":{"description":"Scope your retrieval-scope policy applied to this unscoped call (mode default). Absent when nothing was narrowed.","maxLength":64,"minLength":1,"pattern":"^[a-z0-9][a-z0-9-]*$","type":"string","uniqueKey":"appliedScope","typeLabel":"string"}},"required":["hits","count"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"count":4503599627370495,"hits":[{"content":"\u003cstring>","contentLength":4503599627370495,"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","memoryType":"\u003cstring>","project":"\u003cstring>","scope":"\u003cstring>","score":123,"superseded":true,"topic":"\u003cstring>","truncated":true,"commitmentStatus":"open"}],"appliedScope":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Success","exampleType":"generated"},"e49505ec-102f-4812-928c-7861842acede":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"const":"invalid_input","type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"detail":{"maxLength":512,"type":"string","uniqueKey":"detail","typeLabel":"string"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_input","detail":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Invalid search input; detail names retryable scopes when retrieval policy requires one","exampleType":"generated"}},"security":{"3527d78c-d3a7-4098-94fb-8657487b1d46":{"apiKey":{"in":"header","name":"X-API-Key","type":"apiKey","scopes":[],"schemeName":"apiKey"}},"8fdf9ed4-1e9d-4c98-82a7-1fbd3428e2a8":{"sessionBearer":{"scheme":"bearer","type":"http","scopes":[],"schemeName":"sessionBearer"}}},"servers":{"5903cb4e-db94-4ef7-becf-a1797aea1a0c":{"description":"3ngram platform","url":"https://api.3ngram.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"in":"header","name":"X-API-Key","type":"apiKey","scopes":[],"schemeName":"apiKey"},"schema":{"title":"X-API-Key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"X-API-Key"}],"title":"apiKey"},{"schemes":[{"scheme":{"scheme":"bearer","type":"http","scopes":[],"schemeName":"sessionBearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"sessionBearer","name":"Authorization"}],"title":"sessionBearer"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"b3dmar","siteName":"3ngram","title":"Unified semantic + keyword retrieval (mirrors the MCP search tool) - 3ngram","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-25T19:37:00.457Z","originalFileLocation":"api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool.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=\"3ngram\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/b3dmar/foGxGsTDmj_edXCC/_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/b3dmar/foGxGsTDmj_edXCC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/b3dmar/foGxGsTDmj_edXCC/_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/b3dmar/foGxGsTDmj_edXCC/_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/b3dmar/foGxGsTDmj_edXCC/_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/b3dmar/foGxGsTDmj_edXCC/_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/b3dmar/foGxGsTDmj_edXCC/_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/b3dmar/foGxGsTDmj_edXCC/_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/b3dmar/foGxGsTDmj_edXCC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Unified semantic + keyword retrieval (mirrors the MCP search tool) - 3ngram\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"3ngram\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.3ngram.ai/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://b3dmar.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Unified+semantic+%2B+keyword+retrieval+%28mirrors+the+MCP+search+tool%29\u0026amp;theme=5c07f99e83ce0e9e25059d65\u0026amp;signature=75088761a80bd1f90316667b9bfd3e2af866592a41f9bc61836f236981f9e657\">\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=\"Unified semantic + keyword retrieval (mirrors the MCP search tool) - 3ngram\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://b3dmar.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Unified+semantic+%2B+keyword+retrieval+%28mirrors+the+MCP+search+tool%29\u0026amp;theme=5c07f99e83ce0e9e25059d65\u0026amp;signature=75088761a80bd1f90316667b9bfd3e2af866592a41f9bc61836f236981f9e657\">\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/b3dmar/foGxGsTDmj_edXCC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"3ngram\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2863ab\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.3ngram.ai/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/unified-semantic-%2B-keyword-retrieval-mirrors-the-mcp-search-tool.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.3ngram.ai/#organization\",\"name\":\"3ngram\",\"url\":\"https://docs.3ngram.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/b3dmar/GWLvoBR4q9QtaGTZ/logo/light.svg?fit=max\u0026auto=format\u0026n=GWLvoBR4q9QtaGTZ\u0026q=85\u0026s=0fe1c18ffe40cdb8b77323437eeb6f01\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.3ngram.ai#website\",\"name\":\"3ngram\",\"url\":\"https://docs.3ngram.ai\",\"publisher\":{\"@id\":\"https://docs.3ngram.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.3ngram.ai/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool#webpage\",\"url\":\"https://docs.3ngram.ai/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool\",\"name\":\"Unified semantic + keyword retrieval (mirrors the MCP search tool)\",\"dateModified\":\"2026-10-25T19:37:00.457Z\",\"isPartOf\":{\"@id\":\"https://docs.3ngram.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.3ngram.ai/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.3ngram.ai/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API reference\",\"item\":\"https://docs.3ngram.ai/api-reference/self-serve-account-deletion:-erase-pii-in-place-and-revoke-credentials-gdpr-art-17-erasure\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Reference\",\"item\":\"https://docs.3ngram.ai/api-reference/self-serve-account-deletion:-erase-pii-in-place-and-revoke-credentials-gdpr-art-17-erasure\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Unified semantic + keyword retrieval (mirrors the MCP search tool)\",\"item\":\"https://docs.3ngram.ai/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.3ngram.ai/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool#apireference\",\"headline\":\"Unified semantic + keyword retrieval (mirrors the MCP search tool)\",\"name\":\"Unified semantic + keyword retrieval (mirrors the MCP search tool)\",\"url\":\"https://docs.3ngram.ai/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool\",\"mainEntityOfPage\":{\"@id\":\"https://docs.3ngram.ai/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool#webpage\"},\"dateModified\":\"2026-10-25T19:37:00.457Z\",\"publisher\":{\"@id\":\"https://docs.3ngram.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.3ngram.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"3ngram\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"3ngram","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":""}]},{"tab":"Reference","icon":"code","groups":[{"group":"MCP reference","pages":[{"title":"MCP tools","href":"/reference/tools"},{"title":"MCP prompts","href":"/reference/prompts"}]},{"group":"CLI \u0026 SDK","pages":[{"title":"CLI reference","href":"/reference/cli"},{"title":"SDK reference","href":"/reference/sdk"}]},{"group":"API reference","pages":[{"group":"API Reference","pages":[{"title":"Self-serve account deletion: erase PII in place and revoke credentials (GDPR Art. 17 erasure)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /api/v1/account","href":"/api-reference/self-serve-account-deletion:-erase-pii-in-place-and-revoke-credentials-gdpr-art-17-erasure"},{"title":"Close an agent session by natural key (SessionEnd). Carries no activation_epoch and is idempotent — a repeat close echoes the first close timestamp.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/agent-sessions/close","href":"/api-reference/close-an-agent-session-by-natural-key-sessionend-carries-no-activation_epoch-and-is-idempotent-—-a-repeat-close-echoes-the-first-close-timestamp"},{"title":"Refresh an agent session lease by natural key (Stop), resurrecting a closed or lease-expired row and optionally snapshotting the turn's bounded last assistant message.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/agent-sessions/heartbeat","href":"/api-reference/refresh-an-agent-session-lease-by-natural-key-stop-resurrecting-a-closed-or-lease-expired-row-and-optionally-snapshotting-the-turns-bounded-last-assistant-message"},{"title":"Open or re-activate an agent session by its natural key (SessionStart). Idempotent: startup inserts, resume reuses the row and advances activation_epoch, and neither restamps the briefing.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/agent-sessions/open","href":"/api-reference/open-or-re-activate-an-agent-session-by-its-natural-key-sessionstart-idempotent:-startup-inserts-resume-reuses-the-row-and-advances-activation_epoch-and-neither-restamps-the-briefing"},{"title":"Ask whether a Stop should inject the debrief nudge for this run (natural key). The server evaluates the entry rule and the debounce and answers `armed`; a decline is a 200 carrying a content-free reason, and only an unknown natural key is a 404.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/agent-sessions/triage/begin","href":"/api-reference/ask-whether-a-stop-should-inject-the-debrief-nudge-for-this-run-natural-key-the-server-evaluates-the-entry-rule-and-the-debounce-and-answers-`armed`;-a-decline-is-a-200-carrying-a-content-free-reason-and-only-an-unknown-natural-key-is-a-404"},{"title":"Finish a triage attempt: absorb whatever the continuation wrote and stamp the outcome — completed with provenance, expired on a zero-write continuation so the closer still runs, overflowed past the per-run ceiling — plus the cumulative event-id watermark. defensive: true (no debrief was shown) lands expired and keeps the begin watermark.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/agent-sessions/triage/complete","href":"/api-reference/finish-a-triage-attempt:-absorb-whatever-the-continuation-wrote-and-stamp-the-outcome-—-completed-with-provenance-expired-on-a-zero-write-continuation-so-the-closer-still-runs-overflowed-past-the-per-run-ceiling-—-plus-the-cumulative-event-id-watermark-defensive:-true-no-debrief-was-shown-lands-expired-and-keeps-the-begin-watermark"},{"title":"The bookkeeping row for one run, addressed by sessionRunId: identity, lifecycle timestamps, activation_epoch, triage status and the briefed memories the run was shown. Read-only — the read never refreshes the lease or resurrects a closed row. The last assistant-message excerpt and the watermark ids are not projected.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/agent-sessions/{sessionRunId}","href":"/api-reference/the-bookkeeping-row-for-one-run-addressed-by-sessionrunid:-identity-lifecycle-timestamps-activation_epoch-triage-status-and-the-briefed-memories-the-run-was-shown-read-only-—-the-read-never-refreshes-the-lease-or-resurrects-a-closed-row-the-last-assistant-message-excerpt-and-the-watermark-ids-are-not-projected"},{"title":"List the audit events one agent-session run produced (bounded, keyset-paginated). Each page is its own read-committed snapshot, so a write that commits after a page was read may be absent from that walk even if its id sorts earlier; treat one walk as a bounded observation, not the complete record of a run.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/agent-sessions/{sessionRunId}/events","href":"/api-reference/list-the-audit-events-one-agent-session-run-produced-bounded-keyset-paginated-each-page-is-its-own-read-committed-snapshot-so-a-write-that-commits-after-a-page-was-read-may-be-absent-from-that-walk-even-if-its-id-sorts-earlier;-treat-one-walk-as-a-bounded-observation-not-the-complete-record-of-a-run"},{"title":"The run's interactive nudge attempts, oldest first: when each was armed and how it finished (completed with provenance, expired on a zero-write continuation, overflowed past the ceiling). An entry with no outcome was never finalized — in flight while the row is pending, abandoned otherwise. The log keeps the newest entries up to a bound; count is the true total and truncated says when they disagree.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/agent-sessions/{sessionRunId}/triage-attempts","href":"/api-reference/the-runs-interactive-nudge-attempts-oldest-first:-when-each-was-armed-and-how-it-finished-completed-with-provenance-expired-on-a-zero-write-continuation-overflowed-past-the-ceiling-an-entry-with-no-outcome-was-never-finalized-—-in-flight-while-the-row-is-pending-abandoned-otherwise-the-log-keeps-the-newest-entries-up-to-a-bound;-count-is-the-true-total-and-truncated-says-when-they-disagree"},{"title":"Session briefing over an explicit selector (mirrors the MCP briefing tool)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/briefing","href":"/api-reference/session-briefing-over-an-explicit-selector-mirrors-the-mcp-briefing-tool"},{"title":"The caller's current budget status (effective cap + spend this cycle)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/budget","href":"/api-reference/the-callers-current-budget-status-effective-cap-+-spend-this-cycle"},{"title":"Dashboard search continuation with identity-only hits","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/dashboard/search","href":"/api-reference/dashboard-search-continuation-with-identity-only-hits"},{"title":"Download the caller's complete data archive (GDPR Art. 20 portability)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/export","href":"/api-reference/download-the-callers-complete-data-archive-gdpr-art-20-portability"},{"title":"Currently-valid facts, with optional bi-temporal time travel (mirrors the MCP get_facts tool)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/facts","href":"/api-reference/currently-valid-facts-with-optional-bi-temporal-time-travel-mirrors-the-mcp-get_facts-tool"},{"title":"The authenticated identity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/me","href":"/api-reference/the-authenticated-identity"},{"title":"List memories (bounded; identity fields only, never content)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/memories","href":"/api-reference/list-memories-bounded;-identity-fields-only-never-content"},{"title":"Append a new memory (mirrors the MCP remember tool)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/memories","href":"/api-reference/append-a-new-memory-mirrors-the-mcp-remember-tool"},{"title":"Distinct scope and project values for the tenant (filter population)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/memories/facets","href":"/api-reference/distinct-scope-and-project-values-for-the-tenant-filter-population"},{"title":"Inspect a single memory, including content","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/memories/{id}","href":"/api-reference/inspect-a-single-memory-including-content"},{"title":"Archive an active memory of any type (operator form; the guarded agent form is revise kind: archive)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/memories/{id}/archive","href":"/api-reference/archive-an-active-memory-of-any-type-operator-form;-the-guarded-agent-form-is-revise-kind:-archive"},{"title":"Inspect memory lineage, direct relationships, and audit metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/memories/{id}/history","href":"/api-reference/inspect-memory-lineage-direct-relationships-and-audit-metadata"},{"title":"Transition the commitment riding a memory (mirrors the MCP resolve tool)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/memories/{id}/resolve","href":"/api-reference/transition-the-commitment-riding-a-memory-mirrors-the-mcp-resolve-tool"},{"title":"Supersede a memory with a corrected successor, refile it in place with kind: move, or archive it with kind: archive (mirrors the MCP revise tool)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/memories/{id}/revise","href":"/api-reference/supersede-a-memory-with-a-corrected-successor-refile-it-in-place-with-kind:-move-or-archive-it-with-kind:-archive-mirrors-the-mcp-revise-tool"},{"title":"Render the debrief prompt the MCP debrief registrar serves, so a Stop hook can inject it. Instructions are server-authored; the scope and project facets and the run's briefed commitments render as delimited data, never as imperative sentences.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/prompts/debrief","href":"/api-reference/render-the-debrief-prompt-the-mcp-debrief-registrar-serves-so-a-stop-hook-can-inject-it-instructions-are-server-authored;-the-scope-and-project-facets-and-the-runs-briefed-commitments-render-as-delimited-data-never-as-imperative-sentences"},{"title":"List consolidation proposals (bounded, cursor-paginated)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/proposals","href":"/api-reference/list-consolidation-proposals-bounded-cursor-paginated"},{"title":"Accept a consolidation proposal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/proposals/{id}/apply","href":"/api-reference/accept-a-consolidation-proposal"},{"title":"Reject a consolidation proposal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/proposals/{id}/reject","href":"/api-reference/reject-a-consolidation-proposal"},{"title":"List the tenant's registered scope names","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/scopes","href":"/api-reference/list-the-tenants-registered-scope-names"},{"title":"Unified semantic + keyword retrieval (mirrors the MCP search tool)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/search","href":"/api-reference/unified-semantic-+-keyword-retrieval-mirrors-the-mcp-search-tool"},{"title":"The caller's judgment opt-in (off unless set): whether derived text may be sent to the judgment provider","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/settings/judgment","href":"/api-reference/the-callers-judgment-opt-in-off-unless-set:-whether-derived-text-may-be-sent-to-the-judgment-provider"},{"title":"Set the caller's judgment opt-in (off or on). The setting alone sends nothing; the deployment must also configure a judgment provider","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /api/v1/settings/judgment","href":"/api-reference/set-the-callers-judgment-opt-in-off-or-on-the-setting-alone-sends-nothing;-the-deployment-must-also-configure-a-judgment-provider"},{"title":"Bounded count aggregates (counts only, never content)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/stats","href":"/api-reference/bounded-count-aggregates-counts-only-never-content"},{"title":"The running server build (deploy verification)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/version","href":"/api-reference/the-running-server-build-deploy-verification"}]}]}]}]},"title":"Unified semantic + keyword retrieval (mirrors the MCP search tool) - 3ngram","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"]}