Bearer API keys. How to create, rotate, and revoke.
{ "detail": "missing API key" }
MedListIQ uses Bearer API keys. Every request to /v1/* must include one:
Authorization: Bearer ml_abc123...
All keys have the same capabilities — there is no separate test/live split.
Use your Free-tier key to build and verify your integration, then upgrade
when you’re ready to ship. Rate limits and monthly caps are enforced per
organization, not per key, so minting multiple keys doesn’t extend your
allowance — it’s just a way to isolate keys per service or environment.Keys are scoped to an organization. Every request is attributed to the org
that minted the key — that’s what drives rate-limit and monthly-cap enforcement.
Never commit keys to source control. Use environment variables or a secret
manager (Vercel envs, Doppler, 1Password, AWS Secrets Manager, etc).
Never expose secret keys to the browser. Our keys are server-side only —
don’t ship them in a bundle or load them client-side.
One key per environment is a reasonable minimum; one key per deployed
service is even better (so you can isolate blast radius on a rotation).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"MedListIQ","description":"FHIR medication list inference API — deterministic, rule-based, RxNorm-centric.","colors":{"primary":"#0b0b0b","light":"#ffffff","dark":"#0b0b0b"},"favicon":"https://mintlify.s3.us-west-1.amazonaws.com/briankfungmediallc/images/favicon.svg","navbar":{"links":[{"href":"https://medlistiq.com/dashboard","label":"Dashboard"}],"primary":{"type":"button","label":"Sign up","href":"https://medlistiq.com"}},"footer":{"socials":{"github":"https://github.com/ufbfung/medlistiq"}},"seo":{"indexing":"navigable"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"briankfungmediallc","hasAudioNarration":false,"actualSubdomain":"briankfungmediallc","customDomains":["docs.medlistiq.com"],"gitSource":{"type":"github","owner":"briankfung","repo":"medlistiq","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a20d8b97226120bca5fba55","collectionId":"eb699529-daea-4063-bbcc-00596205d357","schemaVersion":"v2"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a20d8b97226120bca5fba55:success","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Documentation","count":12},{"language":"default","tag":"API Reference","count":8},{"language":"default","tag":"Getting started","count":3},{"language":"default","tag":"Guides","count":3},{"language":"default","tag":"Resources","count":3},{"language":"default","tag":"FHIR","count":2},{"language":"default","tag":"PDF documents","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"authentication","slug":"/authentication","pageMetadata":{"title":"Authentication","description":"Bearer API keys. How to create, rotate, and revoke.","href":"/authentication"},"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: \"Bearer API keys. How to create, rotate, and revoke.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`MedListIQ uses `,_jsx(_components.strong,{children:`Bearer API keys`}),`. Every request to `,_jsx(_components.code,{children:`/v1/*`}),` must include one:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,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:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Authorization`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Bearer ml_abc123...`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`All keys have the same capabilities — there is no separate test/live split.\nUse your Free-tier key to build and verify your integration, then upgrade\nwhen you’re ready to ship. Rate limits and monthly caps are enforced per\norganization, not per key, so minting multiple keys doesn’t extend your\nallowance — it’s just a way to isolate keys per service or environment.`}),`\n`,_jsx(_components.p,{children:`Keys are scoped to an organization. Every request is attributed to the org\nthat minted the key — that’s what drives rate-limit and monthly-cap enforcement.`}),`\n`,_jsx(Heading,{level:`2`,id:`creating-a-key`,children:`Creating a key`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Sign in to the `,_jsx(_components.a,{href:`https://medlistiq.com`,children:`portal`})]}),`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.a,{href:`https://medlistiq.com/dashboard/keys`,children:`Dashboard → API Keys`})]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Create key`}),`, give it a name (e.g. `,_jsx(_components.code,{children:`Production 2026`}),`)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Copy the key immediately`}),` — it’s shown exactly once. Store it in a password\nmanager or environment variable.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The full key is never retrievable after the creation dialog closes. If you\nlose it, revoke it and mint a new one.`})}),`\n`,_jsx(Heading,{level:`2`,id:`rotating-keys`,children:`Rotating keys`}),`\n`,_jsx(_components.p,{children:`Best practice for production: rotate keys quarterly or on any suspected leak.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Create a new key`}),`\n`,_jsx(_components.li,{children:`Deploy the new key to your production environment`}),`\n`,_jsxs(_components.li,{children:[`Verify traffic is flowing using the new key (check the old key’s `,_jsx(_components.strong,{children:`Last used`}),`\ntimestamp — should stop updating)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Revoke the old key`}),` from the portal`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Revocation propagates within ~60 seconds (we cache auth lookups in-process).`}),`\n`,_jsx(Heading,{level:`2`,id:`error-responses`,children:`Error responses`}),`\n`,`\n`,`\n`,_jsx(Heading,{level:`2`,id:`security-notes`,children:`Security notes`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Never commit keys to source control.`}),` Use environment variables or a secret\nmanager (Vercel envs, Doppler, 1Password, AWS Secrets Manager, etc).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Never expose secret keys to the browser.`}),` Our keys are server-side only —\ndon’t ship them in a bundle or load them client-side.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`One key per environment`}),` is a reasonable minimum; one key per deployed\nservice is even better (so you can isolate blast radius on a rotation).`]}),`\n`]})]})}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":"Authentication","description":"Bearer API keys. How to create, rotate, and revoke.","href":"/authentication"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[331,335,"ResponseExample,Warn"],[458,473,"ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!Warning)_missin"],[3849,3868,"_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`401 Unauthorized (missing key)`,numberOfLines:`1`,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:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"detail\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"missing API key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})})}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`401 Unauthorized (invalid / revoked key)`,numberOfLines:`1`,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:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"detail\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"invalid or revoked API key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})})}),`\n`,_jsx(Headin"]]},"mdxExtracts":{"tableOfContents":[{"title":"Creating a key","slug":"creating-a-key","depth":2,"children":[]},{"title":"Rotating keys","slug":"rotating-keys","depth":2,"children":[]},{"title":"Error responses","slug":"error-responses","depth":2,"children":[]},{"title":"Security notes","slug":"security-notes","depth":2,"children":[]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"401 Unauthorized (missing key)","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{ \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"detail\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"missing API key\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}}},"jsLinks":[],"subdomain":"briankfungmediallc","siteName":"MedListIQ","title":"Authentication - MedListIQ","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-05T15:24:45.791Z","originalFileLocation":"authentication.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Bearer API keys. How to create, rotate, and revoke.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MedListIQ\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/svg+xml\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/briankfungmediallc/images/favicon.svg\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/briankfungmediallc/images/favicon.svg\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/briankfungmediallc/images/favicon.svg\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/svg+xml\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/briankfungmediallc/images/favicon.svg\">\u003cmeta data-mint-head property=\"og:title\" content=\"Authentication - MedListIQ\">\u003cmeta data-mint-head property=\"og:description\" content=\"Bearer API keys. How to create, rotate, and revoke.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MedListIQ\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.medlistiq.com/authentication\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://briankfungmediallc.mintlify.app/_mintlify/api/og/v2?division=Getting+started\u0026amp;title=Authentication\u0026amp;description=Bearer+API+keys.+How+to+create%2C+rotate%2C+and+revoke.\u0026amp;theme=101faed59dc336cf2cc5daa6\u0026amp;signature=e5e4f5848bea210be4a94d7006d4956ef56407d5ae121d65aed737f7dd841454\">\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=\"Authentication - MedListIQ\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Bearer API keys. How to create, rotate, and revoke.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://briankfungmediallc.mintlify.app/_mintlify/api/og/v2?division=Getting+started\u0026amp;title=Authentication\u0026amp;description=Bearer+API+keys.+How+to+create%2C+rotate%2C+and+revoke.\u0026amp;theme=101faed59dc336cf2cc5daa6\u0026amp;signature=e5e4f5848bea210be4a94d7006d4956ef56407d5ae121d65aed737f7dd841454\">\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=\"https://mintlify.s3.us-west-1.amazonaws.com/briankfungmediallc/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MedListIQ\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0b0b0b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.medlistiq.com/authentication\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/authentication.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.medlistiq.com/#organization\",\"name\":\"MedListIQ\",\"url\":\"https://docs.medlistiq.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.medlistiq.com#website\",\"name\":\"MedListIQ\",\"url\":\"https://docs.medlistiq.com\",\"publisher\":{\"@id\":\"https://docs.medlistiq.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.medlistiq.com/authentication#webpage\",\"url\":\"https://docs.medlistiq.com/authentication\",\"name\":\"Authentication\",\"description\":\"Bearer API keys. How to create, rotate, and revoke.\",\"dateModified\":\"2026-05-05T15:24:45.791Z\",\"isPartOf\":{\"@id\":\"https://docs.medlistiq.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.medlistiq.com/authentication#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.medlistiq.com/authentication#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting started\",\"item\":\"https://docs.medlistiq.com/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authentication\",\"item\":\"https://docs.medlistiq.com/authentication\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.medlistiq.com/authentication#article\",\"headline\":\"Authentication\",\"name\":\"Authentication\",\"description\":\"Bearer API keys. How to create, rotate, and revoke.\",\"url\":\"https://docs.medlistiq.com/authentication\",\"mainEntityOfPage\":{\"@id\":\"https://docs.medlistiq.com/authentication#webpage\"},\"dateModified\":\"2026-05-05T15:24:45.791Z\",\"publisher\":{\"@id\":\"https://docs.medlistiq.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.medlistiq.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MedListIQ\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"MedListIQ","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Getting started","pages":[{"title":"MedListIQ","href":"/introduction"},{"title":"Quickstart","description":"Your first inference call from FHIR resources in under a minute.","href":"/quickstart"},{"title":"Authentication","href":"/authentication"}]},{"group":"FHIR","pages":[{"title":"FHIR Implementation Guide","description":"Input and output FHIR shapes MedListIQ understands and produces.","href":"/fhir-ig"},{"title":"Enrichments catalog","href":"/enrichments"}]},{"group":"PDF documents","pages":[{"title":"Med lists from PDFs","href":"/from-documents"}]},{"group":"Guides","pages":[{"title":"Understanding the output","href":"/guides/understanding-output"},{"title":"Understanding the PDF output","href":"/guides/understanding-pdf-output"},{"title":"Output formats","href":"/guides/output-formats"}]},{"group":"Resources","pages":[{"title":"Status values","href":"/resources/status-values"},{"title":"Rate limits \u0026 plans","href":"/resources/rate-limits"},{"title":"Errors","href":"/resources/errors"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/healthz"}]}]},"title":"Authentication - MedListIQ","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":["2b790eda92"],"chunks":["ApiExamples-B78P2dEq.js","utils-f1l1Oc-G.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","cloneDeep-izs3Hzxb.js","utils-BlhqDhJO.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C4YLPVAh.js","shallow-vlLnTDkQ.js","snippetPresets-CYXLx6Hv.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","getApiPlaygroundDisplay-D_98hhvf.js","CodeSnippet-DtnZHGqq.js","CodeSnippets-CLFb8KJt.js"]}