This tutorial will show you how to secure your Meilisearch project.
This tutorial will show you how to secure your Meilisearch project. You will see how to manage your master key and how to safely send requests to the Meilisearch API using an API key.
Meilisearch Cloud automatically generates a master key for each project. This means Meilisearch Cloud projects are secure by default.You can view your master key by visiting your project settings, then clicking “API Keys” on the sidebar:
Meilisearch will launch as usual. The start up log should include a message informing you the instance is protected:
A master key has been set. Requests to Meilisearch won't be authorized unless you provide an authentication key.
If you supplied an insecure key, Meilisearch will display a warning and suggest you relaunch your instance with an autogenerated alternative:
We generated a new secure master key for you (you can safely use this token):>> --master-key E8H-DDQUGhZhFWhTq263Ohd80UErhFmLIFnlQK81oeQ <<Restart Meilisearch with the argument above to use this new and secure master key.
When your project is protected, Meilisearch automatically generates four API keys: Default Search API Key, Default Admin API Key, Default Read-Only Admin API Key, and Default Chat API Key. API keys are authorization tokens designed to safely communicate with the Meilisearch API.
MeilisearchClient client = new MeilisearchClient("MEILISEARCH_URL", "masterKey");var keys = await client.GetKeysAsync();
let client = Client::new("MEILISEARCH_URL", Some("MASTER_KEY")); let keys = client .get_keys() .await .unwrap();
client = try MeiliSearch(host: "MEILISEARCH_URL", apiKey: "masterKey")client.getKeys { result in switch result { case .success(let keys): print(keys) case .failure(let error): print(error) }}
var client = MeiliSearchClient('MEILISEARCH_URL', 'masterKey');await client.getKeys();
Only use the master key to manage API keys. Never use the master key to perform searches or other common operations.
Meilisearch’s response will include at least the default API keys:
{ "results": [ { "name": "Default Search API Key", "description": "Use it to search from the frontend", "key": "0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33", "uid": "74c9c733-3368-4738-bbe5-1d18a5fecb37", "actions": [ "search" ], "indexes": [ "*" ], "expiresAt": null, "createdAt": "2024-01-25T16:19:53.949636Z", "updatedAt": "2024-01-25T16:19:53.949636Z" }, { "name": "Default Admin API Key", "description": "Use it for anything that is not a search operation. Caution! Do not expose it on a public frontend", "key": "62cdb7020ff920e5aa642c3d4066950dd1f01f4d", "uid": "20f7e4c4-612c-4dd1-b783-7934cc038213", "actions": [ "*" ], "indexes": [ "*" ], "expiresAt": null, "createdAt": "2024-01-25T16:19:53.94816Z", "updatedAt": "2024-01-25T16:19:53.94816Z" }, { "name": "Default Read-Only Admin API Key", "description": "Use it to read information across the whole database. Caution! Do not expose this key on a public frontend", "key": "9e32fb64e3569a749b0b87900d1026074e798743", "uid": "7dc1ec09-94fb-49b5-b77b-03ce75af89a0", "actions": [ "*.get", "keys.get" ], "indexes": [ "*" ], "expiresAt": null, "createdAt": "2024-01-25T16:19:53.94716Z", "updatedAt": "2024-01-25T16:19:53.94716Z" }, { "name": "Default Chat API Key", "description": "Use it to chat and search from the frontend", "key": "0acaa4f3d57517e4b4d7c0052b02772620bd375a", "uid": "d4e13ace-2a00-428c-90d1-b1c99eec98bd", "actions": [ "chatCompletions", "search" ], "indexes": [ "*" ], "expiresAt": null, "createdAt": "2024-01-25T16:19:53.94606Z", "updatedAt": "2024-01-25T16:19:53.94606Z" } ], …}
Now you have your API keys, you can safely query the Meilisearch API. Add API keys to requests using an Authorization bearer token header.Use the Default Admin API Key to perform sensitive operations, such as creating a new index:
Meilisearch provides two admin API keys for managing your instance:
The Default Admin API Key grants full access to all Meilisearch operations except API key management. Use it to configure index settings, add documents, and perform other administrative tasks.
The Default Read-Only Admin API Key allows read-only access to the whole database. Use it when you need to retrieve information from your Meilisearch instance without being able to modify it.
Do not expose admin API keys on a public frontend.
The Default Chat API Key is designed for frontend usage with the Chats API. It has access to both search and chatCompletions actions, allowing users to both perform searches and interact with the chat completions feature.
You have successfully secured Meilisearch by configuring a master key. You then saw how to access the Meilisearch API by adding an API key to your request’s authorization header.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Meilisearch Documentation","colors":{"primary":"#FF5CB2","light":"#FF5CB2","dark":"#FF5CB2"},"logo":{"light":"https://mintcdn.com/meilisearch-6b28dec2/YRn82YKcWv02OWrg/assets/repo/meilisearch-logo-light.svg?fit=max\u0026auto=format\u0026n=YRn82YKcWv02OWrg\u0026q=85\u0026s=331f9ce2d1f557db3b679795f4707aa5","dark":"https://mintcdn.com/meilisearch-6b28dec2/YRn82YKcWv02OWrg/assets/repo/meilisearch-logo-dark.svg?fit=max\u0026auto=format\u0026n=YRn82YKcWv02OWrg\u0026q=85\u0026s=81634cdd715f6f159c69841b5d539d5a"},"favicon":"https://mintcdn.com/meilisearch-6b28dec2/YRn82YKcWv02OWrg/assets/repo/favicon.svg?fit=max\u0026auto=format\u0026n=YRn82YKcWv02OWrg\u0026q=85\u0026s=33f47c7e13dd4d7005f570f6299328a5","api":{"playground":{"display":"simple"}},"appearance":{"default":"dark"},"background":{"decoration":"grid","color":{"light":"#F7F7F7","dark":"#1A003B"}},"navbar":{"links":[{"href":"https://www.meilisearch.com","label":"Website"},{"href":"https://github.com/meilisearch/meilisearch","label":"GitHub"},{"href":"https://discord.meilisearch.com/","label":"Discord"}],"primary":{"type":"button","label":"Start a trial","href":"https://cloud.meilisearch.com"}},"footer":{"socials":{"x":"https://x.com/meilisearch","github":"https://github.com/meilisearch","linkedin":"https://www.linkedin.com/company/meilisearch","website":"https://www.meilisearch.com"},"links":[{"header":"Product","items":[{"label":"Meilisearch Cloud","href":"https://www.meilisearch.com/cloud"},{"label":"AI search","href":"https://www.meilisearch.com/solutions/hybrid-search"},{"label":"Pricing","href":"https://www.meilisearch.com/pricing"},{"label":"Documentation","href":"https://www.meilisearch.com/docs"},{"label":"Roadmap","href":"https://roadmap.meilisearch.com"},{"label":"Release notes","href":"https://updates.cloud.meilisearch.com/"},{"label":"Comparisons","href":"https://www.meilisearch.com/docs/resources/comparisons/alternatives"},{"label":"Trust center","href":"https://trust.meilisearch.com/"}]},{"header":"Contact us","items":[{"label":"GitHub","href":"https://github.com/meilisearch"},{"label":"Discord","href":"https://discord.gg/meilisearch"},{"label":"Newsletter","href":"https://share-eu1.hsforms.com/1LN5N0x_GQgq7ss7tXmSykwfg3aq"},{"label":"Helpdesk","href":"https://help.meilisearch.com/"}]},{"header":"Company","items":[{"label":"Blog","href":"https://meilisearch.com/blog"},{"label":"Customers","href":"https://www.meilisearch.com/customers"},{"label":"Careers","href":"https://www.meilisearch.com/careers"},{"label":"Code of Conduct","href":"https://github.com/meilisearch/MeiliSearch/blob/main/CODE_OF_CONDUCT.md"},{"label":"Privacy Policy","href":"https://www.meilisearch.com/privacy-policy"},{"label":"Terms of Use","href":"https://www.meilisearch.com/terms-of-use"},{"label":"Swag","href":"https://swag.meilisearch.com/"}]}]},"seo":{"metatags":{"canonical":"https://www.meilisearch.com/docs"}},"integrations":{"fathom":{"siteId":"QNBPJXIV"},"gtm":{"tagId":"GTM-TNSCGVBH"},"posthog":{"apiKey":"phc_D5VtJkw6WyBzLtZ5tBvwR7ac4LvQZdFGYQTQfegRjh9n","apiHost":"https://t.meilisearch.com","sessionRecording":true},"segment":{"key":"KIC0Lcb5C9ssRY79dUKPOK8Wq6wLHiUP"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"meilisearch-6b28dec2","hasAudioNarration":false,"actualSubdomain":"meilisearch-6b28dec2","customDomains":["www.meilisearch.com","meilisearch.dev"],"gitSource":{"type":"github","owner":"meilisearch","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae1c4838e4709662983cc24","collectionId":"668baffb-e41e-4284-8a34-083961efc684","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1c4838e4709662983cc24"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae9991ffcc3ca26f7fefa92","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Capabilities","count":168},{"language":"default","tag":"Reference","count":150},{"language":"default","tag":"API Routes","count":143},{"language":"default","tag":"Resources","count":89},{"language":"default","tag":"Settings","count":69},{"language":"default","tag":"How to","count":62},{"language":"default","tag":"Getting started","count":52},{"language":"default","tag":"Advanced","count":30},{"language":"default","tag":"Self-hosting","count":29},{"language":"default","tag":"Platform","count":27}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".dark\\:text-gray-400:is(.dark *){color:rgb(var(--gray-300))}#navigation-items h5{text-transform:uppercase}.callout h2,.callout h3,.callout h4,.callout h5,.callout h6{color:inherit}.noticeTag{color:rgb(var(--primary-light));border:1px solid rgb(var(--primary-light));padding:0 .5em;margin-left:.25em;display:inline-block;border-radius:5px;font-size:.8em}.routeHighlighter{--route-highlighter-color:rgba(100, 100, 100, 0.35);display:flex;border-radius:.375rem;border:1px var(--route-highlighter-color) solid;padding:1rem;gap:2rem;align-items:center;overflow:scroll}.routeHighlighter--GET{--route-highlighter-color:oklch(0.792 0.209 151.711)}.routeHighlighter--POST{--route-highlighter-color:oklch(0.623 0.214 259.815)}.routeHighlighter--DELETE{--route-highlighter-color:oklch(63.7% 0.237 25.331)}.routeHighlighter--PATCH,.routeHighlighter--PUT{--route-highlighter-color:oklch(0.828 0.189 84.429)}.routeHighlighter__method{font-weight:700;color:var(--route-highlighter-color)}.routeHighlighter__path{font-family:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace}"},{"filePath":"meilisearch-search-bar.css","content":".meilisearch-bar-container{max-width:480px;width:100%;margin:0 auto;padding:0 10px}.meilisearch-search-bar{background-color:#fff;color:rgba(25,25,25,.7);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;border-radius:12px;padding:8px 16px;cursor:pointer;width:100%;transition:all .2s ease;backdrop-filter:blur(8px);font-size:14px}.dark .meilisearch-search-bar{background-color:rgba(25,17,53,.5);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.1)}.meilisearch-search-bar__text{flex-grow:1}.meilisearch-search-bar__shortcut{opacity:.7;font-size:12px}.meilisearch-flexwrapper{display:flex;justify-content:center;align-items:center;width:100%}.meilisearch-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;backdrop-filter:blur(8px);background-color:rgba(0,0,0,.4);z-index:9999;display:none;align-items:flex-start;justify-content:center;padding-top:0;box-sizing:border-box}.meilisearch-modal{background-color:#fff;border:1px solid rgba(0,0,0,.5);width:600px;max-width:90%;max-height:80vh;margin-top:70px;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}.dark .meilisearch-modal{background-color:#1a1033;border:1px solid rgba(255,255,255,.1)}.meilisearch-modal__input-container{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.1)}.dark .meilisearch-modal__input-container{border-bottom:1px solid rgba(255,255,255,.1)}.meilisearch-modal__input{background:0 0;border:0;font-size:16px;outline:0;width:100%;margin-right:10px;color:rgb(var(--gray-700))}.dark .meilisearch-modal__input{color:rgb(var(--gray-100))}.meilisearch-modal__escape{font-size:12px;padding:4px 8px;border-radius:4px;margin-left:auto;background-color:rgba(0,0,0,.1)}.dark .meilisearch-modal__escape{color:rgba(255,255,255,.5);background-color:rgba(255,255,255,.1)}.meilisearch-modal__results{flex-grow:1;overflow-y:auto;padding:0}.meilisearch-modal__indicator{padding:20px;text-align:center}.dark .meilisearch-modal__indicator{color:rgba(255,255,255,.7)}.meilisearch-modal__result{display:block;padding:12px 20px;text-decoration:none;border-left:3px solid transparent;transition:background-color .2s,border-color .2s}.dark .meilisearch-modal__result{color:#fff}.meilisearch-modal__result:hover{background-color:rgba(0,0,0,.05);border-left-color:#f472b6}.dark .meilisearch-modal__result:hover{background-color:rgba(255,255,255,.05)}.meilisearch-modal__category-header{padding:12px 20px 8px;font-size:14px;font-weight:600;text-transform:uppercase;color:rgba(0,0,0,.45)}.dark .meilisearch-modal__category-header{color:rgba(255,255,255,.5)}.meilisearch-modal__result-heading{font-weight:500;margin-bottom:4px}.meilisearch-modal__result-content{font-size:13px;color:rgba(0,0,0,.45)}.dark .meilisearch-modal__result-content{color:rgba(255,255,255,.6)}.meilisearch-modal__category-em{font-style:normal;color:#f472b6;font-weight:700}.meilisearch-modal__error{padding:20px;text-align:center;color:#f87171}.meilisearch-filter-container{padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.1);background-color:rgba(0,0,0,.02)}.dark .meilisearch-filter-container{border-bottom:1px solid rgba(255,255,255,.1);background-color:rgba(255,255,255,.02)}.meilisearch-filter-title{font-size:14px;font-weight:500;color:rgba(0,0,0,.7);margin-bottom:12px}.dark .meilisearch-filter-title{color:rgba(255,255,255,.7)}.meilisearch-filter-tags{display:flex;flex-wrap:wrap;gap:8px}.meilisearch-filter-tag{background-color:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.1);border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;color:rgba(0,0,0,.7);cursor:pointer;transition:all .2s ease;text-transform:capitalize}.dark .meilisearch-filter-tag{background-color:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.7)}.meilisearch-filter-tag:hover{background-color:rgba(0,0,0,.1);border-color:rgba(0,0,0,.2)}.dark .meilisearch-filter-tag:hover{background-color:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.meilisearch-filter-tag.active{background-color:#f472b6;border-color:#f472b6;color:#fff}.meilisearch-filter-tag.active:hover{background-color:#cb4d86;border-color:#cb4d86}"}],"page":{"pagePath":"resources/self_hosting/security/basic_security","slug":"/resources/self_hosting/security/basic_security","pageMetadata":{"title":"Securing your project","sidebarTitle":"Securing your project","description":"This tutorial will show you how to secure your Meilisearch project.","href":"/resources/self_hosting/security/basic_security"},"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: \"This tutorial will show you how to secure your Meilisearch project.\"\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`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Frame,Heading,OptimizedImage,Tab,Tabs,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This tutorial will show you how to secure your Meilisearch project. You will see how to manage your master key and how to safely send requests to the Meilisearch API using an API key.`}),`\n`,_jsx(Heading,{level:`2`,id:`creating-the-master-key`,children:`Creating the master key`}),`\n`,_jsx(_components.p,{children:`The master key is the first and most important step to secure your Meilisearch project.`}),`\n`,_jsx(Heading,{level:`3`,id:`creating-the-master-key-in-meilisearch-cloud`,children:`Creating the master key in Meilisearch Cloud`}),`\n`,_jsx(_components.p,{children:`Meilisearch Cloud automatically generates a master key for each project. This means Meilisearch Cloud projects are secure by default.`}),`\n`,_jsx(_components.p,{children:`You can view your master key by visiting your project settings, then clicking “API Keys” on the sidebar:`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=40a99ee767aded0f531c51662260f709`,alt:`An interface element named 'API keys' showing obscured security keys including: 'Master key', 'Default Search API Key', and 'Default Admin API Key'`,\"data-og-width\":`1356`,width:`1356`,\"data-og-height\":`694`,height:`694`,\"data-path\":`assets/images/security/01-master-api-keys.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=280\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=11613845b13d8e618b04ed52c82a8d83 280w, https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=560\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=0c223c64b31ac18bc6d38c4fc9fa1783 560w, https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=840\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=89b4ebd7c2440a0fa0fd7e12511b998f 840w, https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=931cb3adbdc6129f39fac32567dbcbb1 1100w, https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=6a958a1717d9fe2a89a023d1e958dca0 1650w, https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=04373f15dcd2ced80236785193370c3e 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`creating-the-master-key-in-a-self-hosted-instance`,children:`Creating the master key in a self-hosted instance`}),`\n`,_jsxs(_components.p,{children:[`To protect your self-hosted instance, relaunch it using the `,_jsx(_components.code,{children:`--master-key`}),` command-line option or the `,_jsx(_components.code,{children:`MEILI_MASTER_KEY`}),` environment variable:`]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`CLI`,id:`cli`,children:_jsx(CodeBlock,{filename:``,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:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./meilisearch`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --master-key=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MASTER_KEY\"`})]}),`\n`]})})})}),_jsxs(Tab,{title:`Environment variable`,id:`environment-variable`,children:[_jsx(_components.p,{children:`UNIX:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,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:`2`,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:` MEILI_MASTER_KEY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MASTER_KEY\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./meilisearch`})}),`\n`]})})}),_jsx(_components.p,{children:`Windows:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,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:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`set`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` MEILI_MASTER_KEY=\"MASTER_KEY\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./meilisearch`})}),`\n`]})})})]})]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:`The master key must be at least 16-bytes-long and composed of valid UTF-8 characters. Use one of the following tools to generate a secure master key:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.digitalocean.com/community/tutorials/workflow-command-line-basics-generating-uuids`,children:_jsx(_components.code,{children:`uuidgen`})})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.openssl.org/docs/man1.0.2/man1/rand.html`,children:_jsx(_components.code,{children:`openssl rand`})})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.commandlinux.com/man-page/man1/shasum.1.html`,children:_jsx(_components.code,{children:`shasum`})})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://randomkeygen.com/`,children:`randomkeygen.com`})}),`\n`]})]}),`\n`,_jsx(_components.p,{children:`Meilisearch will launch as usual. The start up log should include a message informing you the instance is protected:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,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:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`A master key has been set. Requests to Meilisearch won't be authorized unless you provide an authentication key.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`If you supplied an insecure key, Meilisearch will display a warning and suggest you relaunch your instance with an autogenerated alternative:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`6`,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:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`We generated a new secure master key for you (you can safely use this token):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`>> --master-key E8H-DDQUGhZhFWhTq263Ohd80UErhFmLIFnlQK81oeQ \u003c\u003c`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Restart Meilisearch with the argument above to use this new and secure master key.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`obtaining-api-keys`,children:`Obtaining API keys`}),`\n`,_jsxs(_components.p,{children:[`When your project is protected, Meilisearch automatically generates four API keys: `,_jsx(_components.code,{children:`Default Search API Key`}),`, `,_jsx(_components.code,{children:`Default Admin API Key`}),`, `,_jsx(_components.code,{children:`Default Read-Only Admin API Key`}),`, and `,_jsx(_components.code,{children:`Default Chat API Key`}),`. API keys are authorization tokens designed to safely communicate with the Meilisearch API.`]}),`\n`,_jsx(Heading,{level:`3`,id:`obtaining-api-keys-in-meilisearch-cloud`,children:`Obtaining API keys in Meilisearch Cloud`}),`\n`,_jsx(_components.p,{children:`Find your API keys by visiting your project settings, then clicking “API Keys” on the sidebar:`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=40a99ee767aded0f531c51662260f709`,alt:`An interface element named 'API keys' showing three obscured keys: 'Master key', 'Default Search API Key', and 'Default Admin API Key'`,\"data-og-width\":`1356`,width:`1356`,\"data-og-height\":`694`,height:`694`,\"data-path\":`assets/images/security/01-master-api-keys.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=280\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=11613845b13d8e618b04ed52c82a8d83 280w, https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=560\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=0c223c64b31ac18bc6d38c4fc9fa1783 560w, https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=840\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=89b4ebd7c2440a0fa0fd7e12511b998f 840w, https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=931cb3adbdc6129f39fac32567dbcbb1 1100w, https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=6a958a1717d9fe2a89a023d1e958dca0 1650w, https://mintcdn.com/meilisearch-6b28dec2/pdzkg8J6JAejKYyu/assets/images/security/01-master-api-keys.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pdzkg8J6JAejKYyu\u0026q=85\u0026s=04373f15dcd2ced80236785193370c3e 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`obtaining-api-keys-in-a-self-hosted-instance`,children:`Obtaining API keys in a self-hosted instance`}),`\n`,_jsxs(_components.p,{children:[`Use your master key to query the `,_jsx(_components.code,{children:`/keys`}),` endpoint to view all API keys in your instance:`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`3`,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:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` GET`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'MEILISEARCH_URL/keys'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer MASTER_KEY'`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`JS`,numberOfLines:`2`,language:`javascript`,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:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`2`,children:[_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:` client`}),_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:` MeiliSearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`host:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'MEILISEARCH_URL'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`apiKey:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'masterKey'`}),_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:`client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getKeys`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`2`,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:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Client(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'MEILISEARCH_URL'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'masterKey'`}),_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:`client.get_keys()`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`PHP`,numberOfLines:`2`,language:`php`,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:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$client`}),_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:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'MEILISEARCH_URL'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'masterKey'`}),_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:`$client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getKeys`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Java`,numberOfLines:`2`,language:`java`,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:`java`,children:_jsxs(_components.code,{language:`java`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`Client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` Client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` Config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MEILISEARCH_URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"masterKey\"`}),_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:`client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getKeys`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Ruby`,numberOfLines:`2`,language:`ruby`,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:`ruby`,children:_jsxs(_components.code,{language:`ruby`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` MeiliSearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`::`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'MEILISEARCH_URL'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'masterKey'`}),_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:`client.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`keys`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Go`,numberOfLines:`2`,language:`go`,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:`go`,children:_jsxs(_components.code,{language:`go`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` meilisearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`New`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MEILISEARCH_URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`meilisearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`WithAPIKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"masterKey\"`}),_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:`client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`GetKeys`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`nil`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`C#`,numberOfLines:`2`,language:`csharp`,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:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`MeilisearchClient`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_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:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` MeilisearchClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MEILISEARCH_URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"masterKey\"`}),_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:`var`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` keys`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`GetKeysAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Rust`,numberOfLines:`1`,language:`rust`,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:`rust`,children:_jsxs(_components.code,{language:`rust`,numberOfLines:`1`,children:[_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:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MEILISEARCH_URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`Some`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MASTER_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)); `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` keys`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`get_keys`}),_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:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`unwrap`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Swift`,numberOfLines:`9`,language:`swift`,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:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` try`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` MeiliSearch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`host`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MEILISEARCH_URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`apiKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"masterKey\"`}),_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:`client.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`getKeys`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` switch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` result {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` case`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`success`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` keys)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--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:`(keys)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` case`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`failure`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` error)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--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:`(error)`})]}),`\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(CodeBlock,{filename:`Dart`,numberOfLines:`2`,language:`dart`,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:`dart`,children:_jsxs(_components.code,{language:`dart`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` MeiliSearchClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'MEILISEARCH_URL'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'masterKey'`}),_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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getKeys`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Only use the master key to manage API keys. Never use the master key to perform searches or other common operations.`})}),`\n`,_jsx(_components.p,{children:`Meilisearch’s response will include at least the default API keys:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`67`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`67`,children:[_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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"results\"`}),_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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Default Search API Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Use it to search from the frontend\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"uid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"74c9c733-3368-4738-bbe5-1d18a5fecb37\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"actions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"search\"`})}),`\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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"indexes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expiresAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-01-25T16:19:53.949636Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"updatedAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-01-25T16:19:53.949636Z\"`})]}),`\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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Default Admin API Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Use it for anything that is not a search operation. Caution! Do not expose it on a public frontend\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"62cdb7020ff920e5aa642c3d4066950dd1f01f4d\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"uid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"20f7e4c4-612c-4dd1-b783-7934cc038213\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"actions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"indexes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expiresAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-01-25T16:19:53.94816Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"updatedAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-01-25T16:19:53.94816Z\"`})]}),`\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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Default Read-Only Admin API Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Use it to read information across the whole database. Caution! Do not expose this key on a public frontend\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"9e32fb64e3569a749b0b87900d1026074e798743\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"uid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"7dc1ec09-94fb-49b5-b77b-03ce75af89a0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"actions\"`}),_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:` \"*.get\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"keys.get\"`})}),`\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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"indexes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expiresAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-01-25T16:19:53.94716Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"updatedAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-01-25T16:19:53.94716Z\"`})]}),`\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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Default Chat API Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Use it to chat and search from the frontend\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0acaa4f3d57517e4b4d7c0052b02772620bd375a\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"uid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"d4e13ace-2a00-428c-90d1-b1c99eec98bd\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"actions\"`}),_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:` \"chatCompletions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"search\"`})}),`\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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"indexes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expiresAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-01-25T16:19:53.94606Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"updatedAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-01-25T16:19:53.94606Z\"`})]}),`\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`,children:_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` …`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`sending-secure-api-requests-to-meilisearch`,children:`Sending secure API requests to Meilisearch`}),`\n`,_jsxs(_components.p,{children:[`Now you have your API keys, you can safely query the Meilisearch API. Add API keys to requests using an `,_jsx(_components.code,{children:`Authorization`}),` bearer token header.`]}),`\n`,_jsxs(_components.p,{children:[`Use the `,_jsx(_components.code,{children:`Default Admin API Key`}),` to perform sensitive operations, such as creating a new index:`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`8`,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:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'MEILISEARCH_URL/indexes'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer DEFAULT_ADMIN_API_KEY'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-binary`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"uid\": \"medical_records\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"primaryKey\": \"id\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Rust`,numberOfLines:`5`,language:`rust`,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:`rust`,children:_jsxs(_components.code,{language:`rust`,numberOfLines:`5`,children:[_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:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MEILISEARCH_URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`Some`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"DEFAULT_ADMIN_API_KEY\"`}),_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:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` task`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create_index`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"medical_records\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`Some`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"id\"`}),_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\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`unwrap`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[`Then use the `,_jsx(_components.code,{children:`Default Search API Key`}),` to perform search operations in the index you just created:`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`5`,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:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'MEILISEARCH_URL/indexes/medical_records/search'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer DEFAULT_SEARCH_API_KEY'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-binary`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{ \"q\": \"appointments\" }'`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Rust`,numberOfLines:`8`,language:`rust`,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:`rust`,children:_jsxs(_components.code,{language:`rust`,numberOfLines:`8`,children:[_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:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MEILISEARCH_URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`Some`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"DEFAULT_SEARCH_API_KEY\"`}),_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:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` index`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`index`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"medical_records\"`}),_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\":`#9CDCFE`},children:`index`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`search`}),_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\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`with_query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"appointments\"`}),_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\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`execute`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`MedicalRecord`}),_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\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`unwrap`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`3`,id:`admin-api-keys`,children:`Admin API keys`}),`\n`,_jsx(_components.p,{children:`Meilisearch provides two admin API keys for managing your instance:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.code,{children:`Default Admin API Key`}),` grants full access to all Meilisearch operations except API key management. Use it to configure index settings, add documents, and perform other administrative tasks.`]}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.code,{children:`Default Read-Only Admin API Key`}),` allows read-only access to the whole database. Use it when you need to retrieve information from your Meilisearch instance without being able to modify it.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Do not expose admin API keys on a public frontend.`})}),`\n`,_jsx(Heading,{level:`3`,id:`chat-api-key`,children:`Chat API key`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`Default Chat API Key`}),` is designed for frontend usage with the `,_jsx(_components.a,{href:`/capabilities/agentic_search/advanced/chats_api#find-your-chat-api-key`,children:`Chats API`}),`. It has access to both `,_jsx(_components.code,{children:`search`}),` and `,_jsx(_components.code,{children:`chatCompletions`}),` actions, allowing users to both perform searches and interact with the chat completions feature.`]}),`\n`,_jsx(Heading,{level:`2`,id:`conclusion`,children:`Conclusion`}),`\n`,_jsx(_components.p,{children:`You have successfully secured Meilisearch by configuring a master key. You then saw how to access the Meilisearch API by adding an API key to your request’s authorization header.`})]})}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":"Securing your project","sidebarTitle":"Securing your project","description":"This tutorial will show you how to secure your Meilisearch project.","href":"/resources/self_hosting/security/basic_security"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Creating the master key","slug":"creating-the-master-key","depth":2,"children":[{"title":"Creating the master key in Meilisearch Cloud","slug":"creating-the-master-key-in-meilisearch-cloud","depth":3,"children":[]},{"title":"Creating the master key in a self-hosted instance","slug":"creating-the-master-key-in-a-self-hosted-instance","depth":3,"children":[]}]},{"title":"Obtaining API keys","slug":"obtaining-api-keys","depth":2,"children":[{"title":"Obtaining API keys in Meilisearch Cloud","slug":"obtaining-api-keys-in-meilisearch-cloud","depth":3,"children":[]},{"title":"Obtaining API keys in a self-hosted instance","slug":"obtaining-api-keys-in-a-self-hosted-instance","depth":3,"children":[]}]},{"title":"Sending secure API requests to Meilisearch","slug":"sending-secure-api-requests-to-meilisearch","depth":2,"children":[{"title":"Admin API keys","slug":"admin-api-keys","depth":3,"children":[]},{"title":"Chat API key","slug":"chat-api-key","depth":3,"children":[]}]},{"title":"Conclusion","slug":"conclusion","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/meilisearch-6b28dec2/c598d5c5cb296702/search.js","/docs/_mintlify/custom/meilisearch-6b28dec2/92f00249b2342156/cookieyes-banner.js","/docs/_mintlify/custom/meilisearch-6b28dec2/7302b02a474aa050/fathom-data-attr.js","/docs/_mintlify/custom/meilisearch-6b28dec2/85493af1bed6e7fb/gtm.js"],"subdomain":"meilisearch-6b28dec2","siteName":"Meilisearch Documentation","title":"Securing your project - Meilisearch Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-08T10:06:58.449Z","originalFileLocation":"resources/self_hosting/security/basic_security.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=\"dark\"}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=\"This tutorial will show you how to secure your Meilisearch project.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Meilisearch Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/meilisearch-6b28dec2/6t6RePI0bXwGcKSs/_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=\"/docs/mintlify-assets/_mintlify/favicons/meilisearch-6b28dec2/6t6RePI0bXwGcKSs/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/meilisearch-6b28dec2/6t6RePI0bXwGcKSs/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/meilisearch-6b28dec2/6t6RePI0bXwGcKSs/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/meilisearch-6b28dec2/6t6RePI0bXwGcKSs/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/meilisearch-6b28dec2/6t6RePI0bXwGcKSs/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/meilisearch-6b28dec2/6t6RePI0bXwGcKSs/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/meilisearch-6b28dec2/6t6RePI0bXwGcKSs/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/meilisearch-6b28dec2/6t6RePI0bXwGcKSs/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Securing your project - Meilisearch Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"This tutorial will show you how to secure your Meilisearch project.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Meilisearch Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://meilisearch-6b28dec2.mintlify.app/_mintlify/api/og/v2?division=Security\u0026amp;title=Securing+your+project\u0026amp;description=This+tutorial+will+show+you+how+to+secure+your+Meilisearch+project.\u0026amp;theme=25515a5016844863e4538b41\u0026amp;signature=9c5bcc7cc082f6aa1b98e3d45775104cd0237d7d1340e9d20b54b57302effbac\">\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=\"Securing your project - Meilisearch Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This tutorial will show you how to secure your Meilisearch project.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://meilisearch-6b28dec2.mintlify.app/_mintlify/api/og/v2?division=Security\u0026amp;title=Securing+your+project\u0026amp;description=This+tutorial+will+show+you+how+to+secure+your+Meilisearch+project.\u0026amp;theme=25515a5016844863e4538b41\u0026amp;signature=9c5bcc7cc082f6aa1b98e3d45775104cd0237d7d1340e9d20b54b57302effbac\">\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=\"/docs/mintlify-assets/_mintlify/favicons/meilisearch-6b28dec2/6t6RePI0bXwGcKSs/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Meilisearch Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF5CB2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/resources/self_hosting/security/basic_security.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.meilisearch.com/#organization\",\"name\":\"Meilisearch Documentation\",\"url\":\"https://www.meilisearch.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/meilisearch-6b28dec2/YRn82YKcWv02OWrg/assets/repo/meilisearch-logo-light.svg?fit=max\u0026auto=format\u0026n=YRn82YKcWv02OWrg\u0026q=85\u0026s=331f9ce2d1f557db3b679795f4707aa5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.meilisearch.com/docs#website\",\"name\":\"Meilisearch Documentation\",\"url\":\"https://www.meilisearch.com/docs\",\"publisher\":{\"@id\":\"https://www.meilisearch.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security#webpage\",\"url\":\"https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security\",\"name\":\"Securing your project\",\"description\":\"This tutorial will show you how to secure your Meilisearch project.\",\"dateModified\":\"2026-09-08T10:06:58.449Z\",\"isPartOf\":{\"@id\":\"https://www.meilisearch.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Self-hosting\",\"item\":\"https://www.meilisearch.com/docs/resources/self_hosting/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Security\",\"item\":\"https://www.meilisearch.com/docs/resources/self_hosting/security/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Securing your project\",\"item\":\"https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security#article\",\"headline\":\"Securing your project\",\"name\":\"Securing your project\",\"description\":\"This tutorial will show you how to secure your Meilisearch project.\",\"url\":\"https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security\",\"mainEntityOfPage\":{\"@id\":\"https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security#webpage\"},\"dateModified\":\"2026-09-08T10:06:58.449Z\",\"publisher\":{\"@id\":\"https://www.meilisearch.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.meilisearch.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Meilisearch Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Meilisearch Documentation","nav":{"global":null,"tabs":[{"tab":"Getting started","pages":[{"title":"Getting started","href":"/getting_started/overview"}]},{"tab":"Capabilities","pages":[{"title":"Capabilities","href":"/capabilities/overview"}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/reference/api/authorization"}]},{"tab":"Resources","groups":[{"group":"Comparisons","pages":[{"title":"Comparison to alternatives","sidebarTitle":"Comparison to alternatives","href":"/resources/comparisons/alternatives"},{"title":"Meilisearch vs Elasticsearch","sidebarTitle":"Elasticsearch","href":"/resources/comparisons/elasticsearch"},{"title":"Meilisearch vs Algolia","sidebarTitle":"Algolia","href":"/resources/comparisons/algolia"},{"title":"Meilisearch vs Typesense","sidebarTitle":"Typesense","href":"/resources/comparisons/typesense"},{"title":"Meilisearch vs PostgreSQL search","sidebarTitle":"PostgreSQL","href":"/resources/comparisons/postgresql"},{"title":"Meilisearch vs Pinecone","sidebarTitle":"Pinecone","href":"/resources/comparisons/pinecone"},{"title":"Meilisearch vs Qdrant","sidebarTitle":"Qdrant","href":"/resources/comparisons/qdrant"},{"title":"Meilisearch vs OpenSearch","sidebarTitle":"OpenSearch","href":"/resources/comparisons/opensearch"},{"title":"Meilisearch vs MongoDB Atlas Search","sidebarTitle":"MongoDB","href":"/resources/comparisons/mongodb"}]},{"group":"Migration","pages":[{"title":"Migrating to Meilisearch Cloud","sidebarTitle":"Migrating to Meilisearch Cloud","href":"/resources/migration/migrating_cloud"},{"title":"Update to the latest Meilisearch version","sidebarTitle":"Updating Meilisearch","href":"/resources/migration/updating"},{"title":"Migrating from Algolia to Meilisearch","sidebarTitle":"Migrating from Algolia","href":"/resources/migration/algolia_migration"},{"title":"Migrating from Elasticsearch to Meilisearch","sidebarTitle":"Migrating from Elasticsearch","href":"/resources/migration/elasticsearch_migration"},{"title":"Migrating from Qdrant to Meilisearch","sidebarTitle":"Migrating from Qdrant","href":"/resources/migration/qdrant_migration"},{"title":"Migrating from MongoDB Atlas Search to Meilisearch","sidebarTitle":"Migrating from MongoDB Atlas Search","href":"/resources/migration/mongodb_migration"},{"title":"Migrating from PostgreSQL full-text search to Meilisearch","sidebarTitle":"Migrating from PostgreSQL","href":"/resources/migration/postgresql_migration"},{"title":"Migrating from Supabase full-text search to Meilisearch","sidebarTitle":"Migrating from Supabase","href":"/resources/migration/supabase_migration"}]},{"group":"Self-hosting","pages":[{"title":"Self-hosting Meilisearch","sidebarTitle":"Overview","href":"/resources/self_hosting/overview"},{"group":"Getting started","pages":[{"title":"Getting started with self-hosted Meilisearch","sidebarTitle":"Getting started with self-hosted Meilisearch","href":"/resources/self_hosting/getting_started/quick_start"},{"title":"Install Meilisearch locally","sidebarTitle":"Install Meilisearch locally","href":"/resources/self_hosting/getting_started/install_locally"},{"title":"Using Meilisearch with Docker","href":"/resources/self_hosting/getting_started/docker"},{"title":"Search preview","sidebarTitle":"Search preview","href":"/resources/self_hosting/getting_started/search_preview"}]},{"group":"Configuration","pages":[{"title":"Configure Meilisearch at launch","sidebarTitle":"Configuration overview","href":"/resources/self_hosting/configuration/overview"},{"title":"Configuration reference","sidebarTitle":"Configuration reference","href":"/resources/self_hosting/configuration/reference"}]},{"group":"Deployment","pages":[{"title":"Deploying Meilisearch","sidebarTitle":"Deployment overview","href":"/resources/self_hosting/deployment/overview"},{"title":"Running Meilisearch in production","href":"/resources/self_hosting/deployment/running_production"},{"title":"Deploy on AWS","sidebarTitle":"AWS","href":"/resources/self_hosting/deployment/aws"},{"title":"Deploy on Google Cloud","sidebarTitle":"Google Cloud","href":"/resources/self_hosting/deployment/gcp"},{"title":"Deploy on DigitalOcean","sidebarTitle":"DigitalOcean","href":"/resources/self_hosting/deployment/digitalocean"}]},{"group":"Security","pages":[{"title":"Securing self-hosted Meilisearch","sidebarTitle":"Security overview","href":"/resources/self_hosting/security/overview"},{"title":"Master key and API keys","sidebarTitle":"Master key \u0026 API keys","description":"Understand the differences between master key and API keys, and how to manage them in self-hosted Meilisearch.","href":"/resources/self_hosting/security/master_api_keys"},{"title":"Securing your project","sidebarTitle":"Securing your project","href":"/resources/self_hosting/security/basic_security"},{"title":"Resetting the master key","sidebarTitle":"Resetting the master key","description":"This guide shows you how to reset the master key in Meilisearch Cloud and self-hosted instances.","href":"/resources/self_hosting/security/resetting_master_key"},{"title":"Protected and unprotected Meilisearch projects","sidebarTitle":"Protected and unprotected projects","href":"/resources/self_hosting/security/protected_unprotected"},{"title":"Using HTTP/2 and SSL with Meilisearch","href":"/resources/self_hosting/security/http2_ssl"}]},{"group":"Data backup","pages":[{"title":"Backing up Meilisearch data","sidebarTitle":"Backup overview","href":"/resources/self_hosting/data_backup/overview"},{"title":"Exporting and importing dumps","sidebarTitle":"Exporting and importing dumps","href":"/resources/self_hosting/data_backup/dumps"},{"title":"Exporting and using Snapshots","sidebarTitle":"Exporting and using Snapshots","href":"/resources/self_hosting/data_backup/snapshots"}]},{"group":"Sharding and replication","pages":[{"title":"Replication and sharding","sidebarTitle":"Overview","href":"/resources/self_hosting/sharding/overview"},{"title":"Set up a sharded cluster","sidebarTitle":"Set up a sharded cluster","href":"/resources/self_hosting/sharding/setup_sharded_cluster"},{"title":"Configure replication for high availability","sidebarTitle":"Configure replication","href":"/resources/self_hosting/sharding/configure_replication"},{"title":"Manage the network","sidebarTitle":"Manage the network","href":"/resources/self_hosting/sharding/manage_network"}]},{"group":"Advanced","pages":[{"title":"Impact of RAM and multi-threading on indexing performance","sidebarTitle":"Impact of RAM and multi-threading on indexing performance","href":"/resources/self_hosting/performance/ram_multithreading"},{"title":"Using task webhooks","sidebarTitle":"Using task webhooks","href":"/resources/self_hosting/webhooks"},{"title":"Computing Hugging Face embeddings with the GPU","href":"/resources/self_hosting/huggingface_gpu"}]},{"title":"Enterprise and Community editions","href":"/resources/self_hosting/enterprise_edition"}]},{"group":"Demos","pages":[{"title":"Demos","sidebarTitle":"Overview","href":"/resources/demos/overview"},{"title":"Agentic movie search","sidebarTitle":"Agentic movie search","href":"/resources/demos/agentic_movie_search"},{"title":"Talk with Lex","sidebarTitle":"Talk with Lex","href":"/resources/demos/talk_with_lex"},{"title":"Judilibre legal search","sidebarTitle":"Judilibre legal search","href":"/resources/demos/judilibre"},{"title":"Paperscope","sidebarTitle":"Paperscope","href":"/resources/demos/paperscope"},{"title":"Where to Watch","sidebarTitle":"Where to Watch","href":"/resources/demos/where_to_watch"},{"title":"Home Booking","sidebarTitle":"Home Booking","href":"/resources/demos/home_booking"},{"title":"E-commerce","sidebarTitle":"E-commerce","href":"/resources/demos/ecommerce"},{"title":"SaaS CRM Search","sidebarTitle":"SaaS CRM","href":"/resources/demos/saas"},{"title":"Image Search","sidebarTitle":"Image Search","href":"/resources/demos/flickr"},{"title":"HackerSearch","sidebarTitle":"HackerSearch","href":"/resources/demos/hackersearch"},{"title":"Personalized Search","sidebarTitle":"Personalized Search","href":"/resources/demos/personalized_search"},{"title":"Search Playground","sidebarTitle":"Playground","href":"/resources/demos/playground"},{"title":"Music Search","sidebarTitle":"Music Search","href":"/resources/demos/music"},{"title":"Geosearch","sidebarTitle":"Geosearch","href":"/resources/demos/geosearch"},{"title":"MoMA Collection","sidebarTitle":"MoMA Collection","href":"/resources/demos/moma"},{"title":"Nobel Prizes","sidebarTitle":"Nobel Prizes","href":"/resources/demos/nobel_prizes"},{"title":"Tenant Tokens","sidebarTitle":"Tenant Tokens","href":"/resources/demos/tenant_tokens"},{"title":"Typo Tolerance","sidebarTitle":"Typo Tolerance","href":"/resources/demos/typo_tolerance"},{"title":"RubyGems Finder","sidebarTitle":"RubyGems","href":"/resources/demos/rubygems"},{"title":"Hydration","sidebarTitle":"Hydration","href":"/resources/demos/hydration"},{"title":"Federated Search","sidebarTitle":"Federated Search","href":"/resources/demos/federated_search"}]},{"group":"Under the hood","pages":[{"title":"Documents","sidebarTitle":"Documents","href":"/resources/internals/documents"},{"title":"Indexes","sidebarTitle":"Indexes","href":"/resources/internals/indexes"},{"title":"Primary key","sidebarTitle":"Primary key","href":"/resources/internals/primary_key"},{"title":"Storage","sidebarTitle":"Storage","href":"/resources/internals/storage"},{"title":"Data types","sidebarTitle":"Data types","href":"/resources/internals/datatypes"},{"title":"Meilisearch ranking: a multi-criteria system beyond BM25","sidebarTitle":"Ranking vs BM25","href":"/resources/internals/ranking"},{"title":"Bucket sort","sidebarTitle":"Bucket sort","href":"/resources/internals/bucket_sort"},{"title":"Vector storage: DiskANN","sidebarTitle":"Vector storage","href":"/resources/internals/hannoy"},{"title":"Concatenated and split queries","sidebarTitle":"Concatenated and split queries","href":"/resources/internals/concat"},{"title":"Prefix search","sidebarTitle":"Prefix search","href":"/resources/internals/prefix"},{"title":"Typo tolerance vs fuzzy search: how Meilisearch handles misspellings","sidebarTitle":"Typo tolerance vs fuzzy search","href":"/resources/internals/typo_tolerance"},{"title":"Language","sidebarTitle":"Language","href":"/resources/help/language"}]},{"group":"Other resources","pages":[{"title":"Official SDKs and libraries","sidebarTitle":"Official SDKs and libraries","href":"/resources/help/sdks"},{"title":"FAQ","sidebarTitle":"FAQ","href":"/resources/help/faq"},{"title":"Known limitations","sidebarTitle":"Known limitations","href":"/resources/help/known_limitations"},{"title":"Experimental features overview","sidebarTitle":"Experimental features overview","href":"/resources/help/experimental_features_overview"},{"title":"Telemetry","sidebarTitle":"Telemetry","href":"/resources/help/telemetry"},{"title":"Versioning policy","sidebarTitle":"Versioning policy","href":"/resources/help/versioning"},{"title":"Contributing to our documentation","sidebarTitle":"Contributing to our documentation","href":"/resources/help/contributing_docs"},{"title":"Carbon footprint of Meilisearch Cloud regions","sidebarTitle":"Carbon footprint","href":"/resources/help/carbon_footprint"},{"title":"Accessing previous docs versions","sidebarTitle":"Accessing previous docs versions","href":"/resources/migration/previous_docs_version"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/changelog"}]}]},"basePath":"","title":"Securing your project - Meilisearch Documentation","buildId":"dpl_GWQzn6k13MqphA3qck3hQKoQXDzM","deploymentId":"dpl_GWQzn6k13MqphA3qck3hQKoQXDzM","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DN70Wisw.js","DynamicMarkdown-B74atANy.js","zoom-image-lightbox-CnbVM2jb.js","lightbox-handle-r17bVUz3.js"]}