Create keys on the Developers page in the terminal
(astreus.ai/developers).
Any account can — the Free plan needs no card.Send the key on every request, either way:
/api/v1 sends no CORS headers, so a web page served from another origin cannot call it from the browser (the
preflight gets no Access-Control-Allow-Origin). Call the API from your server, a script, a notebook or an agent,
and keep the key there: a key shipped to a browser is a key anyone can read.
A key is shown once, at creation. Astreus stores only its SHA-256 hash — a lost key
cannot be recovered, only rotated.
Keys are data credentials. They work on every documented data endpoint and are
deliberately rejected (401) on account surfaces: key management, billing, watchlists,
workspace. A leaked data key can never mint more keys or touch the account that owns it.
Connector UIs such as claude.ai never see a key: they authorise through OAuth 2.1 (dynamic
client registration + PKCE, advertised at /.well-known/oauth-protected-resource/api/mcp)
and receive an access token with the same data-only scope as a key. Those tokens are
accepted on the MCP endpoint and on the data routes; they are rejected on account surfaces
exactly as keys are. See MCP server.
public endpoints (coverage stats, logos, person photos, presentation slide images,
health) need no credentials.
Everything else needs a key (or a signed-in terminal session’s Cognito ID token — that is
what the terminal itself uses, but it expires hourly; programmatic access should use keys).
A 402 with code upgrade_required marks a Pro-only surface; none of the documented
data routes is Pro-only today.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Astreus","colors":{"primary":"#ef4444","light":"#f87171","dark":"#dc2626"},"logo":{"light":"https://mintcdn.com/prometheus-56b13daf/dGgFROw_UlBseTNR/logo/astreus-light.svg?fit=max\u0026auto=format\u0026n=dGgFROw_UlBseTNR\u0026q=85\u0026s=8ecdb13f47f7dcee482a242cc1014d69","dark":"https://mintcdn.com/prometheus-56b13daf/dGgFROw_UlBseTNR/logo/astreus-dark.svg?fit=max\u0026auto=format\u0026n=dGgFROw_UlBseTNR\u0026q=85\u0026s=446a3f3d198b51a669ce6544969f3df7","href":"https://astreus.ai"},"favicon":"https://mintcdn.com/prometheus-56b13daf/dGgFROw_UlBseTNR/astreus-favicon.png?fit=max\u0026auto=format\u0026n=dGgFROw_UlBseTNR\u0026q=85\u0026s=42cc8dfe1e4cadeba35fe77075304e60","navbar":{"links":[{"href":"https://astreus.ai","label":"Terminal"}],"primary":{"type":"button","label":"Get an API key","href":"https://astreus.ai/developers"}},"footer":{"socials":{"website":"https://astreus.ai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"prometheus-56b13daf","hasAudioNarration":false,"actualSubdomain":"prometheus-56b13daf","customDomains":["doc.astreus.ai"],"gitSource":{"type":"github","owner":"prometheus-finance","repo":"prometheus","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af5174184347135943a93ef","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"API Reference","count":200},{"language":"default","tag":"Macro","count":44},{"language":"default","tag":"Company Data","count":31},{"language":"default","tag":"Documentation","count":30},{"language":"default","tag":"Market Data","count":20},{"language":"default","tag":"Geo \u0026 Assets","count":18},{"language":"default","tag":"Transcripts \u0026 Calls","count":16},{"language":"default","tag":"Data","count":12},{"language":"default","tag":"Intelligence","count":11},{"language":"default","tag":"Guidance \u0026 Scorecards","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"authentication","slug":"/authentication","pageMetadata":{"title":"Authentication","description":"API keys, where they come from, and how they behave.","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: \"API keys, where they come from, and how they behave.\"\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`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`api-keys`,children:`API keys`}),`\n`,_jsxs(_components.p,{children:[`Create keys on the `,_jsx(_components.strong,{children:`Developers`}),` page in the terminal\n(`,_jsx(_components.a,{href:`https://astreus.ai/developers`,children:`astreus.ai/developers`}),`).\nAny account can — the Free plan needs no card.`]}),`\n`,_jsx(_components.p,{children:`Send the key on every request, either way:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,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:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://astreus.ai/api/v1/companies/NVDA\"`}),_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:` \"X-API-KEY: pk_live_YOUR_KEY\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# equivalent`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://astreus.ai/api/v1/companies/NVDA\"`}),_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 pk_live_YOUR_KEY\"`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`If both headers are sent, `,_jsx(_components.code,{children:`X-API-KEY`}),` wins.`]}),`\n`,_jsx(Heading,{level:`2`,id:`server-side-only-no-cors`,children:`Server-side only: no CORS`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`/api/v1`}),` sends no CORS headers, so a web page served from another origin cannot call it from the browser (the\npreflight gets no `,_jsx(_components.code,{children:`Access-Control-Allow-Origin`}),`). Call the API from your server, a script, a notebook or an agent,\nand keep the key there: a key shipped to a browser is a key anyone can read.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`A key is shown `,_jsx(_components.strong,{children:`once`}),`, at creation. Astreus stores only its SHA-256 hash — a lost key\ncannot be recovered, only rotated.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`key-lifecycle`,children:`Key lifecycle`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`Where`}),_jsx(_components.th,{children:`Effect`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Create`}),_jsx(_components.td,{children:`Developers → API Keys`}),_jsx(_components.td,{children:`Up to 10 active keys per account`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Rotate`}),_jsx(_components.td,{children:`Developers → API Keys`}),_jsx(_components.td,{children:`Old key revoked and replaced atomically; new secret shown once`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Revoke`}),_jsx(_components.td,{children:`Developers → API Keys`}),_jsx(_components.td,{children:`Permanent; takes effect everywhere within ~60 seconds`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`scope-of-a-key`,children:`Scope of a key`}),`\n`,_jsxs(_components.p,{children:[`Keys are `,_jsx(_components.strong,{children:`data credentials`}),`. They work on every documented data endpoint and are\ndeliberately rejected (401) on account surfaces: key management, billing, watchlists,\nworkspace. A leaked data key can never mint more keys or touch the account that owns it.`]}),`\n`,_jsx(Heading,{level:`2`,id:`oauth-for-mcp-clients`,children:`OAuth for MCP clients`}),`\n`,_jsxs(_components.p,{children:[`Connector UIs such as claude.ai never see a key: they authorise through OAuth 2.1 (dynamic\nclient registration + PKCE, advertised at `,_jsx(_components.code,{children:`/.well-known/oauth-protected-resource/api/mcp`}),`)\nand receive an access token with the same data-only scope as a key. Those tokens are\naccepted on the MCP endpoint and on the data routes; they are rejected on account surfaces\nexactly as keys are. See `,_jsx(_components.a,{href:`/mcp-server`,children:`MCP server`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`tiers`,children:`Tiers`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`public`}),` endpoints (coverage stats, logos, person photos, presentation slide images,\nhealth) need no credentials.`]}),`\n`,_jsx(_components.li,{children:`Everything else needs a key (or a signed-in terminal session’s Cognito ID token — that is\nwhat the terminal itself uses, but it expires hourly; programmatic access should use keys).`}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.code,{children:`402`}),` with code `,_jsx(_components.code,{children:`upgrade_required`}),` marks a Pro-only surface; none of the documented\ndata routes is Pro-only today.`]}),`\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":"API keys, where they come from, and how they behave.","href":"/authentication"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"API keys","slug":"api-keys","depth":2,"children":[]},{"title":"Server-side only: no CORS","slug":"server-side-only-no-cors","depth":2,"children":[]},{"title":"Key lifecycle","slug":"key-lifecycle","depth":2,"children":[]},{"title":"Scope of a key","slug":"scope-of-a-key","depth":2,"children":[]},{"title":"OAuth for MCP clients","slug":"oauth-for-mcp-clients","depth":2,"children":[]},{"title":"Tiers","slug":"tiers","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"prometheus-56b13daf","siteName":"Astreus","title":"Authentication - Astreus","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T01:33:02.176Z","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=\"API keys, where they come from, and how they behave.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Astreus\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/prometheus-56b13daf/UWxa7VFfLa3W4f0X/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/prometheus-56b13daf/UWxa7VFfLa3W4f0X/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/prometheus-56b13daf/UWxa7VFfLa3W4f0X/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/prometheus-56b13daf/UWxa7VFfLa3W4f0X/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/prometheus-56b13daf/UWxa7VFfLa3W4f0X/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/prometheus-56b13daf/UWxa7VFfLa3W4f0X/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/prometheus-56b13daf/UWxa7VFfLa3W4f0X/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/prometheus-56b13daf/UWxa7VFfLa3W4f0X/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/prometheus-56b13daf/UWxa7VFfLa3W4f0X/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Authentication - Astreus\">\u003cmeta data-mint-head property=\"og:description\" content=\"API keys, where they come from, and how they behave.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Astreus\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://doc.astreus.ai/authentication\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://prometheus-56b13daf.mintlify.site/_mintlify/api/og/v2?division=Getting+started\u0026amp;title=Authentication\u0026amp;description=API+keys%2C+where+they+come+from%2C+and+how+they+behave.\u0026amp;theme=c84fc0ae62d5b5d516c8640c\u0026amp;signature=dd0561def4fa5dc3ca7cd15a89ad2804fc94b975eb8f9f714d1d3037731a84e1\">\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 - Astreus\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"API keys, where they come from, and how they behave.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://prometheus-56b13daf.mintlify.site/_mintlify/api/og/v2?division=Getting+started\u0026amp;title=Authentication\u0026amp;description=API+keys%2C+where+they+come+from%2C+and+how+they+behave.\u0026amp;theme=c84fc0ae62d5b5d516c8640c\u0026amp;signature=dd0561def4fa5dc3ca7cd15a89ad2804fc94b975eb8f9f714d1d3037731a84e1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/prometheus-56b13daf/UWxa7VFfLa3W4f0X/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Astreus\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ef4444\">\u003clink data-mint-head rel=\"canonical\" href=\"https://doc.astreus.ai/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://doc.astreus.ai/#organization\",\"name\":\"Astreus\",\"url\":\"https://doc.astreus.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/prometheus-56b13daf/dGgFROw_UlBseTNR/logo/astreus-light.svg?fit=max\u0026auto=format\u0026n=dGgFROw_UlBseTNR\u0026q=85\u0026s=8ecdb13f47f7dcee482a242cc1014d69\"}},{\"@type\":\"WebSite\",\"@id\":\"https://doc.astreus.ai#website\",\"name\":\"Astreus\",\"url\":\"https://doc.astreus.ai\",\"publisher\":{\"@id\":\"https://doc.astreus.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://doc.astreus.ai/authentication#webpage\",\"url\":\"https://doc.astreus.ai/authentication\",\"name\":\"Authentication\",\"description\":\"API keys, where they come from, and how they behave.\",\"dateModified\":\"2026-11-12T01:33:02.176Z\",\"isPartOf\":{\"@id\":\"https://doc.astreus.ai#website\"},\"breadcrumb\":{\"@id\":\"https://doc.astreus.ai/authentication#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://doc.astreus.ai/authentication#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting started\",\"item\":\"https://doc.astreus.ai/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authentication\",\"item\":\"https://doc.astreus.ai/authentication\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://doc.astreus.ai/authentication#article\",\"headline\":\"Authentication\",\"name\":\"Authentication\",\"description\":\"API keys, where they come from, and how they behave.\",\"url\":\"https://doc.astreus.ai/authentication\",\"mainEntityOfPage\":{\"@id\":\"https://doc.astreus.ai/authentication#webpage\"},\"dateModified\":\"2026-11-12T01:33:02.176Z\",\"publisher\":{\"@id\":\"https://doc.astreus.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://doc.astreus.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Astreus\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Astreus\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/authentication.md","siteName":"Astreus","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Quickstart","description":"First request in under a minute.","href":"/quickstart"},{"title":"Authentication","href":"/authentication"},{"title":"Search and entity resolution","description":"Resolve canonical identifiers and find attributable passages across the held corpus.","href":"/search"},{"title":"Rate limits \u0026 quotas","href":"/rate-limits"},{"title":"Command line","href":"/cli"},{"title":"MCP server","href":"/mcp-server"}]},{"group":"Coverage","pages":[{"title":"Coverage \u0026 identifiers","href":"/coverage"},{"title":"Data catalog","href":"/data-catalog"},{"title":"Tool reference","href":"/tool-reference"}]},{"group":"Data","pages":[{"title":"Financial statements","href":"/financial-statements"},{"title":"Segments \u0026 KPIs","href":"/segments-and-kpis"},{"title":"Filing notes","href":"/filing-notes"},{"title":"Investor presentations","href":"/investor-presentations"},{"title":"Transcripts \u0026 guidance","href":"/transcripts-and-guidance"},{"title":"Events \u0026 news","href":"/events-and-news"},{"title":"Ownership \u0026 people","href":"/ownership-and-people"},{"title":"Macro \u0026 markets","href":"/macro-and-markets"},{"title":"Intelligence","href":"/intelligence"},{"title":"Calendars and event research","href":"/calendars"},{"title":"Debt, ownership and supply chains","href":"/debt-and-supply-chain"},{"title":"Assets, FX and world data","href":"/assets-and-world"}]},{"group":"Concepts","pages":[{"title":"Data provenance","href":"/data-provenance"},{"title":"Data semantics","href":"/data-semantics"},{"title":"Errors","href":"/errors"},{"title":"Versioning and deprecation","href":"/versioning"}]},{"group":"Guides","pages":[{"title":"Guide: trace a number to its filing","href":"/guides/trace-a-number"},{"title":"Guide: analyze financials in Python","href":"/guides/analyze-financials-python"}]},{"group":"For AI agents","pages":[{"title":"For AI agents","href":"/agents"},{"title":"Agent mode","href":"/agent-workspace"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/company-data/private-company-profile"}]}]},"basePath":"","title":"Authentication - Astreus","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":[],"chunks":[]}