[{"data":1,"prerenderedAt":751},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fdocs\u002Freference\u002Fstatus":331,"docs-\u002Fdocs\u002Freference\u002Fstatus-surround":748},[4],{"title":5,"path":6,"stem":7,"children":8,"page":46},"Docs","\u002Fdocs","docs",[9,47,72,90,132,198,241,252,276,301],{"title":10,"description":11,"icon":12,"path":13,"stem":14,"children":15,"page":46},"Getting started","What Zaproo Search is, a quickstart, and wiring search into a storefront.","i-lucide-rocket","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[16,22,28,34,40],{"title":17,"path":18,"stem":19,"description":20,"icon":21},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002F1.getting-started\u002F1.introduction","What Zaproo Search is, the five things you work with, and how a product catalog becomes a search box on your shop.","i-lucide-book-open-text",{"title":23,"path":24,"stem":25,"description":26,"icon":27},"Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F1.getting-started\u002F2.quickstart","Set up search for your shop in the cabinet, from a new account to a first search, with the API and MCP as other ways to do the same.","i-lucide-zap",{"title":29,"path":30,"stem":31,"description":32,"icon":33},"Integrate a storefront","\u002Fdocs\u002Fgetting-started\u002Fstorefront","docs\u002F1.getting-started\u002F3.storefront","Build a search results page with facets and an autocomplete box on top of the search and suggest routes.","i-lucide-store",{"title":35,"path":36,"stem":37,"description":38,"icon":39},"JavaScript SDK","\u002Fdocs\u002Fgetting-started\u002Fjavascript-sdk","docs\u002F1.getting-started\u002F4.javascript-sdk","Search, autocomplete and event tracking from a storefront with one small client that runs in the browser, on your server and in edge functions.","i-lucide-braces",{"title":41,"path":42,"stem":43,"description":44,"icon":45},"AI shopping assistant","\u002Fdocs\u002Fgetting-started\u002Fai-assistant","docs\u002F1.getting-started\u002F5.ai-assistant","A chat widget for your storefront that finds products and answers questions from your indexes.","i-lucide-sparkles",false,{"title":48,"description":49,"icon":50,"path":51,"stem":52,"children":53,"page":46},"Account and team","Sign-in, sessions, organizations, members, roles and projects.","i-lucide-users","\u002Fdocs\u002Faccount","docs\u002F2.account",[54,60,66],{"title":55,"path":56,"stem":57,"description":58,"icon":59},"Account and sign-in","\u002Fdocs\u002Faccount\u002Fsign-in","docs\u002F2.account\u002F1.sign-in","Create an account, verify your email, stay signed in, manage signed-in devices and change or reset your password.","i-lucide-log-in",{"title":61,"path":62,"stem":63,"description":64,"icon":65},"Organizations, members and roles","\u002Fdocs\u002Faccount\u002Forganizations","docs\u002F2.account\u002F2.organizations","What an organization holds, how to add members, and what owners, admins and members may do.","i-lucide-building-2",{"title":67,"path":68,"stem":69,"description":70,"icon":71},"Projects","\u002Fdocs\u002Faccount\u002Fprojects","docs\u002F2.account\u002F3.projects","Group the indices and API keys of one shop or one environment, and keep staging apart from production.","i-lucide-folder-kanban",{"title":73,"description":74,"icon":75,"path":76,"stem":77,"children":78,"page":46},"API keys and security","Secret and public keys, scopes, allowed origins, rate limits and errors.","i-lucide-key-round","\u002Fdocs\u002Fkeys","docs\u002F3.keys",[79,84],{"title":80,"path":81,"stem":82,"description":83,"icon":75},"API keys","\u002Fdocs\u002Fkeys\u002Fapi-keys","docs\u002F3.keys\u002F1.api-keys","Secret and public keys, full and read access, index scope, allowed origins, expiry, and how to revoke a key.",{"title":85,"path":86,"stem":87,"description":88,"icon":89},"Rate limits and errors","\u002Fdocs\u002Fkeys\u002Frate-limits","docs\u002F3.keys\u002F2.rate-limits","How many requests each route accepts per minute, what a 429 looks like, the error format and every error code with its HTTP status.","i-lucide-gauge",{"title":91,"description":92,"icon":93,"path":94,"stem":95,"children":96,"page":46},"Indexing","Indices, languages, mappings, documents, tasks, full catalog sync and reindexing.","i-lucide-database","\u002Fdocs\u002Findexing","docs\u002F4.indexing",[97,102,108,114,120,126],{"title":98,"path":99,"stem":100,"description":101,"icon":93},"Indices and languages","\u002Fdocs\u002Findexing\u002Findices","docs\u002F4.indexing\u002F1.indices","Create an index, pick its language, read its status, and change the language later with a reindex.",{"title":103,"path":104,"stem":105,"description":106,"icon":107},"Mapping and fields","\u002Fdocs\u002Findexing\u002Fmapping","docs\u002F4.indexing\u002F2.mapping","Field types, the five flags that decide what a field is used for, text analysis options, unmapped fields, and which changes need a reindex.","i-lucide-table-properties",{"title":109,"path":110,"stem":111,"description":112,"icon":113},"Documents and tasks","\u002Fdocs\u002Findexing\u002Fdocuments","docs\u002F4.indexing\u002F3.documents","Upload, browse and delete documents in the cabinet or through the API, follow each write as a task, and retry safely with Idempotency-Key.","i-lucide-file-json",{"title":115,"path":116,"stem":117,"description":118,"icon":119},"Full catalog sync","\u002Fdocs\u002Findexing\u002Ffull-sync","docs\u002F4.indexing\u002F4.full-sync","Replace the whole catalog with a replace session, so products missing from your export disappear from search, without downtime.","i-lucide-refresh-cw",{"title":121,"path":122,"stem":123,"description":124,"icon":125},"Reindex and versions","\u002Fdocs\u002Findexing\u002Fversions","docs\u002F4.indexing\u002F5.versions","Rebuild an index with its saved mapping and swap it in without downtime, follow or cancel the rebuild, and read activeVersion and buildingVersion.","i-lucide-git-compare-arrows",{"title":127,"path":128,"stem":129,"description":130,"icon":131},"Data source","\u002Fdocs\u002Findexing\u002Fdata-source","docs\u002F4.indexing\u002F6.data-source","Let Zaproo download your product feed on a schedule, map it to documents, write only what changed and delete what left the feed.","i-lucide-rss",{"title":133,"description":134,"icon":135,"path":136,"stem":137,"children":138,"page":46},"Integrations","Connect your shop. Magento 2, product feeds and the API work today; more platforms are coming.","i-lucide-plug-zap","\u002Fdocs\u002Fintegrations","docs\u002F4.integrations",[139,145,151,156,162,168,173,178,183,188,193],{"title":140,"path":141,"stem":142,"description":143,"icon":144},"Integrations overview","\u002Fdocs\u002Fintegrations\u002Foverview","docs\u002F4.integrations\u002F01.overview","The ways to get your catalog into Zaproo Search, which one to pick, and how a connected shop shows up in the cabinet.","i-lucide-layout-grid",{"title":146,"path":147,"stem":148,"description":149,"icon":150},"Magento 2","\u002Fdocs\u002Fintegrations\u002Fmagento","docs\u002F4.integrations\u002F02.magento","Install the Zaproo Search module for Magento 2, connect each store view to its own index, and keep the catalog in sync.","i-lucide-shopping-cart",{"title":152,"path":153,"stem":154,"description":155,"icon":131},"Product feed","\u002Fdocs\u002Fintegrations\u002Fproduct-feed","docs\u002F4.integrations\u002F03.product-feed","Connect any shop that can publish its catalog as a feed. You set it up in the cabinet, and Zaproo downloads the feed on a schedule and writes only what changed.",{"title":157,"path":158,"stem":159,"description":160,"icon":161},"REST API and MCP","\u002Fdocs\u002Fintegrations\u002Frest-api-and-mcp","docs\u002F4.integrations\u002F04.rest-api-and-mcp","Send documents from your own code with the REST API, or let an AI agent manage the index over MCP.","i-lucide-code",{"title":163,"path":164,"stem":165,"description":166,"icon":167},"Shopify","\u002Fdocs\u002Fintegrations\u002Fshopify","docs\u002F4.integrations\u002F05.shopify","A Zaproo Search integration for Shopify is coming soon. Until then, connect the shop through a product feed or the REST API.","i-lucide-shopping-bag",{"title":169,"path":170,"stem":171,"description":172,"icon":167},"WooCommerce","\u002Fdocs\u002Fintegrations\u002Fwoocommerce","docs\u002F4.integrations\u002F06.woocommerce","A Zaproo Search integration for WooCommerce is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":174,"path":175,"stem":176,"description":177,"icon":167},"Shopware","\u002Fdocs\u002Fintegrations\u002Fshopware","docs\u002F4.integrations\u002F07.shopware","A Zaproo Search integration for Shopware is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":179,"path":180,"stem":181,"description":182,"icon":167},"BigCommerce","\u002Fdocs\u002Fintegrations\u002Fbigcommerce","docs\u002F4.integrations\u002F08.bigcommerce","A Zaproo Search integration for BigCommerce is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":184,"path":185,"stem":186,"description":187,"icon":167},"PrestaShop","\u002Fdocs\u002Fintegrations\u002Fprestashop","docs\u002F4.integrations\u002F09.prestashop","A Zaproo Search integration for PrestaShop is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":189,"path":190,"stem":191,"description":192,"icon":167},"commercetools","\u002Fdocs\u002Fintegrations\u002Fcommercetools","docs\u002F4.integrations\u002F10.commercetools","A Zaproo Search integration for commercetools is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":194,"path":195,"stem":196,"description":197,"icon":167},"Salesforce Commerce Cloud","\u002Fdocs\u002Fintegrations\u002Fsalesforce-commerce-cloud","docs\u002F4.integrations\u002F11.salesforce-commerce-cloud","A Zaproo Search integration for Salesforce Commerce Cloud is coming soon. Until then, connect the shop through a product feed or the REST API.",{"title":199,"description":200,"icon":201,"path":202,"stem":203,"children":204,"page":46},"Search and relevance","The search API, search profiles, facets, synonyms and ranking rules.","i-lucide-search","\u002Fdocs\u002Fsearch","docs\u002F5.search",[205,211,217,223,229,235],{"title":206,"path":207,"stem":208,"description":209,"icon":210},"Search API","\u002Fdocs\u002Fsearch\u002Fsearch-api","docs\u002F5.search\u002F1.search-api","Try a search in the playground, then the search request and response for developers, with every filter form, sorting, paging, highlighting and the inline profile.","i-lucide-search-code",{"title":212,"path":213,"stem":214,"description":215,"icon":216},"Search profiles","\u002Fdocs\u002Fsearch\u002Fprofiles","docs\u002F5.search\u002F2.profiles","Every setting of a search profile, what it does to results, and the mistakes to avoid.","i-lucide-sliders-horizontal",{"title":218,"path":219,"stem":220,"description":221,"icon":222},"Facets","\u002Fdocs\u002Fsearch\u002Ffacets","docs\u002F5.search\u002F3.facets","The filter panels next to the results, the four facet types, index facets and profile facets, and how a shopper's clicks change the counts.","i-lucide-list-filter",{"title":224,"path":225,"stem":226,"description":227,"icon":228},"Synonyms","\u002Fdocs\u002Fsearch\u002Fsynonyms","docs\u002F5.search\u002F4.synonyms","Let different words find the same products, with equivalent and one-way rules, bulk import and export in the Solr format, and no reindex.","i-lucide-arrow-left-right",{"title":230,"path":231,"stem":232,"description":233,"icon":234},"Ranking rules","\u002Fdocs\u002Fsearch\u002Frules","docs\u002F5.search\u002F5.rules","Change the results for chosen searches. Put products first, hide them, lift or lower a brand, narrow the results or weigh fields differently, on a schedule and per profile.","i-lucide-list-ordered",{"title":236,"path":237,"stem":238,"description":239,"icon":240},"Language groups","\u002Fdocs\u002Fsearch\u002Flanguage-groups","docs\u002F5.search\u002F6.language-groups","Let each store of a multilingual shop find its products by the other stores' text, so an English search on the Estonian store still finds the Estonian product.","i-lucide-languages",{"title":242,"description":243,"icon":244,"path":245,"stem":246,"children":247,"page":46},"Autocomplete","Query suggestions as the shopper types.","i-lucide-text-cursor-input","\u002Fdocs\u002Fautocomplete","docs\u002F6.autocomplete",[248],{"title":242,"path":249,"stem":250,"description":251,"icon":244},"\u002Fdocs\u002Fautocomplete\u002Fsuggestions","docs\u002F6.autocomplete\u002F1.suggestions","Set up query suggestions in the cabinet. They are built every hour from your shoppers' searches, field values and custom entries.",{"title":253,"description":254,"icon":255,"path":256,"stem":257,"children":258,"page":46},"Analytics","Searches, zero-result queries and latency.","i-lucide-chart-line","\u002Fdocs\u002Fanalytics","docs\u002F7.analytics",[259,264,270],{"title":260,"path":261,"stem":262,"description":263,"icon":255},"Search analytics","\u002Fdocs\u002Fanalytics\u002Fsearch-analytics","docs\u002F7.analytics\u002F1.search-analytics","What the analytics page counts, which traffic it leaves out, how the headline numbers are defined, how comparisons and retention work, and how to get the weekly digest.",{"title":265,"path":266,"stem":267,"description":268,"icon":269},"Reports","\u002Fdocs\u002Fanalytics\u002Freports","docs\u002F7.analytics\u002F2.reports","Every analytics report with the definition of each column, the opportunities list and its fix buttons, the per-query view with before and after, and the CSV download.","i-lucide-table",{"title":271,"path":272,"stem":273,"description":274,"icon":275},"Event tracking","\u002Fdocs\u002Fanalytics\u002Fevent-tracking","docs\u002F7.analytics\u002F3.event-tracking","Send clicks, add-to-cart, purchases and suggestion clicks from your storefront, tie them to the search with searchId, and a copy-paste script that does it.","i-lucide-mouse-pointer-click",{"title":277,"description":278,"icon":279,"path":280,"stem":281,"children":282,"page":46},"AI agents (MCP)","Connect Claude Code or any MCP client and manage search from an agent.","i-lucide-bot","\u002Fdocs\u002Fmcp","docs\u002F8.mcp",[283,289,295],{"title":284,"path":285,"stem":286,"description":287,"icon":288},"MCP setup","\u002Fdocs\u002Fmcp\u002Fsetup","docs\u002F8.mcp\u002F1.setup","Connect Claude Code or another MCP client to your project from the cabinet's MCP connection page, and let an agent manage indices, documents, profiles, synonyms and rules.","i-lucide-plug",{"title":290,"path":291,"stem":292,"description":293,"icon":294},"MCP tools","\u002Fdocs\u002Fmcp\u002Ftools","docs\u002F8.mcp\u002F2.tools","Every tool the Zaproo Search MCP server offers, what an agent can do with each group, and prompts to start from.","i-lucide-wrench",{"title":296,"path":297,"stem":298,"description":299,"icon":300},"Resources and prompts","\u002Fdocs\u002Fmcp\u002Fresources","docs\u002F8.mcp\u002F3.resources","The index resources an MCP client can read, the tune_relevance prompt, and the errors the MCP server answers.","i-lucide-library",{"title":302,"description":303,"icon":304,"path":305,"stem":306,"children":307,"page":46},"Reference","Every REST route, every limit, plans and billing, and status.","i-lucide-book-open","\u002Fdocs\u002Freference","docs\u002F9.reference",[308,314,319,325],{"title":309,"path":310,"stem":311,"description":312,"icon":313},"REST API","\u002Fdocs\u002Freference\u002Frest-api","docs\u002F9.reference\u002F1.rest-api","The routes of the Zaproo Search REST API, grouped by area, with who may call it.","i-lucide-list-tree",{"title":315,"path":316,"stem":317,"description":318,"icon":89},"Limits","\u002Fdocs\u002Freference\u002Flimits","docs\u002F9.reference\u002F2.limits","Every size limit, cap and default of the Zaproo Search API in one place, with what happens when you reach it.",{"title":320,"path":321,"stem":322,"description":323,"icon":324},"Plans and billing","\u002Fdocs\u002Freference\u002Fbilling","docs\u002F9.reference\u002F3.billing","Check your plan and usage on the Billing & usage page, change the plan, download invoices, and see how quotas and proration work.","i-lucide-credit-card",{"title":326,"path":327,"stem":328,"description":329,"icon":330},"Status","\u002Fdocs\u002Freference\u002Fstatus","docs\u002F9.reference\u002F4.status","The status page and the status route, what each service covers and how to use them in your own monitoring.","i-lucide-activity",{"id":332,"title":326,"body":333,"description":329,"extension":743,"meta":744,"navigation":745,"path":327,"seo":746,"stem":328,"__hash__":747},"docs\u002Fdocs\u002F9.reference\u002F4.status.md",{"type":334,"value":335,"toc":736},"minimark",[336,341,350,353,404,407,452,456,462,469,629,635,655,659,679,683,718,722,732],[337,338,340],"h2",{"id":339},"the-status-page","The status page",[342,343,344,349],"p",{},[345,346,348],"a",{"href":347},"\u002Fstatus","https:\u002F\u002Fsearch.zaproo.cloud\u002Fstatus"," shows whether each part of Zaproo Search works right now. The answer is at most 15 seconds old; there is no history or incident log yet.",[342,351,352],{},"The page shows an overall state, which is the worst of the services, and one line per service:",[354,355,356,369],"table",{},[357,358,359],"thead",{},[360,361,362,366],"tr",{},[363,364,365],"th",{},"Service",[363,367,368],{},"What it covers",[370,371,372,381,388,396],"tbody",{},[360,373,374,378],{},[375,376,377],"td",{},"Search and autocomplete",[375,379,380],{},"The storefront search and suggest routes, and search from the REST API and MCP.",[360,382,383,385],{},[375,384,91],{},[375,386,387],{},"Document uploads, deletes, full syncs, reindexing and suggestion rebuilds: the tasks that change an index.",[360,389,390,393],{},[375,391,392],{},"Dashboard and API",[375,394,395],{},"Signing in, the dashboard, and the REST API for managing projects, keys, indices and profiles.",[360,397,398,401],{},[375,399,400],{},"MCP",[375,402,403],{},"The MCP server AI agents connect to.",[342,405,406],{},"Each service is in one of three states:",[354,408,409,419],{},[357,410,411],{},[360,412,413,416],{},[363,414,415],{},"State",[363,417,418],{},"Meaning",[370,420,421,432,442],{},[360,422,423,429],{},[375,424,425],{},[426,427,428],"code",{},"operational",[375,430,431],{},"It works.",[360,433,434,439],{},[375,435,436],{},[426,437,438],{},"degraded",[375,440,441],{},"It works, but slower than it should. For indexing: tasks wait longer than usual before they start.",[360,443,444,449],{},[375,445,446],{},[426,447,448],{},"down",[375,450,451],{},"It does not work. Requests fail, or tasks wait until it is back.",[337,453,455],{"id":454},"status-route","Status route",[457,458],"api-route",{"auth":459,"method":460,"path":461},"Anyone","GET","\u002Fv1\u002Fstatus",[342,463,464,465,468],{},"The same answer as the page, as JSON. It always answers ",[426,466,467],{},"200","; the body carries the state:",[470,471,476],"pre",{"className":472,"code":473,"language":474,"meta":475,"style":475},"language-json shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","{\n  \"status\": \"operational\",\n  \"services\": [\n    {\"name\": \"search\", \"state\": \"operational\"},\n    {\"name\": \"indexing\", \"state\": \"operational\"},\n    {\"name\": \"dashboard\", \"state\": \"operational\"},\n    {\"name\": \"mcp\", \"state\": \"operational\"}\n  ],\n  \"checkedAt\": \"2026-10-16T12:00:00.000Z\"\n}\n","json","",[426,477,478,487,504,513,540,562,584,607,613,624],{"__ignoreMap":475},[479,480,483],"span",{"class":481,"line":482},"line",1,[479,484,486],{"class":485},"s7iLA","{\n",[479,488,490,494,497,501],{"class":481,"line":489},2,[479,491,493],{"class":492},"sb7M8","  \"status\"",[479,495,496],{"class":485},": ",[479,498,500],{"class":499},"semJd","\"operational\"",[479,502,503],{"class":485},",\n",[479,505,507,510],{"class":481,"line":506},3,[479,508,509],{"class":492},"  \"services\"",[479,511,512],{"class":485},": [\n",[479,514,516,519,522,524,527,530,533,535,537],{"class":481,"line":515},4,[479,517,518],{"class":485},"    {",[479,520,521],{"class":492},"\"name\"",[479,523,496],{"class":485},[479,525,526],{"class":499},"\"search\"",[479,528,529],{"class":485},", ",[479,531,532],{"class":492},"\"state\"",[479,534,496],{"class":485},[479,536,500],{"class":499},[479,538,539],{"class":485},"},\n",[479,541,543,545,547,549,552,554,556,558,560],{"class":481,"line":542},5,[479,544,518],{"class":485},[479,546,521],{"class":492},[479,548,496],{"class":485},[479,550,551],{"class":499},"\"indexing\"",[479,553,529],{"class":485},[479,555,532],{"class":492},[479,557,496],{"class":485},[479,559,500],{"class":499},[479,561,539],{"class":485},[479,563,565,567,569,571,574,576,578,580,582],{"class":481,"line":564},6,[479,566,518],{"class":485},[479,568,521],{"class":492},[479,570,496],{"class":485},[479,572,573],{"class":499},"\"dashboard\"",[479,575,529],{"class":485},[479,577,532],{"class":492},[479,579,496],{"class":485},[479,581,500],{"class":499},[479,583,539],{"class":485},[479,585,587,589,591,593,596,598,600,602,604],{"class":481,"line":586},7,[479,588,518],{"class":485},[479,590,521],{"class":492},[479,592,496],{"class":485},[479,594,595],{"class":499},"\"mcp\"",[479,597,529],{"class":485},[479,599,532],{"class":492},[479,601,496],{"class":485},[479,603,500],{"class":499},[479,605,606],{"class":485},"}\n",[479,608,610],{"class":481,"line":609},8,[479,611,612],{"class":485},"  ],\n",[479,614,616,619,621],{"class":481,"line":615},9,[479,617,618],{"class":492},"  \"checkedAt\"",[479,620,496],{"class":485},[479,622,623],{"class":499},"\"2026-10-16T12:00:00.000Z\"\n",[479,625,627],{"class":481,"line":626},10,[479,628,606],{"class":485},[342,630,631,634],{},[426,632,633],{},"checkedAt"," is when the state was last checked. Calls within 15 seconds of each other get the same answer, and the route is rate limited per IP address.",[470,636,640],{"className":637,"code":638,"language":639,"meta":475,"style":475},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","curl -s https:\u002F\u002Fapi.search.zaproo.cloud\u002Fv1\u002Fstatus\n","bash",[426,641,642],{"__ignoreMap":475},[479,643,644,648,652],{"class":481,"line":482},[479,645,647],{"class":646},"szw1H","curl",[479,649,651],{"class":650},"ssYy9"," -s",[479,653,654],{"class":499}," https:\u002F\u002Fapi.search.zaproo.cloud\u002Fv1\u002Fstatus\n",[337,656,658],{"id":657},"using-it-in-your-monitoring","Using it in your monitoring",[660,661,662,673,676],"ul",{},[663,664,665,666,669,670,672],"li",{},"Alert on the service you depend on, not on the overall state. A storefront that only searches cares about ",[426,667,668],{},"search","; indexing being ",[426,671,448],{}," delays new documents but leaves search working with what is already indexed.",[663,674,675],{},"Check every minute and alert after two or three bad answers in a row, not on a single one.",[663,677,678],{},"Your storefront should not call the route on each page view. Check from your monitoring, and let the storefront degrade on its own when a search request fails.",[337,680,682],{"id":681},"infrastructure-probes","Infrastructure probes",[342,684,685,688,689,692,693,696,697,700,701,704,705,707,708,704,711,714,715,717],{},[426,686,687],{},"GET \u002Fhealth"," and ",[426,690,691],{},"GET \u002Fready"," sit at the root of the API, outside ",[426,694,695],{},"\u002Fv1",". They are for the load balancer and the cluster that run Zaproo Search, and answer only ",[426,698,699],{},"{\"status\": ...}",". ",[426,702,703],{},"\u002Fhealth"," answers ",[426,706,467],{}," while the API process runs. ",[426,709,710],{},"\u002Fready",[426,712,713],{},"503"," when this API instance cannot serve search, so traffic goes to another one. Neither tells you whether your part of the service works; use ",[426,716,461],{}," for that.",[337,719,721],{"id":720},"related","Related",[660,723,724,728],{},[663,725,726],{},[345,727,309],{"href":310},[663,729,730],{},[345,731,315],{"href":316},[733,734,735],"style",{},"html pre.shiki code .s7iLA, html code.shiki .s7iLA{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sb7M8, html code.shiki .sb7M8{--shiki-light:#024C1A;--shiki-default:#024C1A;--shiki-dark:#72F088}html pre.shiki code .semJd, html code.shiki .semJd{--shiki-light:#032563;--shiki-default:#032563;--shiki-dark:#ADDCFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szw1H, html code.shiki .szw1H{--shiki-light:#702C00;--shiki-default:#702C00;--shiki-dark:#FFB757}html pre.shiki code .ssYy9, html code.shiki .ssYy9{--shiki-light:#023B95;--shiki-default:#023B95;--shiki-dark:#91CBFF}",{"title":475,"searchDepth":489,"depth":489,"links":737},[738,739,740,741,742],{"id":339,"depth":489,"text":340},{"id":454,"depth":489,"text":455},{"id":657,"depth":489,"text":658},{"id":681,"depth":489,"text":682},{"id":720,"depth":489,"text":721},"md",{},{"icon":330},{"title":326,"description":329},"a-xCuvVtgfERhLJtc_sSCxOSbOPSYJONAMm__RdR4Xg",[749,750],{"title":320,"path":321,"stem":322,"description":323,"icon":324,"children":-1},null,1793717706330]