[{"data":1,"prerenderedAt":530},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fdocs\u002Freference\u002Fbilling":301,"docs-\u002Fdocs\u002Freference\u002Fbilling-surround":527},[4],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Docs","\u002Fdocs","docs",[9,35,60,78,120,186,223,234,246,271],{"title":10,"description":11,"icon":12,"path":13,"stem":14,"children":15,"page":34},"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],{"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","From a new account to a first search request in six steps, with curl or from your AI agent.","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",false,{"title":36,"description":37,"icon":38,"path":39,"stem":40,"children":41,"page":34},"Account and team","Sign-in, sessions, organizations, members, roles and projects.","i-lucide-users","\u002Fdocs\u002Faccount","docs\u002F2.account",[42,48,54],{"title":43,"path":44,"stem":45,"description":46,"icon":47},"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":49,"path":50,"stem":51,"description":52,"icon":53},"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":55,"path":56,"stem":57,"description":58,"icon":59},"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":61,"description":62,"icon":63,"path":64,"stem":65,"children":66,"page":34},"API keys and security","Secret and public keys, scopes, allowed origins, rate limits and errors.","i-lucide-key-round","\u002Fdocs\u002Fkeys","docs\u002F3.keys",[67,72],{"title":68,"path":69,"stem":70,"description":71,"icon":63},"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":73,"path":74,"stem":75,"description":76,"icon":77},"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":79,"description":80,"icon":81,"path":82,"stem":83,"children":84,"page":34},"Indexing","Indices, languages, mappings, documents, tasks, full catalog sync and reindexing.","i-lucide-database","\u002Fdocs\u002Findexing","docs\u002F4.indexing",[85,90,96,102,108,114],{"title":86,"path":87,"stem":88,"description":89,"icon":81},"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":91,"path":92,"stem":93,"description":94,"icon":95},"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":97,"path":98,"stem":99,"description":100,"icon":101},"Documents and tasks","\u002Fdocs\u002Findexing\u002Fdocuments","docs\u002F4.indexing\u002F3.documents","Upload and delete documents in batches, follow each write as a task, retry safely with Idempotency-Key, and browse what the index holds.","i-lucide-file-json",{"title":103,"path":104,"stem":105,"description":106,"icon":107},"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":109,"path":110,"stem":111,"description":112,"icon":113},"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":115,"path":116,"stem":117,"description":118,"icon":119},"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":121,"description":122,"icon":123,"path":124,"stem":125,"children":126,"page":34},"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",[127,133,139,144,150,156,161,166,171,176,181],{"title":128,"path":129,"stem":130,"description":131,"icon":132},"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 an integration shows up in the cabinet.","i-lucide-layout-grid",{"title":134,"path":135,"stem":136,"description":137,"icon":138},"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":140,"path":141,"stem":142,"description":143,"icon":119},"Product feed","\u002Fdocs\u002Fintegrations\u002Fproduct-feed","docs\u002F4.integrations\u002F03.product-feed","Connect any shop that can publish its catalog as a feed. Zaproo downloads it on a schedule and writes only what changed.",{"title":145,"path":146,"stem":147,"description":148,"icon":149},"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":151,"path":152,"stem":153,"description":154,"icon":155},"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":157,"path":158,"stem":159,"description":160,"icon":155},"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":162,"path":163,"stem":164,"description":165,"icon":155},"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":167,"path":168,"stem":169,"description":170,"icon":155},"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":172,"path":173,"stem":174,"description":175,"icon":155},"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":177,"path":178,"stem":179,"description":180,"icon":155},"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":182,"path":183,"stem":184,"description":185,"icon":155},"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":187,"description":188,"icon":189,"path":190,"stem":191,"children":192,"page":34},"Search and relevance","The search API, search profiles, facets, synonyms and ranking rules.","i-lucide-search","\u002Fdocs\u002Fsearch","docs\u002F5.search",[193,199,205,211,217],{"title":194,"path":195,"stem":196,"description":197,"icon":198},"Search API","\u002Fdocs\u002Fsearch\u002Fsearch-api","docs\u002F5.search\u002F1.search-api","The search request and response, every filter form, sorting, paging, highlighting and the inline profile for previews.","i-lucide-search-code",{"title":200,"path":201,"stem":202,"description":203,"icon":204},"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":206,"path":207,"stem":208,"description":209,"icon":210},"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":212,"path":213,"stem":214,"description":215,"icon":216},"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":218,"path":219,"stem":220,"description":221,"icon":222},"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":224,"description":225,"icon":226,"path":227,"stem":228,"children":229,"page":34},"Autocomplete","Query suggestions as the shopper types.","i-lucide-text-cursor-input","\u002Fdocs\u002Fautocomplete","docs\u002F6.autocomplete",[230],{"title":224,"path":231,"stem":232,"description":233,"icon":226},"\u002Fdocs\u002Fautocomplete\u002Fsuggestions","docs\u002F6.autocomplete\u002F1.suggestions","Query suggestions as the shopper types, built every hour from your own searches, field values and custom entries.",{"title":235,"description":236,"icon":237,"path":238,"stem":239,"children":240,"page":34},"Analytics","Searches, zero-result queries and latency.","i-lucide-chart-line","\u002Fdocs\u002Fanalytics","docs\u002F7.analytics",[241],{"title":242,"path":243,"stem":244,"description":245,"icon":237},"Search analytics","\u002Fdocs\u002Fanalytics\u002Fsearch-analytics","docs\u002F7.analytics\u002F1.search-analytics","How many searches an index serves, which queries find nothing, how fast it answers, and what to do about zero results.",{"title":247,"description":248,"icon":249,"path":250,"stem":251,"children":252,"page":34},"AI agents (MCP)","Connect Claude Code or any MCP client and manage search from an agent.","i-lucide-bot","\u002Fdocs\u002Fmcp","docs\u002F8.mcp",[253,259,265],{"title":254,"path":255,"stem":256,"description":257,"icon":258},"MCP setup","\u002Fdocs\u002Fmcp\u002Fsetup","docs\u002F8.mcp\u002F1.setup","Connect Claude Code or any MCP client to Zaproo Search and manage indices, documents, profiles, synonyms and ranking rules from your agent.","i-lucide-plug",{"title":260,"path":261,"stem":262,"description":263,"icon":264},"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":266,"path":267,"stem":268,"description":269,"icon":270},"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":272,"description":273,"icon":274,"path":275,"stem":276,"children":277,"page":34},"Reference","Every REST route, every limit, plans and billing, and status.","i-lucide-book-open","\u002Fdocs\u002Freference","docs\u002F9.reference",[278,284,289,295],{"title":279,"path":280,"stem":281,"description":282,"icon":283},"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":285,"path":286,"stem":287,"description":288,"icon":77},"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":290,"path":291,"stem":292,"description":293,"icon":294},"Plans and billing","\u002Fdocs\u002Freference\u002Fbilling","docs\u002F9.reference\u002F3.billing","The plans, how usage is measured, what happens near a quota, and how plan changes and invoices work.","i-lucide-credit-card",{"title":296,"path":297,"stem":298,"description":299,"icon":300},"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":302,"title":290,"body":303,"description":293,"extension":522,"meta":523,"navigation":524,"path":291,"seo":525,"stem":292,"__hash__":526},"docs\u002Fdocs\u002F9.reference\u002F3.billing.md",{"type":304,"value":305,"toc":507},"minimark",[306,311,315,317,325,331,335,342,350,402,407,410,414,417,434,437,441,448,451,455,458,472,475,478,482,496,500],[307,308,310],"h2",{"id":309},"plans","Plans",[312,313,314],"p",{},"Every plan includes facets, synonyms, ranking rules, autocomplete, analytics and MCP access. Plans differ in four quotas: documents, searches a month, indices and seats.",[309,316],{},[312,318,319,320,324],{},"A plan belongs to an organization and covers all its projects. A new account starts on Free. Enterprise has custom limits; in the cabinet, ",[321,322,323],"strong",{},"Contact us"," writes to sales.",[326,327,328],"note",{},[312,329,330],{},"Billing is a mock today: invoices are issued and can be downloaded, but nothing is charged.",[307,332,334],{"id":333},"usage","Usage",[312,336,337,338,341],{},"The cabinet's ",[321,339,340],{},"Billing"," page, under the organization, shows the current plan, the usage of this calendar month (UTC) against each quota, plan changes and invoices.",[312,343,344],{},[345,346],"img",{"alt":347,"src":348,"title":349},"The Billing and usage page with the Free plan, usage bars for documents, searches, indices and seats, and the plans to change to","\u002Fdocs\u002Fscreenshots\u002Fbilling.png","The current plan, its usage and the plans to change to",[351,352,353,366],"table",{},[354,355,356],"thead",{},[357,358,359,363],"tr",{},[360,361,362],"th",{},"Quota",[360,364,365],{},"How it is counted",[367,368,369,378,386,394],"tbody",{},[357,370,371,375],{},[372,373,374],"td",{},"Documents",[372,376,377],{},"The documents stored in all indices of the organization, at the last count.",[357,379,380,383],{},[372,381,382],{},"Searches a month",[372,384,385],{},"Every search with a saved profile in the calendar month, summed. Autocomplete requests do not count.",[357,387,388,391],{},[372,389,390],{},"Indices",[372,392,393],{},"The indices of the organization, at the last count.",[357,395,396,399],{},[372,397,398],{},"Seats",[372,400,401],{},"The members of the organization, at the last count.",[403,404,406],"h3",{"id":405},"usage-updates-hourly","Usage updates hourly",[312,408,409],{},"Usage is rolled up every hour, at five past the hour (UTC). The billing page shows when it was last updated, so a burst of searches shows up within the hour, not at once.",[307,411,413],{"id":412},"quotas-are-soft","Quotas are soft",[312,415,416],{},"Nothing is blocked when you reach a quota. Search, uploads and the cabinet keep working.",[418,419,420,428],"ul",{},[421,422,423,424,427],"li",{},"At ",[321,425,426],{},"80%"," of a quota, the billing page shows a warning and the organization's owners and admins get one email.",[421,429,423,430,433],{},[321,431,432],{},"100%",", the warning changes and they get one more email.",[312,435,436],{},"Each email goes out once per quota and month. Usage past 100% is shown as it is, for example 130%. Consider a larger plan when a quota stays near its limit. A Zaproo administrator can also set custom limits for an organization; the billing page marks those.",[307,438,440],{"id":439},"changing-the-plan","Changing the plan",[312,442,443,444,447],{},"An organization admin changes the plan under ",[321,445,446],{},"Change plan"," on the billing page. The change takes effect at once.",[312,449,450],{},"If someone else changed the plan at the same moment, the cabinet asks you to reload and try again. The plan cannot be changed while Zaproo support is signed in as you.",[403,452,454],{"id":453},"proration","Proration",[312,456,457],{},"When a plan with a price is involved, the change issues a proration invoice right away with two lines:",[418,459,460,466],{},[421,461,462,465],{},[321,463,464],{},"A credit"," for the old plan's unused days of this month.",[421,467,468,471],{},[321,469,470],{},"A charge"," for the new plan's remaining days of this month.",[312,473,474],{},"Both count the day of the change. Each line is the monthly price times the days left divided by the days in the month, rounded half up to the cent. Free and Enterprise count as zero.",[312,476,477],{},"For example, from Starter (EUR 29) to Growth (EUR 99) on 16 October, with 16 of 31 days left: a credit of EUR 14.97, a charge of EUR 51.10, an invoice of EUR 36.13. A downgrade gives a negative total, a credit.",[307,479,481],{"id":480},"invoices","Invoices",[418,483,484,490,493],{},[421,485,486,489],{},[321,487,488],{},"On the 1st of each month"," (00:15 UTC), every organization that was on a paid plan when the month began gets an invoice for the month, at the full price of its plan.",[421,491,492],{},"An organization that changed plan during the previous month was billed for its days on the new plan by the proration invoice, and gets the full monthly invoice from the next month on.",[421,494,495],{},"Amounts are in euros. The billing page lists the last 24 invoices; each one downloads as a PDF.",[307,497,499],{"id":498},"related","Related",[418,501,502],{},[421,503,504],{},[505,506,285],"a",{"href":286},{"title":508,"searchDepth":509,"depth":509,"links":510},"",2,[511,512,516,517,520,521],{"id":309,"depth":509,"text":310},{"id":333,"depth":509,"text":334,"children":513},[514],{"id":405,"depth":515,"text":406},3,{"id":412,"depth":509,"text":413},{"id":439,"depth":509,"text":440,"children":518},[519],{"id":453,"depth":515,"text":454},{"id":480,"depth":509,"text":481},{"id":498,"depth":509,"text":499},"md",{},{"icon":294},{"title":290,"description":293},"Re1u3Evtau-COqx6yYwfoe4GnzfQ2AucobEPbS4aUyI",[528,529],{"title":285,"path":286,"stem":287,"description":288,"icon":77,"children":-1},{"title":296,"path":297,"stem":298,"description":299,"icon":300,"children":-1},1792623414695]