Onidel’s API uses API tokens to authenticate and authorize requests. An API token acts as a secure credential that allows you to interact programmatically with the Onidel platform.Each API token carries the same permissions as the user who generated it. For this reason, tokens should be treated with the same level of security as your account credentials.By including your API token in requests, you can manage infrastructure, automate workflows, and integrate Onidel services directly into your applications.
Configure IP whitelisting to restrict access to known and trusted IP addresses. This adds an additional layer of security, ensuring that only trusted sources can access the API.
Store your API token in environment variables or a secure secret manager to keep it out of your codebase.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Onidel Cloud API","colors":{"primary":"#E21231","light":"#f81b3c","dark":"#bc0d27"},"logo":{"light":"https://mintcdn.com/onidel/LCvUo4sJWqr_wupe/onidel_doc_logo_light.svg?fit=max\u0026auto=format\u0026n=LCvUo4sJWqr_wupe\u0026q=85\u0026s=43c56b527cc9d9dae8c851d403c63b92","dark":"https://mintcdn.com/onidel/LCvUo4sJWqr_wupe/onidel_doc_logo_dark.svg?fit=max\u0026auto=format\u0026n=LCvUo4sJWqr_wupe\u0026q=85\u0026s=d9f5ab21d924af48c36d437f75571ffb"},"favicon":"https://mintcdn.com/onidel/pLgjWf4j5iDyeeZx/favicon.png?fit=max\u0026auto=format\u0026n=pLgjWf4j5iDyeeZx\u0026q=85\u0026s=c1ea019dce70aecf59effcb2e29c9afa","navbar":{"links":[{"href":"mailto:support@onidel.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://cloud.onidel.com"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Knowledge Base","icon":"book-open-cover","href":"https://kb.onidel.com"},{"anchor":"Website","icon":"globe-pointer","href":"https://onidel.com"},{"anchor":"Control Panel","icon":"window","href":"https://cloud.onidel.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"onidel","hasAudioNarration":false,"actualSubdomain":"onidel","customDomains":["developers.onidel.com"],"gitSource":{"type":"github","owner":"vtsmau","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af54f3da1da49f351552e57","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"API reference","count":79},{"language":"default","tag":"Virtual Machines","count":19},{"language":"default","tag":"Firewalls","count":10},{"language":"default","tag":"IP Lists","count":7},{"language":"default","tag":"Reserved IPs","count":6},{"language":"default","tag":"SSH Keys","count":5},{"language":"default","tag":"Startup Scripts","count":5},{"language":"default","tag":"VPC","count":5},{"language":"default","tag":"Custom ISOs","count":4},{"language":"default","tag":"Object Storage","count":4}]},"assistantConfig":{},"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":"api-reference/authentication","slug":"/api-reference/authentication","pageMetadata":{"title":"Authentication","description":"How to create an API token and use it to authenticate with Onidel","href":"/api-reference/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: \"How to create an API token and use it to authenticate with Onidel\"\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`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`introduction`,children:`Introduction`}),`\n`,_jsxs(_components.p,{children:[`Onidel’s API uses `,_jsx(_components.strong,{children:`API tokens`}),` to authenticate and authorize requests. An API token acts as a secure credential that allows you to interact programmatically with the Onidel platform.`]}),`\n`,_jsxs(_components.p,{children:[`Each API token carries the `,_jsx(_components.strong,{children:`same permissions as the user`}),` who generated it. For this reason, tokens should be treated with the same level of security as your account credentials.`]}),`\n`,_jsx(_components.p,{children:`By including your API token in requests, you can manage infrastructure, automate workflows, and integrate Onidel services directly into your applications.`}),`\n`,_jsx(Heading,{level:`2`,id:`create-api-token`,children:`Create API token`}),`\n`,_jsx(_components.p,{children:`To create an API token:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Navigate to `,_jsx(_components.a,{href:`https://cloud.onidel.com/account/settings`,children:`Account Settings`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Select the `,_jsx(_components.strong,{children:`API Key`}),` tab.`]}),`\n`,_jsx(_components.li,{children:`Copy the generated API key.`}),`\n`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Click the `,_jsx(_components.strong,{children:`Rotate`}),` button to expire this key and generate a new one.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`authenticate`,children:`Authenticate`}),`\n`,_jsxs(_components.p,{children:[`To authenticate your request with Onidel, include the token in the `,_jsx(_components.code,{children:`Authorization`}),` header:`]}),`\n`,_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:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -vv`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.cloud.onidel.com/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer \u003cYOUR_TOKEN>\"`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`security-best-practices`,children:`Security Best Practices`}),`\n`,_jsx(Heading,{level:`3`,id:`keep-your-token-secure`,children:`Keep your token secure`}),`\n`,_jsx(_components.p,{children:`Never share your API token publicly or include it in client-side code that can be accessed by users.`}),`\n`,_jsx(Heading,{level:`3`,id:`whitelist-trusted-ips-only`,children:`Whitelist trusted IPs only`}),`\n`,_jsx(_components.p,{children:`Configure IP whitelisting to restrict access to known and trusted IP addresses. This adds an additional layer of security, ensuring that only trusted sources can access the API.`}),`\n`,_jsx(Heading,{level:`3`,id:`rotate-your-api-token-regularly`,children:`Rotate your API token regularly`}),`\n`,_jsx(_components.p,{children:`Periodically regenerate your API token to minimise the impact of potential exposure.`}),`\n`,_jsx(Heading,{level:`3`,id:`use-environment-variables`,children:`Use environment variables`}),`\n`,_jsx(_components.p,{children:`Store your API token in environment variables or a secure secret manager to keep it out of your codebase.`})]})}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":"How to create an API token and use it to authenticate with Onidel","href":"/api-reference/authentication"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Introduction","slug":"introduction","depth":2,"children":[]},{"title":"Create API token","slug":"create-api-token","depth":2,"children":[]},{"title":"Authenticate","slug":"authenticate","depth":2,"children":[]},{"title":"Security Best Practices","slug":"security-best-practices","depth":2,"children":[{"title":"Keep your token secure","slug":"keep-your-token-secure","depth":3,"children":[]},{"title":"Whitelist trusted IPs only","slug":"whitelist-trusted-ips-only","depth":3,"children":[]},{"title":"Rotate your API token regularly","slug":"rotate-your-api-token-regularly","depth":3,"children":[]},{"title":"Use environment variables","slug":"use-environment-variables","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"onidel","siteName":"Onidel Cloud API","title":"Authentication - Onidel Cloud API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-10T02:22:46.696Z","originalFileLocation":"api-reference/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=\"How to create an API token and use it to authenticate with Onidel\">\u003cmeta data-mint-head name=\"application-name\" content=\"Onidel Cloud API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onidel/bFFmrSjp5zx4VUBR/_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/onidel/bFFmrSjp5zx4VUBR/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onidel/bFFmrSjp5zx4VUBR/_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/onidel/bFFmrSjp5zx4VUBR/_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/onidel/bFFmrSjp5zx4VUBR/_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/onidel/bFFmrSjp5zx4VUBR/_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/onidel/bFFmrSjp5zx4VUBR/_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/onidel/bFFmrSjp5zx4VUBR/_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/onidel/bFFmrSjp5zx4VUBR/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Authentication - Onidel Cloud API\">\u003cmeta data-mint-head property=\"og:description\" content=\"How to create an API token and use it to authenticate with Onidel\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Onidel Cloud API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.onidel.com/api-reference/authentication\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://onidel.mintlify.site/_mintlify/api/og/v2?division=API+documentation\u0026amp;title=Authentication\u0026amp;description=How+to+create+an+API+token+and+use+it+to+authenticate+with+Onidel\u0026amp;theme=d643c892b4cffe87d18aa5d1\u0026amp;signature=108fe724aaab5ce20b9fd273b6577d695b0c0da66fe976a3a4b5a22f22814003\">\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 - Onidel Cloud API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How to create an API token and use it to authenticate with Onidel\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://onidel.mintlify.site/_mintlify/api/og/v2?division=API+documentation\u0026amp;title=Authentication\u0026amp;description=How+to+create+an+API+token+and+use+it+to+authenticate+with+Onidel\u0026amp;theme=d643c892b4cffe87d18aa5d1\u0026amp;signature=108fe724aaab5ce20b9fd273b6577d695b0c0da66fe976a3a4b5a22f22814003\">\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/onidel/bFFmrSjp5zx4VUBR/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Onidel Cloud API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#E21231\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.onidel.com/api-reference/authentication\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/authentication.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.onidel.com/#organization\",\"name\":\"Onidel Cloud API\",\"url\":\"https://developers.onidel.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/onidel/LCvUo4sJWqr_wupe/onidel_doc_logo_light.svg?fit=max\u0026auto=format\u0026n=LCvUo4sJWqr_wupe\u0026q=85\u0026s=43c56b527cc9d9dae8c851d403c63b92\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.onidel.com#website\",\"name\":\"Onidel Cloud API\",\"url\":\"https://developers.onidel.com\",\"publisher\":{\"@id\":\"https://developers.onidel.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.onidel.com/api-reference/authentication#webpage\",\"url\":\"https://developers.onidel.com/api-reference/authentication\",\"name\":\"Authentication\",\"description\":\"How to create an API token and use it to authenticate with Onidel\",\"dateModified\":\"2026-07-10T02:22:46.696Z\",\"isPartOf\":{\"@id\":\"https://developers.onidel.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.onidel.com/api-reference/authentication#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.onidel.com/api-reference/authentication#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Onidel Cloud API\",\"item\":\"https://developers.onidel.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authentication\",\"item\":\"https://developers.onidel.com/api-reference/authentication\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.onidel.com/api-reference/authentication#article\",\"headline\":\"Authentication\",\"name\":\"Authentication\",\"description\":\"How to create an API token and use it to authenticate with Onidel\",\"url\":\"https://developers.onidel.com/api-reference/authentication\",\"mainEntityOfPage\":{\"@id\":\"https://developers.onidel.com/api-reference/authentication#webpage\"},\"dateModified\":\"2026-07-10T02:22:46.696Z\",\"publisher\":{\"@id\":\"https://developers.onidel.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.onidel.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Onidel Cloud API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Onidel Cloud API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/authentication.md","siteName":"Onidel Cloud API","nav":{"global":{"anchors":[{"anchor":"Knowledge Base","icon":"book-open-cover","href":"https://kb.onidel.com"},{"anchor":"Website","icon":"globe-pointer","href":"https://onidel.com"},{"anchor":"Control Panel","icon":"window","href":"https://cloud.onidel.com"}]},"tabs":[{"tab":"API reference","groups":[{"group":"API documentation","pages":[{"title":"Authentication","href":"/api-reference/authentication"}]},{"group":"Resource Quotas","pages":[{"title":"Get resource quotas and current usage","description":"Returns resource limits, current usage, and remaining quotas for a team.\nUses your primary team when team_id is omitted. Requires team read permission.\nQuotas may apply to the team, its owner, or an individual IP list, as indicated\nby scope. Available quota does not guarantee provisioning; billing and capacity\nchecks still apply.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /resource_quotas","href":"/api-reference/teams/get-resource-quotas-and-current-usage"}]},{"group":"OS Templates","pages":[{"title":"List OS Templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /os_templates","href":"/api-reference/os-template/list-os-templates"}]},{"group":"Instance Types","pages":[{"title":"List Instance Types","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /instance_types","href":"/api-reference/instance-type/list-instance-types"}]},{"group":"Instance Price","pages":[{"title":"Get VM Price","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /instance_price","href":"/api-reference/instance-price/get-vm-price"}]},{"group":"Team","pages":[{"title":"List Teams","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /teams","href":"/api-reference/teams/list-teams"}]},{"group":"Custom ISOs","pages":[{"title":"List ISOs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /isos","href":"/api-reference/custom-iso/list-isos"},{"title":"Create an ISO from a URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /isos","href":"/api-reference/custom-iso/create-an-iso-from-a-url"},{"title":"Get an ISO by UUID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /isos/{iso_id}","href":"/api-reference/custom-iso/get-an-iso-by-uuid"},{"title":"Delete an ISO","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /isos/{iso_id}","href":"/api-reference/custom-iso/delete-an-iso"}]},{"group":"Measured Boot Images","pages":[{"title":"List measured boot images","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /measured-boot-images","href":"/api-reference/measured-boot-image/list-measured-boot-images"},{"title":"Upload a measured boot image","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /measured-boot-images","href":"/api-reference/measured-boot-image/upload-a-measured-boot-image"},{"title":"Delete a measured boot image","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /measured-boot-images/{image_id}","href":"/api-reference/measured-boot-image/delete-a-measured-boot-image"}]},{"group":"SSH Keys","pages":[{"title":"List SSH Keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /ssh_keys","href":"/api-reference/ssh-key/list-ssh-keys"},{"title":"Create a new SSH Key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /ssh_keys","href":"/api-reference/ssh-key/create-a-new-ssh-key"},{"title":"Get SSH Key by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /ssh_keys/{ssh_key_id}","href":"/api-reference/ssh-key/get-ssh-key-by-id"},{"title":"Update SSH Key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /ssh_keys/{ssh_key_id}","href":"/api-reference/ssh-key/update-ssh-key"},{"title":"Delete SSH Key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /ssh_keys/{ssh_key_id}","href":"/api-reference/ssh-key/delete-ssh-key"}]},{"group":"IP Lists","pages":[{"title":"List IP Lists","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /network/ip_lists","href":"/api-reference/ip-list/list-ip-lists"},{"title":"Create IP List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /network/ip_lists","href":"/api-reference/ip-list/create-ip-list"},{"title":"Get IP List by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /network/ip_lists/{ip_list_id}","href":"/api-reference/ip-list/get-ip-list-by-id"},{"title":"Update IP List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /network/ip_lists/{ip_list_id}","href":"/api-reference/ip-list/update-ip-list"},{"title":"Delete IP List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /network/ip_lists/{ip_list_id}","href":"/api-reference/ip-list/delete-ip-list"},{"title":"Add Entry to IP List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /network/ip_lists/{ip_list_id}/entries","href":"/api-reference/ip-list/add-entry-to-ip-list"},{"title":"Delete Entry from IP List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /network/ip_lists/{ip_list_id}/entries/{entry_id}","href":"/api-reference/ip-list/delete-entry-from-ip-list"}]},{"group":"Firewalls","pages":[{"title":"List Firewall Groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /network/firewalls","href":"/api-reference/firewall/list-firewall-groups"},{"title":"Create Firewall Group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /network/firewalls","href":"/api-reference/firewall/create-firewall-group"},{"title":"Get Firewall Group by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /network/firewalls/{firewall_id}","href":"/api-reference/firewall/get-firewall-group-by-id"},{"title":"Update Firewall Group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /network/firewalls/{firewall_id}","href":"/api-reference/firewall/update-firewall-group"},{"title":"Delete Firewall Group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /network/firewalls/{firewall_id}","href":"/api-reference/firewall/delete-firewall-group"},{"title":"List Firewall Rules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /network/firewalls/{firewall_id}/rules","href":"/api-reference/firewall-rule/list-firewall-rules"},{"title":"Create Firewall Rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /network/firewalls/{firewall_id}/rules","href":"/api-reference/firewall-rule/create-firewall-rule"},{"title":"Get Firewall Rule by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /network/firewalls/{firewall_id}/rules/{rule_id}","href":"/api-reference/firewall-rule/get-firewall-rule-by-id"},{"title":"Update Firewall Rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /network/firewalls/{firewall_id}/rules/{rule_id}","href":"/api-reference/firewall-rule/update-firewall-rule"},{"title":"Delete Firewall Rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /network/firewalls/{firewall_id}/rules/{rule_id}","href":"/api-reference/firewall-rule/delete-firewall-rule"}]},{"group":"VPC","pages":[{"title":"List VPCs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /network/vpcs","href":"/api-reference/vpc/list-vpcs"},{"title":"Create a new VPC","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /network/vpcs","href":"/api-reference/vpc/create-a-new-vpc"},{"title":"Get VPC by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /network/vpcs/{vpc_id}","href":"/api-reference/vpc/get-vpc-by-id"},{"title":"Update VPC","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /network/vpcs/{vpc_id}","href":"/api-reference/vpc/update-vpc"},{"title":"Delete VPC","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /network/vpcs/{vpc_id}","href":"/api-reference/vpc/delete-vpc"}]},{"group":"Reserved IPs","pages":[{"title":"List reserved IPs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /network/reserved_ips","href":"/api-reference/reserved-ips/list-reserved-ips"},{"title":"Create a new reserved IP","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /network/reserved_ips","href":"/api-reference/reserved-ips/create-a-new-reserved-ip"},{"title":"Convert VM's primary IP to reserved IP","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /network/reserved_ips/convert","href":"/api-reference/reserved-ips/convert-vms-primary-ip-to-reserved-ip"},{"title":"Get a specific reserved IP","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /network/reserved_ips/{reserved_ip_id}","href":"/api-reference/reserved-ips/get-a-specific-reserved-ip"},{"title":"Update reserved IP (rename or attach/detach VM)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /network/reserved_ips/{reserved_ip_id}","href":"/api-reference/reserved-ips/update-reserved-ip-rename-or-attachdetach-vm"},{"title":"Delete a reserved IP","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /network/reserved_ips/{reserved_ip_id}","href":"/api-reference/reserved-ips/delete-a-reserved-ip"}]},{"group":"Virtual Machines","pages":[{"title":"List VMs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /vm","href":"/api-reference/virtual-machine/list-vms"},{"title":"Provision a new VM","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm","href":"/api-reference/virtual-machine/provision-a-new-vm"},{"title":"Get a VM by UUID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /vm/{vm_id}","href":"/api-reference/virtual-machine/get-a-vm-by-uuid"},{"title":"Get all backups of the VM","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /vm/{vm_id}/backups","href":"/api-reference/virtual-machine/get-all-backups-of-the-vm"},{"title":"Stop a VM","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/stop","href":"/api-reference/virtual-machine/stop-a-vm"},{"title":"Reboot a VM","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/reboot","href":"/api-reference/virtual-machine/reboot-a-vm"},{"title":"Restore a VM from a snapshot","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/restore-snapshot","href":"/api-reference/virtual-machine/restore-a-vm-from-a-snapshot"},{"title":"Restore a VM from a backup","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/restore-backup","href":"/api-reference/virtual-machine/restore-a-vm-from-a-backup"},{"title":"Take a snapshot","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/snapshot","href":"/api-reference/virtual-machine/take-a-snapshot"},{"title":"Enable BGP","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/enable-bgp","href":"/api-reference/virtual-machine/enable-bgp"},{"title":"Disable BGP","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/disable-bgp","href":"/api-reference/virtual-machine/disable-bgp"},{"title":"Attach a measured boot image","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/attach-measured-boot","href":"/api-reference/virtual-machine/attach-a-measured-boot-image"},{"title":"Detach the measured boot image","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/detach-measured-boot","href":"/api-reference/virtual-machine/detach-the-measured-boot-image"},{"title":"Update VM configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /vm/{vm_id}","href":"/api-reference/virtual-machine/update-vm-configuration"},{"title":"Destroy the VM","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /vm/{vm_id}","href":"/api-reference/virtual-machine/destroy-the-vm"},{"title":"List reverse DNS (PTR) records","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /vm/{vm_id}/rdns","href":"/api-reference/virtual-machine/list-reverse-dns-ptr-records"},{"title":"Set a reverse DNS (PTR) record","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/rdns","href":"/api-reference/virtual-machine/set-a-reverse-dns-ptr-record"},{"title":"Delete a reverse DNS (PTR) record","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /vm/{vm_id}/rdns/{ip_addr}","href":"/api-reference/virtual-machine/delete-a-reverse-dns-ptr-record"},{"title":"Open a noVNC console session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vm/{vm_id}/vnc","href":"/api-reference/virtual-machine/open-a-novnc-console-session"}]},{"group":"Backups","pages":[{"title":"List backups","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /backups","href":"/api-reference/backups/list-backups"},{"title":"Generate backup download URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /backups/{backup_id}","href":"/api-reference/backups/generate-backup-download-url"}]},{"group":"Snapshots","pages":[{"title":"List snapshots","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /snapshots","href":"/api-reference/snapshots/list-snapshots"},{"title":"Generate snapshot download URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /snapshots/{snapshot_id}","href":"/api-reference/snapshots/generate-snapshot-download-url"},{"title":"Delete a snapshot","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /snapshots/{snapshot_id}","href":"/api-reference/snapshots/delete-a-snapshot"}]},{"group":"Startup Scripts","pages":[{"title":"List Startup Scripts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /startup_scripts","href":"/api-reference/startup-script/list-startup-scripts"},{"title":"Create a new Startup Script","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /startup_scripts","href":"/api-reference/startup-script/create-a-new-startup-script"},{"title":"Get Startup Script by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /startup_scripts/{script_id}","href":"/api-reference/startup-script/get-startup-script-by-id"},{"title":"Update Startup Script","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /startup_scripts/{script_id}","href":"/api-reference/startup-script/update-startup-script"},{"title":"Delete Startup Script","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /startup_scripts/{script_id}","href":"/api-reference/startup-script/delete-startup-script"}]},{"group":"Object Storage","pages":[{"title":"List Object Storage Services","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /object-storage","href":"/api-reference/object-storage/list-object-storage-services"},{"title":"Get Object Storage Service","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /object-storage/{service_id}","href":"/api-reference/object-storage/get-object-storage-service"},{"title":"Create a Bucket","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /object-storage/{service_id}/buckets","href":"/api-reference/object-storage/create-a-bucket"},{"title":"Get Bucket Access Keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /object-storage/{service_id}/buckets/{bucket_name}/access_keys","href":"/api-reference/object-storage/get-bucket-access-keys"}]}]}]},"basePath":"","title":"Authentication - Onidel Cloud API","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":[],"chunks":[]}