A service account is one of the principal types of an org that can be granted specific access permissions to perform headless operations against the API.A service account can be mapped to a cpln profile and execute CLI commands on behalf of that account.
This profile can be set as the default profile by using the command cpln profile set-default PROFILE_NAME or by using the CLI option --profile PROFILE_NAME to override the default when executing a command.
A service account can be associated with one or more keys that are generated by the platform. They are used to authenticate and authorize the service account to the API.
When a new key is created, it will only be displayed and available for download one time.It cannot be retrieved again. If a key is lost, misplaced, or forgotten, it must be removed and regenerated.
After a new key has been generated and saved, the UI will display the name of the key (which matches the first sixteen characters of the key) and the description entered.Individual keys can be removed if they are no longer used or have been compromised.
Displays the permissions granted to principals for the service account. See Access Report for what each entry shows, how to open it from the Console, CLI, or API, and how groups, query targets, and implied permissions appear in it.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Control Plane","description":"Documentation for Control Plane, a hybrid multi-cloud platform for deploying and managing workloads, Kubernetes, networking, secrets, logs, and infrastructure across AWS, GCP, Azure, and private clouds.","colors":{"primary":"#1563ff","light":"#64a5ef","dark":"#1563ff"},"logo":{"light":"https://mintcdn.com/controlplanecorporation/hwvJiAoqIziVJ3gK/logos/dark.svg?fit=max\u0026auto=format\u0026n=hwvJiAoqIziVJ3gK\u0026q=85\u0026s=ec7b5a4bb958adc4d92dedfb41ab2e3c","dark":"https://mintcdn.com/controlplanecorporation/hwvJiAoqIziVJ3gK/logos/light.svg?fit=max\u0026auto=format\u0026n=hwvJiAoqIziVJ3gK\u0026q=85\u0026s=4904ca0b5a8c55fa87495b8edd04aadc"},"favicon":"https://mintcdn.com/controlplanecorporation/hwvJiAoqIziVJ3gK/logos/favicon.png?fit=max\u0026auto=format\u0026n=hwvJiAoqIziVJ3gK\u0026q=85\u0026s=11640a5f7b1a462c233be7a72afa72d7","api":{"openapi":["https://api.cpln.io/openapi.json","https://audit.cpln.io/openapi.json"],"mdx":{"auth":{"method":"bearer"},"server":"https://api.cpln.io"}},"navbar":{"links":[{"href":"https://console.cpln.io/signin","label":"Sign in"}],"primary":{"type":"button","label":"Sign up","href":"https://console.cpln.io/signup"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/control-plane-corporation","youtube":"https://www.youtube.com/@controlplanecorporation","reddit":"https://www.reddit.com/r/controlplane"}},"search":{"prompt":"Search Control Plane docs..."},"seo":{"indexing":"navigable"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity",{"title":"Install MCP Server","description":"Connect the Control Plane MCP Server to your AI tool","icon":"plug","href":"https://docs.controlplane.com/ai/overview"}],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"compass","href":"https://controlplane.com"},{"anchor":"Status","icon":"signal","href":"https://status.cpln.io/"},{"anchor":"Blog","icon":"newspaper","href":"https://controlplane.com/blog"},{"anchor":"FAQ","icon":"question","href":"https://controlplane.com/faq"},{"anchor":"Product Demos","icon":"video","href":"https://controlplane.com/product-demos"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"controlplanecorporation","hasAudioNarration":false,"actualSubdomain":"controlplanecorporation","customDomains":["docs.controlplane.com"],"gitSource":{"type":"github","owner":"controlplane-docs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af4fab4dc28594f180fced1","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"API Reference","count":173},{"language":"default","tag":"Core API","count":164},{"language":"default","tag":"Template Catalog","count":112},{"language":"default","tag":"Templates","count":102},{"language":"default","tag":"Home","count":79},{"language":"default","tag":"How-to Guides","count":72},{"language":"default","tag":"CLI Reference","count":66},{"language":"default","tag":"Reference","count":49},{"language":"default","tag":"Commands","count":38},{"language":"default","tag":"Workload","count":24}],"searchSettings":{"maxResults":5}},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":[{"filePath":"global.css","content":"html{overflow-y:scroll}"},{"filePath":"style.css","content":"img[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0) saturate(100%) invert(69%) sepia(9%) saturate(309%) hue-rotate(176deg) brightness(95%) contrast(87%)!important}a[aria-current=\"page\"] img[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0) saturate(100%) invert(28%) sepia(98%) saturate(3000%) hue-rotate(213deg) brightness(102%) contrast(101%)!important}.dark img[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0) saturate(100%) invert(47%) sepia(8%) saturate(420%) hue-rotate(177deg) brightness(94%) contrast(85%)!important}.dark a[aria-current=\"page\"] img[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0) saturate(100%) invert(63%) sepia(74%) saturate(380%) hue-rotate(186deg) brightness(98%) contrast(91%)!important}img.sidebar-group-icon[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0)!important}.dark img.sidebar-group-icon[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0) invert(1)!important}img[src*=\"/icons/mcp.svg\"]{filter:brightness(0) saturate(100%) invert(28%) sepia(98%) saturate(3000%) hue-rotate(213deg) brightness(102%) contrast(101%)!important}.dark img[src*=\"/icons/mcp.svg\"]{filter:brightness(0) saturate(100%) invert(63%) sepia(74%) saturate(380%) hue-rotate(186deg) brightness(98%) contrast(91%)!important}.dark img[src*=\"/icons/chatgpt.svg\"],.dark img[src*=\"/icons/codex.svg\"],.dark img[src*=\"/icons/cursor.svg\"],.dark img[src*=\"/icons/opencode.svg\"]{filter:invert(1)!important}"}],"page":{"pagePath":"reference/serviceaccount","slug":"/reference/serviceaccount","pageMetadata":{"title":"Service Account","description":"Service accounts are headless principals for API and CLI access. Covers token generation, key management, profiles, and authentication for automation.","keywords":["bot","machine user","sa key","long lived token","ci/cd","pipeline auth","profile token","oauth client","api key","headless auth"],"href":"/reference/serviceaccount"},"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: \"Service accounts are headless principals for API and CLI access. Covers token generation, key management, profiles, and authentication for automation.\"\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`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._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:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[`A service account is one of the `,_jsx(_components.a,{href:`/concepts/access-control`,children:`principal types`}),` of an `,_jsx(_components.a,{href:`/reference/org`,children:`org`}),` that can be granted specific access permissions to perform headless operations against the `,_jsx(_components.a,{href:`/api-reference/api`,children:`API`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`A service account can be `,_jsx(_components.a,{href:`#map-a-service-account-with-a-profile`,children:`mapped`}),` to a `,_jsx(_components.a,{href:`/cli-reference/commands/profile`,children:`cpln profile`}),` and execute CLI commands on behalf of that account.`]}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-service-account`,children:`Create a Service Account`}),`\n`,_jsxs(_components.p,{children:[`Refer to the `,_jsx(_components.a,{href:`/guides/create-service-account`,children:`Create a Service Account`}),` guide for additional details.`]}),`\n`,_jsx(Heading,{level:`2`,id:`built-in-service-accounts`,children:`Built-in Service Accounts`}),`\n`,_jsx(_components.p,{children:`The following service accounts are built-in and cannot be modified or deleted:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Service Account Name`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`controlplane`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Built-in service account used by Control Plane to interact with this org’s resources`})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`map-a-service-account-with-a-profile`,children:`Map a Service Account with a profile`}),`\n`,_jsxs(_components.p,{children:[`Using the following `,_jsx(_components.a,{href:`/cli-reference/overview`,children:`CLI`}),` command, a `,_jsx(_components.a,{href:`/cli-reference/commands/profile`,children:`profile`}),` will be created and mapped to a service account:`]}),`\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:`cpln`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` profile`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` create`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PROFILE_NAME`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --token`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` GENERATED_KEY`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`This profile can be set as the default profile by using the command `,_jsx(_components.code,{children:`cpln profile set-default PROFILE_NAME`}),` or by using the CLI option `,_jsx(_components.code,{children:`--profile PROFILE_NAME`}),` to override the default when executing a command.`]}),`\n`,_jsx(Heading,{level:`2`,id:`service-account-keys`,children:`Service Account Keys`}),`\n`,_jsxs(_components.p,{children:[`A service account can be associated with one or more `,_jsx(_components.strong,{children:`keys`}),` that are generated by the platform. They are used to authenticate and authorize the service account to the API.`]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`When a new key is created, it will only be displayed and available for download `,_jsx(_components.strong,{children:`one time`}),`.`]}),_jsx(_components.p,{children:`It cannot be retrieved again. If a key is lost, misplaced, or forgotten, it must be removed and regenerated.`})]}),`\n`,_jsx(_components.p,{children:`After a new key has been generated and saved, the UI will display the name of the key (which matches the first sixteen characters of the key) and the description entered.`}),`\n`,_jsx(_components.p,{children:`Individual keys can be removed if they are no longer used or have been compromised.`}),`\n`,_jsx(Heading,{level:`2`,id:`permissions`,children:`Permissions`}),`\n`,_jsxs(_components.p,{children:[`The permissions below are used to define `,_jsx(_components.a,{href:`/reference/policy`,children:`policies`}),` together with one or more of the four\n`,_jsx(_components.a,{href:`/concepts/access-control`,children:`principal types`}),`:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Permission`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Description`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Implies`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`addKey`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Add key to an existing service account`}),_jsx(_components.td,{style:{textAlign:`left`}})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`create`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Create new service accounts`}),_jsx(_components.td,{style:{textAlign:`left`}})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`delete`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Delete service accounts`}),_jsx(_components.td,{style:{textAlign:`left`}})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`edit`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Modify existing resources`}),_jsx(_components.td,{style:{textAlign:`left`},children:`view`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`manage`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Full access`}),_jsx(_components.td,{style:{textAlign:`left`},children:`addKey, create, delete, edit, manage, view`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`view`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read-only access`}),_jsx(_components.td,{style:{textAlign:`left`}})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`access-report`,children:`Access Report`}),`\n`,_jsxs(_components.p,{children:[`Displays the permissions granted to principals for the service account. See `,_jsx(_components.a,{href:`/concepts/access-control#access-report`,children:`Access Report`}),` for what each entry shows, how to open it from the Console, CLI, or API, and how groups, query targets, and implied permissions appear in it.`]}),`\n`,_jsx(Heading,{level:`2`,id:`event-log`,children:`Event Log`}),`\n`,_jsxs(_components.p,{children:[`Lists the events recorded for the service account. See the `,_jsx(_components.a,{href:`/reference/events`,children:`Event Log reference`}),` for field details.`]}),`\n`,_jsx(Heading,{level:`2`,id:`cli`,children:`CLI`}),`\n`,_jsxs(_components.p,{children:[`To view the CLI documentation for Service Accounts, see the `,_jsx(_components.a,{href:`/cli-reference/commands/serviceaccount`,children:`Service Account CLI reference`}),`.`]})]})}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":"Service Account","description":"Service accounts are headless principals for API and CLI access. Covers token generation, key management, profiles, and authentication for automation.","keywords":["bot","machine user","sa key","long lived token","ci/cd","pipeline auth","profile token","oauth client","api key","headless auth"],"href":"/reference/serviceaccount"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Create a Service Account","slug":"create-a-service-account","depth":2,"children":[]},{"title":"Built-in Service Accounts","slug":"built-in-service-accounts","depth":2,"children":[]},{"title":"Map a Service Account with a profile","slug":"map-a-service-account-with-a-profile","depth":2,"children":[]},{"title":"Service Account Keys","slug":"service-account-keys","depth":2,"children":[]},{"title":"Permissions","slug":"permissions","depth":2,"children":[]},{"title":"Access Report","slug":"access-report","depth":2,"children":[]},{"title":"Event Log","slug":"event-log","depth":2,"children":[]},{"title":"CLI","slug":"cli","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/controlplanecorporation/20452e834d3719a6/content/legacy-cli-hash-redirects.js","/_mintlify/custom/controlplanecorporation/dd1961f62f732454/content/sync-tabs.js"],"subdomain":"controlplanecorporation","siteName":"Control Plane","title":"Service Account - Control Plane","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T05:00:36.348Z","originalFileLocation":"reference/serviceaccount.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=\"Service accounts are headless principals for API and CLI access. Covers token generation, key management, profiles, and authentication for automation.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Control Plane\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_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/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_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/controlplanecorporation/N_jUg8p-q778yjKC/_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/controlplanecorporation/N_jUg8p-q778yjKC/_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/controlplanecorporation/N_jUg8p-q778yjKC/_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/controlplanecorporation/N_jUg8p-q778yjKC/_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/controlplanecorporation/N_jUg8p-q778yjKC/_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/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Service Account - Control Plane\">\u003cmeta data-mint-head property=\"og:description\" content=\"Service accounts are headless principals for API and CLI access. Covers token generation, key management, profiles, and authentication for automation.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Control Plane\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.controlplane.com/reference/serviceaccount\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://controlplanecorporation.mintlify.site/_mintlify/api/og/v2?division=Reference\u0026amp;title=Service+Account\u0026amp;description=Service+accounts+are+headless+principals+for+API+and+CLI+access.+Covers+token+generation%2C+key+management%2C+profiles%2C+and+authentication+for+automation.\u0026amp;theme=565533155d08f0e2a83ec355\u0026amp;signature=9260ec11d55b6e0df1b69748d82d14fc1b3d21ad3b4e5bf07ced2f058bd82b6f\">\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=\"Service Account - Control Plane\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Service accounts are headless principals for API and CLI access. Covers token generation, key management, profiles, and authentication for automation.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://controlplanecorporation.mintlify.site/_mintlify/api/og/v2?division=Reference\u0026amp;title=Service+Account\u0026amp;description=Service+accounts+are+headless+principals+for+API+and+CLI+access.+Covers+token+generation%2C+key+management%2C+profiles%2C+and+authentication+for+automation.\u0026amp;theme=565533155d08f0e2a83ec355\u0026amp;signature=9260ec11d55b6e0df1b69748d82d14fc1b3d21ad3b4e5bf07ced2f058bd82b6f\">\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/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Control Plane\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1563ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.controlplane.com/reference/serviceaccount\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/serviceaccount.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.controlplane.com/#organization\",\"name\":\"Control Plane\",\"url\":\"https://docs.controlplane.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/controlplanecorporation/hwvJiAoqIziVJ3gK/logos/dark.svg?fit=max\u0026auto=format\u0026n=hwvJiAoqIziVJ3gK\u0026q=85\u0026s=ec7b5a4bb958adc4d92dedfb41ab2e3c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.controlplane.com#website\",\"name\":\"Control Plane\",\"url\":\"https://docs.controlplane.com\",\"publisher\":{\"@id\":\"https://docs.controlplane.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.controlplane.com/reference/serviceaccount#webpage\",\"url\":\"https://docs.controlplane.com/reference/serviceaccount\",\"name\":\"Service Account\",\"description\":\"Service accounts are headless principals for API and CLI access. Covers token generation, key management, profiles, and authentication for automation.\",\"dateModified\":\"2026-10-15T05:00:36.348Z\",\"isPartOf\":{\"@id\":\"https://docs.controlplane.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.controlplane.com/reference/serviceaccount#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.controlplane.com/reference/serviceaccount#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reference\",\"item\":\"https://docs.controlplane.com/reference/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service Account\",\"item\":\"https://docs.controlplane.com/reference/serviceaccount\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.controlplane.com/reference/serviceaccount#article\",\"headline\":\"Service Account\",\"name\":\"Service Account\",\"description\":\"Service accounts are headless principals for API and CLI access. Covers token generation, key management, profiles, and authentication for automation.\",\"url\":\"https://docs.controlplane.com/reference/serviceaccount\",\"mainEntityOfPage\":{\"@id\":\"https://docs.controlplane.com/reference/serviceaccount#webpage\"},\"dateModified\":\"2026-10-15T05:00:36.348Z\",\"keywords\":\"bot, machine user, sa key, long lived token, ci/cd, pipeline auth, profile token, oauth client, api key, headless auth\",\"publisher\":{\"@id\":\"https://docs.controlplane.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.controlplane.com#website\"}}]}\u003c/script>","agentPointerHref":"/reference/serviceaccount.md","siteName":"Control Plane","nav":{"global":{"anchors":[{"anchor":"Website","icon":"compass","href":"https://controlplane.com"},{"anchor":"Status","icon":"signal","href":"https://status.cpln.io/"},{"anchor":"Blog","icon":"newspaper","href":"https://controlplane.com/blog"},{"anchor":"FAQ","icon":"question","href":"https://controlplane.com/faq"},{"anchor":"Product Demos","icon":"video","href":"https://controlplane.com/product-demos"}]},"tabs":[{"tab":"Home","groups":[{"group":"Getting Started","icon":"circle-play","pages":[{"title":"Introduction","href":"/introduction"},{"title":"What is Control Plane?","href":"/whatis"},{"title":"Release Notes","href":"/releases"},{"title":"Compliance","href":"/compliance"}]},{"group":"Quickstart","icon":"rocket","pages":[{"title":"Quickstart","sidebarTitle":"Overview","href":"/quickstart/overview"},{"title":"1. Deploy your first workload","href":"/quickstart/deploy-workload"},{"title":"2. Deploy your own application","href":"/quickstart/deploy-application"},{"title":"3. Service-to-service communication","sidebarTitle":"3. Connect two workloads","href":"/quickstart/connect-workloads"},{"title":"4. Add a database and wire its secret","sidebarTitle":"4. Add a database and secret","href":"/quickstart/database-and-secrets"},{"title":"5. Observe your workload","href":"/quickstart/observe-workload"},{"title":"6. Configure a custom domain","sidebarTitle":"6. Custom domain","tag":"Optional","href":"/quickstart/custom-domain"}]},{"group":"Concepts","icon":"lightbulb","pages":[{"title":"Access Control","href":"/concepts/access-control"},{"title":"Billing Account","href":"/concepts/billing"},{"title":"Command","href":"/concepts/command"},{"title":"Deployment","href":"/concepts/deployment"},{"title":"GVC (Global Virtual Cloud)","href":"/concepts/gvc"},{"title":"Identity","href":"/concepts/identity"},{"title":"Location","href":"/concepts/location"},{"title":"Org (Organization)","href":"/concepts/org"},{"title":"Quota","href":"/concepts/quota"},{"title":"Replica","href":"/concepts/replica"},{"title":"Resource Model","href":"/concepts/resource-model"},{"title":"Workload","href":"/concepts/workload"}]},{"group":"Core","icon":"toolbox","pages":[{"title":"Audit Trail","href":"/core/audittrail"},{"title":"Authentication","href":"/core/authentication"},{"title":"Kubernetes Operator","href":"/core/kubernetes-operator"},{"title":"Logs","href":"/core/logs"},{"title":"Misc","href":"/core/misc"},{"title":"Query","href":"/core/query"},{"title":"Security","href":"/core/security"}]},{"group":"Reference","icon":"book-open","pages":[{"title":"Overview","href":"/reference/overview"},{"title":"Agent","href":"/reference/agent"},{"title":"Audit Context","href":"/reference/auditctx"},{"title":"Billing API","href":"/reference/billing-api"},{"title":"Certificate Generator","href":"/reference/certificategenerator"},{"title":"Cloud Account","href":"/reference/cloudaccount"},{"title":"Deployment","href":"/reference/deployment"},{"title":"Domain","href":"/reference/domain"},{"title":"Error Messages","href":"/reference/error-messages"},{"title":"Event Log","href":"/reference/events"},{"title":"Group","href":"/reference/group"},{"title":"GVC (Global Virtual Cloud)","href":"/reference/gvc"},{"title":"Identity","href":"/reference/identity"},{"title":"Image","href":"/reference/image"},{"title":"IP Set","href":"/reference/ipset"},{"title":"Location","href":"/reference/location"},{"group":"Org","pages":[{"title":"Org (Organization)","sidebarTitle":"Overview","href":"/reference/org"},{"group":"External Logging","pages":[{"title":"Overview","href":"/external-logging/overview"},{"title":"Amazon S3","href":"/external-logging/s3"},{"title":"CloudWatch","href":"/external-logging/cloudwatch"},{"title":"Coralogix","href":"/external-logging/coralogix"},{"title":"Datadog","href":"/external-logging/datadog"},{"title":"Elastic","href":"/external-logging/elastic"},{"title":"Fluentd","href":"/external-logging/fluentd"},{"title":"Logz.io","href":"/external-logging/logz-io"},{"title":"Loki","href":"/external-logging/loki"},{"title":"Stackdriver","href":"/external-logging/stackdriver"},{"title":"Syslog","href":"/external-logging/syslog"},{"title":"OpenTelemetry","href":"/external-logging/opentelemetry"}]}]},{"title":"Policy","href":"/reference/policy"},{"title":"Quota","href":"/reference/quota"},{"title":"Secret","description":"Encrypted secret storage with 12 types: AWS, Azure SDK, Azure Connector, Docker, ECR, GCP, Dictionary, Keypair, Opaque, NATS Account, TLS, and Username \u0026 Password.","href":"/reference/secret"},{"title":"Service Account","href":"/reference/serviceaccount"},{"title":"Usage API","description":"Query the metered usage of an org (CPU, memory, egress, storage, load balancers) by GVC, workload, or location, and list the values a usage tag takes, through the metering API.","href":"/reference/usage-api"},{"title":"User","href":"/reference/user"},{"title":"Volume Set","href":"/reference/volumeset"},{"group":"Workload","pages":[{"title":"General","href":"/reference/workload/general"},{"title":"Autoscaling","href":"/reference/workload/autoscaling"},{"title":"Capacity AI","href":"/reference/workload/capacity"},{"title":"Containers","href":"/reference/workload/containers"},{"title":"Custom Metrics","href":"/reference/workload/custom-metrics"},{"title":"Firewall","href":"/reference/workload/firewall"},{"title":"JWT Authentication","href":"/reference/workload/jwt-auth"},{"title":"Load Balancing","href":"/reference/workload/load-balancing"},{"title":"Security","href":"/reference/workload/security"},{"title":"Termination Sequence","href":"/reference/workload/termination"},{"title":"Types","href":"/reference/workload/types"},{"title":"Virtual Machines","href":"/reference/workload/vm"},{"title":"Volumes","href":"/reference/workload/volumes"}]}]}]},{"tab":"How-to Guides","pages":[{"title":"How-to Guides","href":"/guides/overview"}]},{"tab":"Template Catalog","pages":[{"title":"Template Catalog","href":"/template-catalog/overview"}]},{"tab":"Managed Kubernetes","pages":[{"title":"Managed Kubernetes","href":"/mk8s/overview"}]},{"tab":"CPLN BYOK","pages":[{"title":"CPLN BYOK","href":"/byok/overview"}]},{"tab":"AI Agents","pages":[{"title":"AI Agents","href":"/ai/overview"}]},{"tab":"Infra as Code","pages":[{"title":"Infra as Code","href":"/iac/overview"}]},{"tab":"CLI Reference","pages":[{"title":"CLI Reference","href":"/cli-reference/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/api"}]}]},"basePath":"","title":"Service Account - Control Plane","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":[],"chunks":[]}