You can create your API keys by navigating to your organization’s API Settings
(you must be an administrator to access this page) and clicking on the “GENERATE KEYS” button.Once your keys have been generate, the page should look something like below.You can click on refresh icon on the right to deactivate the existing public/private key and generate a new one.
You can also click on the sliders on the left to enable/disable an API key.
The purpose of the private key is to perform CRUD operations on objects within an organization (ExternalURLGroups, Metadata Queue Items, etc.).
This key should never be used within frontend/client side code and should be stored somewhere secure.
It is strongly recommended that you perform authentication on the backend server and only use the private key.
The public key only has access to the /v1/verifyTag route.
If you want to build an MVP of a product quickly and don’t want to setup your own server, you can authenticate a tag on your website
by using some fairly basic javascript.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"ETRNL VAULT","colors":{"primary":"#000000","light":"#FFFFFF","dark":"#0D001D"},"favicon":"/favicon.png","logo":{"light":"https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/logo/text-black.svg?fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=cbf9ca2fdcecb2c2d1e322a64acb40dc","dark":"https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/logo/text-white.svg?fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=0216e1a1e94cf8899c67cf3b39e5eb5c","href":"https://etrnl.app"},"api":{"mdx":{"server":"https://third-party.etrnl.app"}},"background":{"decoration":null,"color":{"light":null,"dark":"#000000"}},"navbar":{"primary":{"type":"button","label":"Dashboard","href":"https://etrnl.app"}},"footer":{"socials":{"twitter":"https://twitter.com/etrnlvault","instagram":"https://instagram.com/etrnlvault","linkedin":"https://www.linkedin.com/company/mintsearch"}},"integrations":{"ga4":{"measurementId":"G-9CPJS4J11M"},"hotjar":{"hjid":"3727614","hjsv":"6"}},"navigation":{"global":{"anchors":[{"anchor":"Discord","href":"https://discord.gg/FvNtx5ga8h","icon":"discord"},{"anchor":"Blog","href":"https://blog.etrnl.app","icon":"newspaper"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"invisibleartllc","hasAudioNarration":false,"actualSubdomain":"invisibleartllc","customDomains":["docs.etrnl.app"],"gitSource":{"type":"github","owner":"tino-f","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a20c3bf42124f81735bf45d","collectionId":"c7f19c3f-c82b-4ef4-81d1-0d5f268a7d99","schemaVersion":"v2"},"entitlements":{},"buildId":"6ae91d0285c0c2fd2e2485d7:success","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"API Reference","count":17},{"language":"default","tag":"Documentation","count":9},{"language":"default","tag":"URL Groups","count":8},{"language":"default","tag":"Examples","count":5},{"language":"default","tag":"Metadata Queue Item","count":3},{"language":"default","tag":"Pages","count":3},{"language":"default","tag":"NFC","count":3},{"language":"default","tag":"API Documentation","count":2},{"language":"default","tag":"Tags","count":1},{"language":"default","tag":"Get Started","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/keys","slug":"/api-reference/keys","pageMetadata":{"title":"API Keys","description":null,"href":"/api-reference/keys"},"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`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,OptimizedImage,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`We have 2 different keys that can be used to authenticate with our API.\nHowever, the private key has more access.`}),`\n`,_jsx(Heading,{level:`2`,id:`creating-your-keys`,children:`Creating your keys`}),`\n`,_jsxs(_components.p,{children:[`You can create your API keys by navigating to your organization’s `,_jsx(_components.a,{href:`https://etrnl.app/settings/organization/api`,children:`API Settings`}),`\n(you must be an administrator to access this page) and clicking on the “GENERATE KEYS” button.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/generate-keys-btn.png?fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=103992f044a9462f6959d9335272d9ca`,\"data-og-width\":`371`,width:`371`,\"data-og-height\":`147`,height:`147`,\"data-path\":`images/api-keys/generate-keys-btn.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/generate-keys-btn.png?w=280\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=49cc82c765f21c5e8f2dcb69b42539d7 280w, https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/generate-keys-btn.png?w=560\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=57261be586520b1592183fcd50005ca1 560w, https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/generate-keys-btn.png?w=840\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=76eb1dedbfc1af342c25635783839efd 840w, https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/generate-keys-btn.png?w=1100\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=6a2d8d7f3c482485dc22039ace0b734d 1100w, https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/generate-keys-btn.png?w=1650\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=3a7ae14c3ab3bd1d9cd9380b1cc82238 1650w, https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/generate-keys-btn.png?w=2500\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=0d6bdb635d6d3fed7abaade6cd8f77cc 2500w`}),`\n`,_jsx(_components.p,{children:`Once your keys have been generate, the page should look something like below.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/api-settings.png?fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=86e4a9919fc1916b233de7a9965f4b16`,\"data-og-width\":`1259`,width:`1259`,\"data-og-height\":`425`,height:`425`,\"data-path\":`images/api-keys/api-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/api-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=df0c7dd4cda085937240976a9e7051fb 280w, https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/api-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=5a0b63f226b285ebc631f8ae3c3f2c93 560w, https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/api-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=6fcd1b1a91b732cf701f585adcdf696c 840w, https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/api-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=47a61509f1a6549d2e63da1d0f05d4e2 1100w, https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/api-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=fc8b469f306da9952836fc3448138044 1650w, https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/images/api-keys/api-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=e085682f36f687ccc91d394f239b63bd 2500w`}),`\n`,_jsx(_components.p,{children:`You can click on refresh icon on the right to deactivate the existing public/private key and generate a new one.\nYou can also click on the sliders on the left to enable/disable an API key.`}),`\n`,_jsx(Heading,{level:`2`,id:`private-key`,children:`Private Key`}),`\n`,_jsx(_components.p,{children:`The purpose of the private key is to perform CRUD operations on objects within an organization (ExternalURLGroups, Metadata Queue Items, etc.).\nThis key should never be used within frontend/client side code and should be stored somewhere secure.`}),`\n`,_jsx(Heading,{level:`2`,id:`public-key`,children:`Public Key`}),`\n`,_jsxs(_components.p,{children:[_jsx(Warning,{children:_jsx(_components.strong,{children:`It is strongly recommended that you perform authentication on the backend server and only use the private key.`})}),`\nThe public key only has access to the /v1/verifyTag route.\nIf you want to build an MVP of a product quickly and don’t want to setup your own server, you can authenticate a tag on your website\nby using some fairly basic javascript.`]})]})}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":"API Keys","description":null,"href":"/api-reference/keys"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Creating your keys","slug":"creating-your-keys","depth":2,"children":[]},{"title":"Private Key","slug":"private-key","depth":2,"children":[]},{"title":"Public Key","slug":"public-key","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"invisibleartllc","siteName":"ETRNL VAULT","title":"API Keys - ETRNL VAULT","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-06T23:43:33.994Z","originalFileLocation":"api-reference/keys.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=\"application-name\" content=\"ETRNL VAULT\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/invisibleartllc/HAhif4eUAUX3bNvG/_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/invisibleartllc/HAhif4eUAUX3bNvG/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/invisibleartllc/HAhif4eUAUX3bNvG/_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/invisibleartllc/HAhif4eUAUX3bNvG/_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/invisibleartllc/HAhif4eUAUX3bNvG/_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/invisibleartllc/HAhif4eUAUX3bNvG/_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/invisibleartllc/HAhif4eUAUX3bNvG/_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/invisibleartllc/HAhif4eUAUX3bNvG/_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/invisibleartllc/HAhif4eUAUX3bNvG/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"API Keys - ETRNL VAULT\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ETRNL VAULT\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.etrnl.app/api-reference/keys\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://invisibleartllc.mintlify.app/_mintlify/api/og/v2?division=API+Documentation\u0026amp;title=API+Keys\u0026amp;theme=7a8602f08765c3431b668f89\u0026amp;signature=7050ac6c6af1b0bb94397f1899c19bfc8556778ddb7e05911b52733db2b9891e\">\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=\"API Keys - ETRNL VAULT\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://invisibleartllc.mintlify.app/_mintlify/api/og/v2?division=API+Documentation\u0026amp;title=API+Keys\u0026amp;theme=7a8602f08765c3431b668f89\u0026amp;signature=7050ac6c6af1b0bb94397f1899c19bfc8556778ddb7e05911b52733db2b9891e\">\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/invisibleartllc/HAhif4eUAUX3bNvG/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ETRNL VAULT\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.etrnl.app/api-reference/keys\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/keys.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.etrnl.app/#organization\",\"name\":\"ETRNL VAULT\",\"url\":\"https://docs.etrnl.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/invisibleartllc/r_HaaiBT_PmfMExZ/logo/text-black.svg?fit=max\u0026auto=format\u0026n=r_HaaiBT_PmfMExZ\u0026q=85\u0026s=cbf9ca2fdcecb2c2d1e322a64acb40dc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.etrnl.app#website\",\"name\":\"ETRNL VAULT\",\"url\":\"https://docs.etrnl.app\",\"publisher\":{\"@id\":\"https://docs.etrnl.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.etrnl.app/api-reference/keys#webpage\",\"url\":\"https://docs.etrnl.app/api-reference/keys\",\"name\":\"API Keys\",\"dateModified\":\"2026-01-06T23:43:33.994Z\",\"isPartOf\":{\"@id\":\"https://docs.etrnl.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.etrnl.app/api-reference/keys#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.etrnl.app/api-reference/keys#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"ETRNL VAULT\",\"item\":\"https://docs.etrnl.app\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Keys\",\"item\":\"https://docs.etrnl.app/api-reference/keys\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.etrnl.app/api-reference/keys#article\",\"headline\":\"API Keys\",\"name\":\"API Keys\",\"url\":\"https://docs.etrnl.app/api-reference/keys\",\"mainEntityOfPage\":{\"@id\":\"https://docs.etrnl.app/api-reference/keys#webpage\"},\"dateModified\":\"2026-01-06T23:43:33.994Z\",\"publisher\":{\"@id\":\"https://docs.etrnl.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.etrnl.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ETRNL VAULT\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ETRNL VAULT","nav":{"global":{"anchors":[{"anchor":"Discord","href":"https://discord.gg/FvNtx5ga8h","icon":"discord"},{"anchor":"Blog","href":"https://blog.etrnl.app","icon":"newspaper"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"API Keys","href":"/api-reference/keys"},{"title":"Rules","description":null,"href":"/api-reference/rules"}]},{"group":"Tags","pages":[{"title":"Verify Authenticity","api":"POST /v1/tags/verify-authenticity","href":"/api-reference/endpoints/tags/verify-authenticity"}]},{"group":"URL Groups","pages":[{"title":"Create","api":"POST /v1/url-groups","href":"/api-reference/endpoints/url-groups/create"},{"title":"Update","api":"PUT /v1/url-groups/{id}","href":"/api-reference/endpoints/url-groups/update"},{"title":"Get","api":"GET /v1/url-groups/{id}","href":"/api-reference/endpoints/url-groups/get"},{"title":"Get All","api":"GET /v1/url-groups","href":"/api-reference/endpoints/url-groups/get-all"},{"title":"Delete","api":"DELETE /v1/url-groups/{id}","href":"/api-reference/endpoints/url-groups/delete"},{"title":"Create metadata queue item","api":"POST /v1/url-groups/{id}/queue","href":"/api-reference/endpoints/url-groups/queue/create"},{"title":"Get fulfilled queue items","api":"GET /v1/url-groups/{id}/queue/fulfilled","href":"/api-reference/endpoints/url-groups/queue/get-fulfilled"},{"title":"Get unfulfilled queue items","api":"GET /v1/url-groups/{id}/queue/unfulfilled","href":"/api-reference/endpoints/url-groups/queue/get-unfulfilled"}]},{"group":"Pages","pages":[{"title":"Create metadata queue item","api":"POST /v1/pages/{id}/queue","href":"/api-reference/endpoints/pages/queue/create"},{"title":"Get fulfilled queue items","api":"GET /v1/pages/{id}/queue/fulfilled","href":"/api-reference/endpoints/pages/queue/get-fulfilled"},{"title":"Get unfulfilled queue items","api":"GET /v1/pages/{id}/queue/unfulfilled","href":"/api-reference/endpoints/pages/queue/get-unfulfilled"}]},{"group":"Metadata Queue Item","pages":[{"title":"Get","api":"GET /v1/queue-item/{id}","href":"/api-reference/endpoints/metadata-queue/get"},{"title":"Update","api":"PUT /v1/queue-item/{id}","href":"/api-reference/endpoints/metadata-queue/update"},{"title":"Delete","api":"DELETE /v1/queue-item/{id}","href":"/api-reference/endpoints/metadata-queue/delete"}]}]}]},"basePath":"","title":"API Keys - ETRNL VAULT","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-B4-wUcHm.js","lightbox-handle-r17bVUz3.js"]}