Start by creating an API Key on the dashboard, which you can use to store your API key and track your usage.
You can then store the API Key and export it as an environment variable in your development environment.
export ZEROENTROPY_API_KEY="your_api_key"
setx ZEROENTROPY_API_KEY "your_api_key"
New accounts start on the free tier with rate limits sufficient for prototyping. Higher tiers start at $50/mo ā upgrade on the billing page or see rate limits for details.
For example, in Postman, go to File -> Import, and then paste https://go.zeroentropy.dev/openapi.json into the prompt. Youāll have to set the bearerToken variable to your API Key.
Using our SwaggerUI interface, simply drop your API Key into āAuthorizeā button in the top-right corner.
EU Support
If you need support for EU-based datacenters for compliance, you can create an EU-based API Key using our EU Dashboard. Note the subdomain of eu-dashboard. rather than the US-based dashboard.. Similarly, you will want to set the base_url to https://eu-api.zeroentropy.dev/v1.Using the EU Dashboard and EU API Endpoints will ensure that all data is fully processed and stored within the EU.
When using our interactive API Reference, you can select https://eu-api.zeroentropy.dev/v1 in the dropdown menu at the top of each API request.
We also have a SwaggerUI interface for our EU API, using the eu-api. subdomain.
from zeroentropy import ZeroEntropyimport timezclient = ZeroEntropy()# Create a collectioncollection = zclient.collections.add(collection_name="default")# Add a text file to the collectiondocument = zclient.documents.add( collection_name="default", path="docs/document.txt", content={ "type": "text", "text": "My favorite apple is the Granny Smith.", },)# Wait until the document is indexedwhile True: status = zclient.documents.get_info(collection_name="default", path="docs/document.txt") if status.document.index_status == "indexed": print("Document is indexed.") break time.sleep(1)# Query the collectionresponse = zclient.queries.top_documents( collection_name="default", query="What is the best apple?", k=1,)print(response.results)
import { ZeroEntropy } from 'zeroentropy'const zclient = new ZeroEntropy()// Create a collectionconst collection = await zclient.collections.add({ collection_name: "default",})// Add a text file to the collectionconst document = await zclient.documents.add({ collection_name: "default", path: "docs/document.txt", content: { type: "text", text: "My favorite apple is the Granny Smith.", },})// Wait until the document is indexed let indexed = false; while (!indexed) { const status = await zclient.documents.getInfo({ collection_name: "default", path: "docs/document.txt", }); if (status.document.index_status === "indexed") { console.log("Document is indexed."); indexed = true; } else { await new Promise(resolve => setTimeout(resolve, 1000)); } }// Query the collectionconst response = await zclient.queries.topDocuments({ collection_name: "default", query: "What is the best apple?", k: 1,})console.log(response.results)
Click this card to copy a prompt for using ZeroEntropy with your LLM. You can save it as a text file and reference it in tools like Cursor.
copy
ZeroEntropy SDK Helper### Description:ZeroEntropy is a state-of-the-art retrieval API for documents, pages, snippets and reranking. It provides low-latency, high-accuracy search over your private corpus via a simple Python SDK.ZeroEntropy can be installed using: ⢠Python: pip install zeroentropy ⢠Node.js: npm install zeroentropy### Client Usagefrom zeroentropy import ZeroEntropyclient = ZeroEntropy(api_key="your_api_key")Auth & Configuration:⢠ENV VARS read by SDK: ZEROENTROPY_API_KEY Missing key triggers authentication error on instantiation.Instantiate:from dotenv import load_dotenv load_dotenv() from zeroentropy import AsyncZeroEntropy, ConflictError, HTTPStatusError zclient = AsyncZeroEntropy() # picks up ENV VARS### SDK Structure:All methods are async, grouped under: zclient.collections zclient.documents zclient.status zclient.queries zclient.models Each method returns structured responses defined by pydantic.BaseModel.### Collections ⢠client.collections.add(collection_name: str) -> None Always specify a collection name using client.collections.add(collection_name="my_collection") If the collection already exists, it will be throw an error, so you need to check if the collection exists first. ⢠client.collections.get_list() -> List[str] ⢠client.collections.delete(collection_name: str) -> None### Documents ⢠client.documents.add(collection_name: str, path: str, content, metadata: dict = None, overwrite: bool = False) -> None The add method already handles parsing for PDFs etc. The content dict can take the following formats: content={"type":"auto", "base64_data":"my_document.pdf"} for a PDF, content={"type":"text", "text":"my_document.pdf"} for a text file, and content={"type":"text-pages", "pages":[ "page 1 content", "page 2 content"]} for pages of text. If the document already exists, it will be throw an error, so you need to check if the document exists first. ⢠client.documents.get_info(collection_name: str, path: str, include_content: bool = False) -> DocumentResponse ⢠client.documents.get_info_list(collection_name: str, limit: int = 1024, path_gt: Optional[str] = None) -> List[DocumentGetInfoListResponse] ⢠client.documents.update(collection_name: str, path: str, metadata: Optional[dict]) -> UpdateDocumentResponse ⢠client.documents.delete(collection_name: str, path: Union[str, List[str]]) -> DocumentDeleteResponse### Queries ⢠client.queries.top_documents(collection_name: str, query: str, k: int, filter: Optional[dict] = None, include_metadata: bool = False, latency_mode: str = "low") -> List[DocumentRetrievalResponse] ⢠client.queries.top_pages(collection_name: str, query: str, k: int, filter: Optional[dict] = None, include_content: bool = False, latency_mode: str = "low") -> List[PageRetrievalResponse] ⢠client.queries.top_snippets(collection_name: str, query: str, k: int, filter: Optional[dict] = None, precise_responses: bool = False) -> List[SnippetResponse]### Status ⢠client.status.get_status(collection_name: Optional[str] = None) -> StatusGetStatusResponse### Models ⢠client.models.embed(input: Union[str, List[str]], input_type: "query" | "document", model: str, dimensions: Optional[int] = None, encoding_format: "float" | "base64" = "float", latency: Optional["fast" | "slow"] = None) -> ModelEmbedResponse ⢠client.models.rerank(documents: List[str], model: str, query: str, top_n: Optional[int] = None) -> ModelRerankResponseCommon Patterns:1 Collectionstry: await zclient.collections.add(collection_name="my_col")except ConflictError: passnames = (await zclient.collections.get_list()).collection_namesawait zclient.collections.delete(collection_name="my_col")2 Documents# Add textawait zclient.documents.add( collection_name="col", path="doc.txt", content={"type":"text","text":text}, metadata={"source":"notes"},)# Add PDF via OCRb64 = base64.b64encode(open(path,"rb").read()).decode()await zclient.documents.add( collection_name="col", path="doc.pdf", content={"type":"auto","base64_data":b64}, metadata={"type":"pdf"},)# Add CSV linesfor i,line in enumerate(open(path).read().splitlines()): await zclient.documents.add( collection_name="col", path=f"{path}_{i}", content={"type":"text","text":line}, metadata={"type":"csv"}, )# Deleteawait zclient.documents.delete(collection_name="col", path="doc.txt")# Get info (with optional content)info = await zclient.documents.get_info( collection_name="col", path="doc.txt", include_content=True)3 Update & Pagination# Update metadata or force re-indexawait zclient.documents.update( collection_name="col", path="doc.txt", metadata={"reviewed":"yes"},)# List documents with paginationresp = await zclient.documents.get_info_list( collection_name="col", limit=100, path_gt="doc_009.txt",)for doc in resp.documents: print(doc.path, doc.index_status)# Per-page infopage = await zclient.documents.get_page_info( collection_name="col", path="doc.pdf", page_index=2, include_content=True,)4 Pure Parsing (OCR helper)pages = await zclient.documents.parse( base64_data=b64)# returns list of page strings without indexing5 Status (overall or per-collection)status_all = await zclient.status.get_status()status_col = await zclient.status.get_status(collection_name="col")6 Queries# Top K documents (kā¤2048), with filter, reranker, latency_modedocs = await zclient.queries.top_documents( collection_name="col", query="find insight", k=5, filter={"type":{"$ne":"csv"}}, include_metadata=True, reranker="zerank-2", latency_mode="low",)# Top K pages (kā¤1024), include_content, latency_modepages = await zclient.queries.top_pages( collection_name="col", query="overview", k=3, include_content=True, latency_mode="high",)# Top K snippets (kā¤128), precise or coarsesnips = await zclient.queries.top_snippets( collection_name="col", query="key method", k=5, precise_responses=True, include_document_metadata=True, reranker="zerank-2",)### Expected Response ModelsAll responses return structured BaseModel objects as follows:1. DocumentGetInfoResponseUsed in get_info()pythonclass DocumentGetInfoResponse(BaseModel): document: Documentclass Document(BaseModel): id: str # UUID of the document collection_name: str path: str file_url: str # URL to download raw document size: int # Raw document size in bytes metadata: Dict[str, Union[str, List[str]]] # Metadata key-value pairs index_status: str # Enum: "not_parsed", "parsing", "not_indexed", "indexing", "indexed", "parsing_failed", "indexing_failed" num_pages: Optional[int] = None # Can be null content: Optional[str] = None # Null unless `include_content=True`2. DocumentUpdateResponseUsed in update()pythonclass DocumentUpdateResponse(BaseModel): message: Optional[str] = None # "Success!"3. DocumentRetrievalResponseUsed in top_documents()pythonclass DocumentRetrievalResponse(BaseModel): results: List[Response] class Response(BaseModel): path: str metadata: Optional[Dict[str, Union[str, List[str]]]] = None # Null if `include_metadata=False` score: float # Relevancy score4. PageRetrievalResponseUsed in top_pages()pythonclass PageRetrievalResponse(BaseModel): results: List[Response] class Response(BaseModel): path: str # Document path page_index: int # 0-indexed page number score: float # Relevancy score content: Optional[str] = None # Null if `include_content=False`5. SnippetResponseUsed in top_snippets()pythonclass SnippetResponse(BaseModel): results: List[Response] class Response(BaseModel): path: str start_index: int # Start character index of snippet end_index: int # End character index of snippet page_span: List[int] # (start_page, end_page) index range content: Optional[str] = None # Snippet text score: float # Relevancy score6. StatusGetStatusResponseUsed in status.get_status()pythonclass StatusGetStatusResponse(BaseModel): num_documents: int # Total document count num_parsing_documents: int # Documents still being parsed num_indexing_documents: int # Documents currently being indexed num_indexed_documents: int # Successfully indexed documents num_failed_documents: int # Documents that failed num_indexed_bytes: int # Total UTF-8 encoded bytes indexed7. ParseDocumentResponseUsed in parse_document()pythonclass ParseDocumentResponse(BaseModel): pages: List[str] # List of extracted page contents8. ModelEmbedResponseUsed in embed()pythonclass ModelEmbedResponse(BaseModel): results: List[Result] usage: Usageclass Result(BaseModel): embedding: Union[List[float], str] # float array or base64 stringclass Usage(BaseModel): total_bytes: int # For ratelimiting total_tokens: int # For billing9. ModelRerankResponseUsed in rerank()pythonclass ModelRerankResponse(BaseModel): results: List[Result] actual_latency_mode: str # "fast" or "slow" e2e_latency: float # Total time in seconds inference_latency: float total_bytes: int total_tokens: intclass Result(BaseModel): index: int # Index in original documents array relevance_score: float # 0.0 to 1.0All query endpoints support JSON filters:### Additional Notes- LLM should always use these BaseModels when generating SDK-based responses.- Metadata Filtering - Document metadata is always dict[str, str | list[str]]. - Filters support operators: $eq, $ne, $gt, $gte, $lt, $lte (for equality and range queries).- Responses will always match these structures unless otherwise stated.- Always include imports and load_dotenv(). - Use proper async/await structure with asyncio.run(). - Respect parameter limits and JSONāfilter syntax. - Override base_url when targeting EU cluster. - Wrap calls in try/except to handle ConflictError and HTTPStatusError.### Complete Async Example:import asynciofrom dotenv import load_dotenvfrom zeroentropy import AsyncZeroEntropy, ConflictError, HTTPStatusErrorimport base64load_dotenv()zclient = AsyncZeroEntropy()async def main(): try: await zclient.collections.add(collection_name="my_col") except ConflictError: pass text = "Hello ZeroEntropy" await zclient.documents.add( collection_name="my_col", path="hello.txt", content={"type":"text","text":text}, metadata={"lang":"en"}, ) status = await zclient.status.get_status(collection_name="my_col") print("Indexed:", status.num_indexed_documents) docs = await zclient.queries.top_documents( collection_name="my_col", query="Hello", k=1, include_metadata=True, ) print(docs.results)if __name__ == "__main__": asyncio.run(main())
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"ZeroEntropy","colors":{"primary":"#4594FF","light":"#4594FF","dark":"#4594FF"},"logo":{"light":"https://mintcdn.com/zeroentropy/vsoWdCzEUkYmTkNx/logo/light.svg?fit=max\u0026auto=format\u0026n=vsoWdCzEUkYmTkNx\u0026q=85\u0026s=883fffb78ee34586b7a4f0388d52b135","dark":"https://mintcdn.com/zeroentropy/vsoWdCzEUkYmTkNx/logo/dark.svg?fit=max\u0026auto=format\u0026n=vsoWdCzEUkYmTkNx\u0026q=85\u0026s=5bd022926ce0618ee02fe0091c65ddad","href":"https://www.zeroentropy.dev"},"favicon":"https://mintcdn.com/zeroentropy/vsoWdCzEUkYmTkNx/logo/favicon.svg?fit=max\u0026auto=format\u0026n=vsoWdCzEUkYmTkNx\u0026q=85\u0026s=180816b99903482a5743598ed4ba0205","navbar":{"links":[{"href":"mailto:founders@zeroentropy.dev","label":"Support"},{"href":"https://go.zeroentropy.dev/slack","label":"Community"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.zeroentropy.dev/"}},"footer":{"socials":{"github":"https://github.com/orgs/ZeroEntropy-AI","linkedin":"https://www.linkedin.com/company/zeroentropy-inc"}},"banner":{"content":"š [zembed-1](https://docs.zeroentropy.dev/models#zembed-1) is now generally available through the API, all SDKs, and on the AWS Marketplace!","dismissible":true},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Home page","icon":"house","href":"https://zeroentropy.dev"},{"anchor":"Dashboard","icon":"gauge","href":"https://dashboard.zeroentropy.dev"},{"anchor":"Slack Community","icon":"Slack","href":"https://go.zeroentropy.dev/slack"},{"anchor":"Discord Community","icon":"Discord","href":"https://go.zeroentropy.dev/discord"},{"anchor":"Blog","icon":"newspaper","href":"https://www.zeroentropy.dev/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"zeroentropy","hasAudioNarration":false,"actualSubdomain":"zeroentropy","customDomains":["docs.zeroentropy.dev"],"gitSource":{"type":"github","owner":"zeroentropy-ai","repo":"docs","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e656572b750f6b6f9fab","collectionId":"225e924e-4d36-409f-bad8-21b0833e7a0c","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e656572b750f6b6f9fab:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":15},{"language":"default","tag":"Documentation","count":12},{"language":"default","tag":"Get Started","count":12},{"language":"default","tag":"Documents","count":6},{"language":"default","tag":"Examples","count":5},{"language":"default","tag":"Queries","count":3},{"language":"default","tag":"Collections","count":3},{"language":"default","tag":"Models","count":2},{"language":"default","tag":"Status","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"quickstart","slug":"/quickstart","pageMetadata":{"title":"Quickstart","description":"Getting Started using the ZeroEntropy API","href":"/quickstart"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Getting Started using the ZeroEntropy API\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,Card,CodeBlock,CodeGroup,Heading,Info}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`3`,id:`create-and-export-your-api-key`,children:`Create and Export your API Key`}),`\n`,_jsx(Card,{title:`Create an API Key`,icon:`link`,href:`https://dashboard.zeroentropy.dev`,children:_jsx(_components.p,{children:`Start by creating an API Key on the dashboard, which you can use to store your API key and track your usage.`})}),`\n`,_jsx(_components.p,{children:`You can then store the API Key and export it as an environment variable in your development environment.`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`MacOS/Linux`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` ZEROENTROPY_API_KEY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your_api_key\"`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Windows`,numberOfLines:`1`,language:`powershell`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`powershell`,children:_jsxs(_components.code,{language:`powershell`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`setx ZEROENTROPY_API_KEY `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your_api_key\"`})]}),`\n`]})})})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`New accounts start on the free tier with rate limits sufficient for prototyping. Higher tiers start at $50/mo ā upgrade on the `,_jsx(_components.a,{href:`https://dashboard.zeroentropy.dev/billing`,children:`billing page`}),` or see `,_jsx(_components.a,{href:`/models#rate-limits`,children:`rate limits`}),` for details.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`getting-started`,children:`Getting Started`}),`\n`,_jsxs(_components.p,{children:[`After checking out the `,_jsx(_components.a,{href:`/core-concepts`,children:`Core Concepts`}),`, youāll be ready to use the API. We offer many different ways to access our API:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Using our official SDKs for `,_jsx(_components.a,{href:`https://pypi.org/project/zeroentropy/`,children:`Python`}),` and `,_jsx(_components.a,{href:`https://www.npmjs.com/package/zeroentropy`,children:`TypeScript / JavaScript`}),` as shown below.`]}),`\n`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Python`,numberOfLines:`1`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`pip install zeroentropy`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`TypeScript`,numberOfLines:`1`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`npm`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` install`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` zeroentropy`})]}),`\n`]})})})]}),`\n`,_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsxs(_components.li,{children:[`Using our `,_jsx(_components.a,{href:`/api-reference/`,children:`interactive API Reference`}),`. Simply drop your API Key into the āAuthorizationā button and use our interactive API to try it out.`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`You can copy example queries using cURL, Python, Javascript into your development environment.`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Using `,_jsx(_components.a,{href:`https://go.zeroentropy.dev/openapi.json`,children:`https://go.zeroentropy.dev/openapi.json`}),` to access the API through an API platform such as Thunder Client or Postman.`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`For example, in Postman, go to File -> Import, and then paste `,_jsx(_components.code,{children:`https://go.zeroentropy.dev/openapi.json`}),` into the prompt. Youāll have to set the `,_jsx(_components.code,{children:`bearerToken`}),` variable to your API Key.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Using our `,_jsx(_components.a,{href:`https://api.zeroentropy.dev/v1/docs`,children:`SwaggerUI`}),` interface, simply drop your API Key into āAuthorizeā button in the top-right corner.`]}),`\n`]}),`\n`,_jsxs(Accordion,{title:`EU Support`,id:`eu-support`,children:[_jsxs(_components.p,{children:[`If you need support for EU-based datacenters for compliance, you can create an EU-based API Key using our `,_jsx(_components.a,{href:`https://eu-dashboard.zeroentropy.dev/`,children:`EU Dashboard`}),`. Note the subdomain of `,_jsx(_components.code,{children:`eu-dashboard.`}),` rather than the US-based `,_jsx(_components.code,{children:`dashboard.`}),`. Similarly, you will want to set the `,_jsx(_components.code,{children:`base_url`}),` to `,_jsx(`br`,{}),_jsx(_components.code,{children:`https://eu-api.zeroentropy.dev/v1`}),`.`]}),_jsx(_components.p,{children:`Using the EU Dashboard and EU API Endpoints will ensure that all data is fully processed and stored within the EU.`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`When using our `,_jsx(_components.a,{href:`/api-reference/`,children:`interactive API Reference`}),`, you can select `,_jsx(`br`,{}),_jsx(_components.code,{children:`https://eu-api.zeroentropy.dev/v1`}),` in the dropdown menu at the top of each API request.`]}),`\n`,_jsxs(_components.li,{children:[`We also have a `,_jsx(_components.a,{href:`https://eu-api.zeroentropy.dev/v1/docs`,children:`SwaggerUI`}),` interface for our EU API, using the `,_jsx(_components.code,{children:`eu-api.`}),` subdomain.`]}),`\n`]})]}),`\n`,_jsx(Heading,{level:`3`,id:`send-your-first-query`,children:`Send your First Query`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Python`,numberOfLines:`32`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`32`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` zeroentropy `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ZeroEntropy`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` time`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`zclient `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ZeroEntropy()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Create a collection`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`collection `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` zclient.collections.add(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`collection_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"default\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Add a text file to the collection`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`document `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` zclient.documents.add(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` collection_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"default\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` path`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"docs/document.txt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` content`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"My favorite apple is the Granny Smith.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Wait until the document is indexed`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`while`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` status `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` zclient.documents.get_info(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`collection_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"default\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`path`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"docs/document.txt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` status.document.index_status `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"indexed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Document is indexed.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` break`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` time.sleep(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Query the collection`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` zclient.queries.top_documents(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` collection_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"default\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` query`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"What is the best apple?\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` k`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(response.results)`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`TypeScript`,numberOfLines:`40`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`40`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ZeroEntropy`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'zeroentropy'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` zclient`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` ZeroEntropy`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Create a collection`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` collection`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` zclient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`collections`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`add`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` collection_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"default\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Add a text file to the collection`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` document`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` zclient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`documents`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`add`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` collection_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"default\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` path:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"docs/document.txt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` content:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` text:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"My favorite apple is the Granny Smith.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Wait until the document is indexed`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` indexed`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` while`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`indexed`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` status`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` zclient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`documents`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getInfo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` collection_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"default\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` path:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"docs/document.txt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`index_status`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"indexed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Document is indexed.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` indexed`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Promise`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`resolve`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` =>`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` setTimeout`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`resolve`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`));`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Query the collection`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` zclient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`queries`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`topDocuments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` collection_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"default\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` query:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"What is the best apple?\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` k:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`results`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`3`,id:`prompt-your-llm-to-use-zeroentropy`,children:`Prompt your LLM to use ZeroEntropy`}),`\n`,_jsxs(Card,{title:`Prompt an LLM to use ZeroEntropy`,icon:`brain`,children:[_jsx(_components.p,{children:`Click this card to copy a prompt for using ZeroEntropy with your LLM. You can save it as a text file and reference it in tools like Cursor.`}),_jsx(CodeBlock,{filename:`copy`,numberOfLines:`355`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`355`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`ZeroEntropy SDK Helper`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### Description:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`ZeroEntropy is a state-of-the-art retrieval API for documents, pages, snippets and reranking. `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`It provides low-latency, high-accuracy search over your private corpus via a simple Python SDK.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`ZeroEntropy can be installed using:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tPython: pip install zeroentropy`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tNode.js: npm install zeroentropy`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### Client Usage`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`from zeroentropy import ZeroEntropy`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`client = ZeroEntropy(api_key=\"your_api_key\")`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Auth \u0026 Configuration:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`⢠ENV VARS read by SDK:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ZEROENTROPY_API_KEY `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Missing key triggers authentication error on instantiation.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Instantiate:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`from dotenv import load_dotenv `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`load_dotenv() `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`from zeroentropy import AsyncZeroEntropy, ConflictError, HTTPStatusError `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`zclient = AsyncZeroEntropy() # picks up ENV VARS`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### SDK Structure:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`All methods are async, grouped under:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` zclient.collections `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` zclient.documents `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` zclient.status `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` zclient.queries `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` zclient.models `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Each method returns structured responses defined by pydantic.BaseModel.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### Collections`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.collections.add(collection_name: str) -> None`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` Always specify a collection name using client.collections.add(collection_name=\"my_collection\")`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` If the collection already exists, it will be throw an error, so you need to check if the collection exists first.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.collections.get_list() -> List[str]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.collections.delete(collection_name: str) -> None`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### Documents`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.documents.add(collection_name: str, path: str, content, metadata: dict = None, overwrite: bool = False) -> None`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` The add method already handles parsing for PDFs etc. The content dict can take the following formats:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` content={\"type\":\"auto\", \"base64_data\":\"my_document.pdf\"} for a PDF, content={\"type\":\"text\", \"text\":\"my_document.pdf\"} for a text file, and content={\"type\":\"text-pages\", \"pages\":[ \"page 1 content\", \"page 2 content\"]} for pages of text.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` If the document already exists, it will be throw an error, so you need to check if the document exists first.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.documents.get_info(collection_name: str, path: str, include_content: bool = False) -> DocumentResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.documents.get_info_list(collection_name: str, limit: int = 1024, path_gt: Optional[str] = None) -> List[DocumentGetInfoListResponse]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.documents.update(collection_name: str, path: str, metadata: Optional[dict]) -> UpdateDocumentResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.documents.delete(collection_name: str, path: Union[str, List[str]]) -> DocumentDeleteResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### Queries`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.queries.top_documents(collection_name: str, query: str, k: int, filter: Optional[dict] = None, include_metadata: bool = False, latency_mode: str = \"low\") -> List[DocumentRetrievalResponse]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.queries.top_pages(collection_name: str, query: str, k: int, filter: Optional[dict] = None, include_content: bool = False, latency_mode: str = \"low\") -> List[PageRetrievalResponse]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.queries.top_snippets(collection_name: str, query: str, k: int, filter: Optional[dict] = None, precise_responses: bool = False) -> List[SnippetResponse]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### Status`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.status.get_status(collection_name: Optional[str] = None) -> StatusGetStatusResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### Models`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.models.embed(input: Union[str, List[str]], input_type: \"query\" | \"document\", model: str, dimensions: Optional[int] = None, encoding_format: \"float\" | \"base64\" = \"float\", latency: Optional[\"fast\" | \"slow\"] = None) -> ModelEmbedResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\tā¢\tclient.models.rerank(documents: List[str], model: str, query: str, top_n: Optional[int] = None) -> ModelRerankResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Common Patterns:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`1 Collections`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`try:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` await zclient.collections.add(collection_name=\"my_col\")`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`except ConflictError:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` pass`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`names = (await zclient.collections.get_list()).collection_names`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`await zclient.collections.delete(collection_name=\"my_col\")`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`2 Documents`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# Add text`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`await zclient.documents.add(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path=\"doc.txt\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` content={\"type\":\"text\",\"text\":text},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` metadata={\"source\":\"notes\"},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# Add PDF via OCR`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`b64 = base64.b64encode(open(path,\"rb\").read()).decode()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`await zclient.documents.add(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path=\"doc.pdf\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` content={\"type\":\"auto\",\"base64_data\":b64},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` metadata={\"type\":\"pdf\"},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# Add CSV lines`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`for i,line in enumerate(open(path).read().splitlines()):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` await zclient.documents.add(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path=f\"{path}_{i}\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` content={\"type\":\"text\",\"text\":line},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` metadata={\"type\":\"csv\"},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# Delete`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`await zclient.documents.delete(collection_name=\"col\", path=\"doc.txt\")`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# Get info (with optional content)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`info = await zclient.documents.get_info(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path=\"doc.txt\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` include_content=True`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`3 Update \u0026 Pagination`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# Update metadata or force re-index`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`await zclient.documents.update(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path=\"doc.txt\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` metadata={\"reviewed\":\"yes\"},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# List documents with pagination`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`resp = await zclient.documents.get_info_list(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` limit=100,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path_gt=\"doc_009.txt\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`for doc in resp.documents:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` print(doc.path, doc.index_status)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# Per-page info`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`page = await zclient.documents.get_page_info(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path=\"doc.pdf\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` page_index=2,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` include_content=True,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`4 Pure Parsing (OCR helper)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`pages = await zclient.documents.parse(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` base64_data=b64`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# returns list of page strings without indexing`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`5 Status (overall or per-collection)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`status_all = await zclient.status.get_status()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`status_col = await zclient.status.get_status(collection_name=\"col\")`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`6 Queries`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# Top K documents (kā¤2048), with filter, reranker, latency_mode`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`docs = await zclient.queries.top_documents(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` query=\"find insight\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` k=5,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` filter={\"type\":{\"$ne\":\"csv\"}},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` include_metadata=True,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` reranker=\"zerank-2\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` latency_mode=\"low\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# Top K pages (kā¤1024), include_content, latency_mode`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`pages = await zclient.queries.top_pages(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` query=\"overview\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` k=3,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` include_content=True,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` latency_mode=\"high\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# Top K snippets (kā¤128), precise or coarse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`snips = await zclient.queries.top_snippets(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` query=\"key method\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` k=5,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` precise_responses=True,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` include_document_metadata=True,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` reranker=\"zerank-2\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### Expected Response Models`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`All responses return structured BaseModel objects as follows:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`1. DocumentGetInfoResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Used in get_info()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`python`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class DocumentGetInfoResponse(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` document: Document`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class Document(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` id: str # UUID of the document`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name: str`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path: str`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` file_url: str # URL to download raw document`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` size: int # Raw document size in bytes`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` metadata: Dict[str, Union[str, List[str]]] # Metadata key-value pairs`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` index_status: str # Enum: \"not_parsed\", \"parsing\", \"not_indexed\", \"indexing\", \"indexed\", \"parsing_failed\", \"indexing_failed\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` num_pages: Optional[int] = None # Can be null`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:\" content: Optional[str] = None # Null unless `include_content=True`\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`2. DocumentUpdateResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Used in update()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`python`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class DocumentUpdateResponse(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` message: Optional[str] = None # \"Success!\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`3. DocumentRetrievalResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Used in top_documents()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`python`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class DocumentRetrievalResponse(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` results: List[Response] `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class Response(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path: str`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:\" metadata: Optional[Dict[str, Union[str, List[str]]]] = None # Null if `include_metadata=False`\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` score: float # Relevancy score`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`4. PageRetrievalResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Used in top_pages()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`python`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class PageRetrievalResponse(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` results: List[Response] `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class Response(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path: str # Document path`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` page_index: int # 0-indexed page number`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` score: float # Relevancy score`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:\" content: Optional[str] = None # Null if `include_content=False`\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`5. SnippetResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Used in top_snippets()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`python`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class SnippetResponse(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` results: List[Response] `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class Response(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path: str`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` start_index: int # Start character index of snippet`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` end_index: int # End character index of snippet`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` page_span: List[int] # (start_page, end_page) index range`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` content: Optional[str] = None # Snippet text`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` score: float # Relevancy score`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`6. StatusGetStatusResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Used in status.get_status()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`python`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class StatusGetStatusResponse(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` num_documents: int # Total document count`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` num_parsing_documents: int # Documents still being parsed`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` num_indexing_documents: int # Documents currently being indexed`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` num_indexed_documents: int # Successfully indexed documents`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` num_failed_documents: int # Documents that failed`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` num_indexed_bytes: int # Total UTF-8 encoded bytes indexed`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`7. ParseDocumentResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Used in parse_document()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`python`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class ParseDocumentResponse(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` pages: List[str] # List of extracted page contents`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`8. ModelEmbedResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Used in embed()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`python`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class ModelEmbedResponse(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` results: List[Result]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` usage: Usage`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class Result(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` embedding: Union[List[float], str] # float array or base64 string`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class Usage(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` total_bytes: int # For ratelimiting`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` total_tokens: int # For billing`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`9. ModelRerankResponse`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Used in rerank()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`python`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class ModelRerankResponse(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` results: List[Result]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` actual_latency_mode: str # \"fast\" or \"slow\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` e2e_latency: float # Total time in seconds`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` inference_latency: float`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` total_bytes: int`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` total_tokens: int`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`class Result(BaseModel):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` index: int # Index in original documents array`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` relevance_score: float # 0.0 to 1.0`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`All query endpoints support JSON filters:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### Additional Notes`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- LLM should always use these BaseModels when generating SDK-based responses.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Metadata Filtering`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` - Document metadata is always dict[str, str | list[str]].`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\t- Filters support operators: $eq, $ne, $gt, $gte, $lt, $lte (for equality and range queries).`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Responses will always match these structures unless otherwise stated.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Always include imports and load_dotenv(). `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Use proper async/await structure with asyncio.run(). `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Respect parameter limits and JSONāfilter syntax. `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Override base_url when targeting EU cluster. `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Wrap calls in try/except to handle ConflictError and HTTPStatusError.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`### Complete Async Example:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`import asyncio`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`from dotenv import load_dotenv`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`from zeroentropy import AsyncZeroEntropy, ConflictError, HTTPStatusError`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`import base64`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`load_dotenv()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`zclient = AsyncZeroEntropy()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`async def main():`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` try:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` await zclient.collections.add(collection_name=\"my_col\")`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` except ConflictError:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` pass`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` text = \"Hello ZeroEntropy\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` await zclient.documents.add(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"my_col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` path=\"hello.txt\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` content={\"type\":\"text\",\"text\":text},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` metadata={\"lang\":\"en\"},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` status = await zclient.status.get_status(collection_name=\"my_col\")`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` print(\"Indexed:\", status.num_indexed_documents)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` docs = await zclient.queries.top_documents(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` collection_name=\"my_col\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` query=\"Hello\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` k=1,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` include_metadata=True,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` print(docs.results)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`if __name__ == \"__main__\":`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` asyncio.run(main())`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Quickstart","description":"Getting Started using the ZeroEntropy API","href":"/quickstart"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Create and Export your API Key","slug":"create-and-export-your-api-key","depth":3,"children":[]},{"title":"Getting Started","slug":"getting-started","depth":3,"children":[]},{"title":"Send your First Query","slug":"send-your-first-query","depth":3,"children":[]},{"title":"Prompt your LLM to use ZeroEntropy","slug":"prompt-your-llm-to-use-zeroentropy","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"zeroentropy","siteName":"ZeroEntropy","title":"Quickstart - ZeroEntropy","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-23T21:33:10.837Z","originalFileLocation":"quickstart.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=\"description\" content=\"Getting Started using the ZeroEntropy API\">\u003cmeta data-mint-head name=\"application-name\" content=\"ZeroEntropy\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zeroentropy/5_rZbyFM3AN4lygt/_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/zeroentropy/5_rZbyFM3AN4lygt/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zeroentropy/5_rZbyFM3AN4lygt/_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/zeroentropy/5_rZbyFM3AN4lygt/_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/zeroentropy/5_rZbyFM3AN4lygt/_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/zeroentropy/5_rZbyFM3AN4lygt/_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/zeroentropy/5_rZbyFM3AN4lygt/_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/zeroentropy/5_rZbyFM3AN4lygt/_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/zeroentropy/5_rZbyFM3AN4lygt/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Quickstart - ZeroEntropy\">\u003cmeta data-mint-head property=\"og:description\" content=\"Getting Started using the ZeroEntropy API\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ZeroEntropy\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.zeroentropy.dev/quickstart\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://zeroentropy.mintlify.app/_mintlify/api/og/v2?division=Get+Started\u0026amp;title=Quickstart\u0026amp;description=Getting+Started+using+the+ZeroEntropy+API\u0026amp;theme=c9ad13182ecba320a6704ed8\u0026amp;signature=28674b0cb1c4b952352a904e5c06e98c25055d8be4637745a34211e68136f8b9\">\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=\"Quickstart - ZeroEntropy\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Getting Started using the ZeroEntropy API\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://zeroentropy.mintlify.app/_mintlify/api/og/v2?division=Get+Started\u0026amp;title=Quickstart\u0026amp;description=Getting+Started+using+the+ZeroEntropy+API\u0026amp;theme=c9ad13182ecba320a6704ed8\u0026amp;signature=28674b0cb1c4b952352a904e5c06e98c25055d8be4637745a34211e68136f8b9\">\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/zeroentropy/5_rZbyFM3AN4lygt/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ZeroEntropy\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4594FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.zeroentropy.dev/quickstart\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/quickstart.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.zeroentropy.dev/#organization\",\"name\":\"ZeroEntropy\",\"url\":\"https://docs.zeroentropy.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/zeroentropy/vsoWdCzEUkYmTkNx/logo/light.svg?fit=max\u0026auto=format\u0026n=vsoWdCzEUkYmTkNx\u0026q=85\u0026s=883fffb78ee34586b7a4f0388d52b135\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.zeroentropy.dev#website\",\"name\":\"ZeroEntropy\",\"url\":\"https://docs.zeroentropy.dev\",\"publisher\":{\"@id\":\"https://docs.zeroentropy.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.zeroentropy.dev/quickstart#webpage\",\"url\":\"https://docs.zeroentropy.dev/quickstart\",\"name\":\"Quickstart\",\"description\":\"Getting Started using the ZeroEntropy API\",\"dateModified\":\"2026-04-23T21:33:10.837Z\",\"isPartOf\":{\"@id\":\"https://docs.zeroentropy.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.zeroentropy.dev/quickstart#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.zeroentropy.dev/quickstart#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Get Started\",\"item\":\"https://docs.zeroentropy.dev/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quickstart\",\"item\":\"https://docs.zeroentropy.dev/quickstart\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.zeroentropy.dev/quickstart#article\",\"headline\":\"Quickstart\",\"name\":\"Quickstart\",\"description\":\"Getting Started using the ZeroEntropy API\",\"url\":\"https://docs.zeroentropy.dev/quickstart\",\"mainEntityOfPage\":{\"@id\":\"https://docs.zeroentropy.dev/quickstart#webpage\"},\"dateModified\":\"2026-04-23T21:33:10.837Z\",\"publisher\":{\"@id\":\"https://docs.zeroentropy.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.zeroentropy.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ZeroEntropy\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ZeroEntropy","nav":{"global":{"anchors":[{"anchor":"Home page","icon":"house","href":"https://zeroentropy.dev"},{"anchor":"Dashboard","icon":"gauge","href":"https://dashboard.zeroentropy.dev"},{"anchor":"Slack Community","icon":"Slack","href":"https://go.zeroentropy.dev/slack"},{"anchor":"Discord Community","icon":"Discord","href":"https://go.zeroentropy.dev/discord"},{"anchor":"Blog","icon":"newspaper","href":"https://www.zeroentropy.dev/blog"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Core Concepts","description":"Understand the core concepts behind ZeroEntropy ā our models and end-to-end search engine.","href":"/core-concepts"},{"title":"Quickstart","href":"/quickstart"},{"title":"Models","description":"Using Embedding and Reranking Models Developed by ZeroEntropy","href":"/models"},{"title":"Search Engine","href":"/zsearch"},{"group":"Examples","pages":[{"title":"Set Up","href":"/examples/setup"},{"title":"Upload","href":"/examples/upload"},{"title":"Query","href":"/examples/query"},{"title":"Embed","href":"/examples/embed"},{"title":"Rerank","href":"/examples/rerank"}]},{"title":"Metadata Filtering","href":"/metadata-filtering"},{"title":"Architecture","href":"/architecture"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/models/rerank"}]}]},"basePath":"","title":"Quickstart - ZeroEntropy","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["10e4515597"],"chunks":["BannerMarkdown-CX_qQQOL.js","dist-BTZUMDnx.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-xpJZXxdP.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}