{"componentChunkName":"component---src-templates-simple-markdown-js","path":"/celonis-apis/auth/","matchPath":"","result":{"data":{"markdownRemark":{"html":"<h1 style=\"position:relative;\"><a href=\"#authentication\" aria-label=\"authentication permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"authentication\"></div>Authentication</h1>\n<p>Each request to Celonis APIs must be authenticated with a registered Celonis Identity. There are multiple ways of authenticating as detailed below.</p>\n<h2 style=\"position:relative;\"><a href=\"#about-authentication-options\" aria-label=\"about authentication options permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"about-authentication-options\"></div>About authentication options</h2>\n<h3 style=\"position:relative;\"><a href=\"#static-keys\" aria-label=\"static keys permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"static-keys\"></div>Static Keys</h3>\n<p><strong>To be discontinued / sunsetting milestones will be officially announced.</strong></p>\n<p>While it is possible to use <strong>API keys</strong> and <strong>Application keys</strong> with Celonis, it's important to note that they are not the industry standard and are therefore not recommended. Both keys have an unlimited lifetime and cannot be “rotated”. This means that users need to delete and recreate them to achieve the equivalent of key rotation, which can be a cumbersome process.</p>\n<p>One issue (particularly relevant for API Keys) is that they give any application that uses them complete access to almost all the Celonis APIs (public or private). There is no way to restrict their access to only certain resources.</p>\n<h3 style=\"position:relative;\"><a href=\"#oauth-20-as-the-recommended-solution\" aria-label=\"oauth 20 as the recommended solution permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"oauth-20-as-the-recommended-solution\"></div>OAuth 2.0 as the Recommended Solution</h3>\n<p>OAuth 2.0 is a well-established industry standard that makes it easier to integrate customer-managed applications with Celonis. OAuth uses scopes to manage access to resources, which means that the OAuth clients can only access APIs allowed by the scopes they are configured to use.</p>\n<p>For example, we can have the scope <code class=\"language-text\">studio</code> that gives access to Studio or the <code class=\"language-text\">audit.log:read</code> scope that gives read-only access to audit logs. For an OAuth client to be able to access a certain resource (API), the client must have the OAuth scope and the Celonis permissions to do so. This follows the security principle of least privilege so that an OAuth client only gets the required privilege to perform a certain task and not any additional permissions.</p>\n<h3 style=\"position:relative;\"><a href=\"#migration-from-a-static-key-to-oauth-20\" aria-label=\"migration from a static key to oauth 20 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"migration-from-a-static-key-to-oauth-20\"></div>Migration from a static key to OAuth 2.0</h3>\n<p>If a 3P application is using an <strong>API key</strong> or <strong>Application key</strong> to integrate with Celonis, they should migrate to <strong>OAuth 2.0</strong> as soon as possible using the process below:</p>\n<ol>\n<li>\nCreate an OAuth 2.0 client as described in the \n<a href=\"./#using-an-oauth-20-token\">Using an OAuth 2.0 token</a>\n section.\n</li>\n<li>\nGive the new OAuth 2.0 client permissions on the same packages as your existing Application Key or existing user.\n</li>\n<li>\nConfigure the application to use OAuth 2.0 authentication method instead of the old Application Key authentication and provide the client ID, the client secret (optional depending on the grant type) and the authentication.\n</li>\n<li>\nRefresh and redirect (optional for \n<em>authorization code</em>\n grant type) URLs using the endpoints and requests described in the \n<a href=\"./#oauth-endpoints\">OAuth Endpoints</a>\n section.\n</li>\n</ol>\n<h2 style=\"position:relative;\"><a href=\"#using-a-user-api-key\" aria-label=\"using a user api key permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"using-a-user-api-key\"></div>Using a User API key</h2>\n<p><strong>To be discontinued / sunsetting milestones will be officially announced.</strong></p>\n<p>You can find out how to create a user API key by following\nour <a href=\"https://docs.celonis.com/en/creating-api-keys\">User API Keys</a>\nguide.</p>\n<p>The Celonis API uses Bearer Token Authentication for verifying consumer access. The credentials must be sent in an Authorization header in the HTTP request. Credentials sent in the URL or body of the request will be ignored.</p>\n<p>To authenticate using Bearer Token Authentication:</p>\n<ol>\n<li>\nCreate the token in the Celonis Platform: \n<br>\n\n\n<code class=\"language-text\">MDg5MGVkNDktNjMwZC00ODdiLTkyNGItMjNmMzMxNjRmM2IwOkhNUVRMUis4SGh6NHhBY21Vck9GaWdkem5rYzBrb3p0N056WUM0bGlqczMM</code>\n</li>\n<li>\nInclude the string in the HTTP Authorization header formatted like this: \n<br>\n\n\n<code>\nAuthorization: \n<strong>\nBearer\n</strong>\n\nMDg5MGVkNDktNjMwZC00ODdiLTkyNGItMjNmMzMxNjRmM2IwOkhNUVRMUis4SGh6NHhBY21Vck9GaWdkem5rYzBrb3p0N056WUM0bGlqczMM\n</code>\n</li>\n</ol>\n<h2 style=\"position:relative;\"><a href=\"#using-an-application-api-key\" aria-label=\"using an application api key permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"using-an-application-api-key\"></div>Using an Application API key</h2>\n<p><strong>To be discontinued / sunsetting milestones will be officially announced.</strong></p>\n<p>You can find out how to create an AppKey by following\nour <a href=\"https://docs.celonis.com/en/application-keys.html\">Application API Keys</a> guide.</p>\n<p>To authenticate using AppKey Authentication:</p>\n<ol>\n<li>\nCreate the AppKey in the Celonis Platform: \n<br>\n\n\n<code class=\"language-text\">MzgyZDEzYjItNjI1MS00NTIwLTk1YTItY2ZjYzMzZTllOTNmOkE3a1dvYnpYQ0c3aUtUdTNRNC9UNzFLUXZmY0E2ZjVXUUROajFoN1R5UzIr</code>\n</li>\n<li>\nInclude the string in the HTTP Authorization header formatted like this: \n<br>\n\n\n<code>\nAuthorization: \n<strong>\nAppKey\n</strong>\n\nMzgyZDEzYjItNjI1MS00NTIwLTk1YTItY2ZjYzMzZTllOTNmOkE3a1dvYnpYQ0c3aUtUdTNRNC9UNzFLUXZmY0E2ZjVXUUROajFoN1R5UzIr\n</code>\n</li>\n</ol>\n<h2 style=\"position:relative;\"><a href=\"#using-an-oauth-20-token\" aria-label=\"using an oauth 20 token permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"using-an-oauth-20-token\"></div>Using an OAuth 2.0 token</h2>\n<p>To generate tokens using <strong>OAuth 2.0</strong>, it is necessary to follow the configuration steps described below. </p>\n<h3 style=\"position:relative;\"><a href=\"#oauth-client-grant-types\" aria-label=\"oauth client grant types permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"oauth-client-grant-types\"></div>OAuth client Grant Types</h3>\n<h4 style=\"position:relative;\"><a href=\"#client-credentials\" aria-label=\"client credentials permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"client-credentials\"></div>Client Credentials</h4>\n<p>This grant type uses the client’s credentials to access protected data from a resource server. This is suitable for machine-to-machine authentication.</p>\n<h4 style=\"position:relative;\"><a href=\"#authorization-code\" aria-label=\"authorization code permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"authorization-code\"></div>Authorization Code</h4>\n<p>The most common grant type, the authorization server returns a single-use authorization code to the client. The client then exchanges the code for an access token. This capability is in private preview. Contact your Celonis account team to get early access.</p>\n<h3 style=\"position:relative;\"><a href=\"#oauth-client-authentication-methods\" aria-label=\"oauth client authentication methods permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"oauth-client-authentication-methods\"></div>OAuth client Authentication Methods</h3>\n<h4 style=\"position:relative;\"><a href=\"#client-secret-basic\" aria-label=\"client secret basic permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"client-secret-basic\"></div>Client secret basic</h4>\n<p>With this method, the client sends the <code class=\"language-text\">$client_id</code> and <code class=\"language-text\">$client_secret</code> using the <code class=\"language-text\">Authorization</code> header, in the following format: </p>\n<ul>\n<li>\n<strong>Authorization:</strong>\n \n<strong><code class=\"language-text\">Basic</code></strong>\n  \n<code class=\"language-text\">$encoded_credentials</code>\n.\n</li>\n</ul>\n<p>Here, the value of <code class=\"language-text\">$encoded_credentials</code> corresponds to the <strong>base64 encoding</strong> of OAuth client’s <code class=\"language-text\">$client_id:$client_secret</code>. </p>\n<h4 style=\"position:relative;\"><a href=\"#client-secret-post\" aria-label=\"client secret post permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"client-secret-post\"></div>Client secret post</h4>\n<p>The client authenticates itself by providing the <code class=\"language-text\">$client_id</code> and <code class=\"language-text\">$client_secret</code> in the HTTP request body as a form parameter. To ask for multiples scopes, each scope should be separated by space.</p>\n<h3 style=\"position:relative;\"><a href=\"#registering-an-oauth-client-in-celonis-platform\" aria-label=\"registering an oauth client in celonis platform permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"registering-an-oauth-client-in-celonis-platform\"></div>Registering an OAuth client in Celonis Platform</h3>\n<p>OAuth can be used as an authentication method for the Celonis Platform, which offers a more secure and flexible way of granting permissions to clients (applications) compared to API keys.</p>\n<ol>\n<li>\nIn the Celonis Platform, go to \n<strong>Admin &#x26; Settings</strong>\n. \n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 215px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 27.44186046511628%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA2klEQVQY042P2U4CQRBF+f9P8VWj4hYVBBckDCObiSgizZKAMyOboS6XasoJPPpwUlV9l6QzP3NhvSsM3sGwg+3e7AlbfaPphI0vo+Xsfh2YVuvuA0ZTYSaeCStt8OAcvG9ooQYPc+BxATwpgpcl8OIJzD7YfZQHT4v25r1pYfgJjhMtTLTw+U0NGizr9EIuBK8r4G0VvKsZ+RfwJjDt7BG8Kpu32rGfBR9/hctfYf9bOIiEbiLsjW0fxjY9qZ4yik333hSnLJZaKLLiGitCJ7C3/4OtF7uc79oAv652flIt0l4AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"admin and setting\"\n        title=\"admin and setting\"\n        src=\"/static/110d3def4a3e73e01c55a9c68028ef93/2eb24/admin_and_setting.png\"\n        srcset=\"/static/110d3def4a3e73e01c55a9c68028ef93/2eb24/admin_and_setting.png 215w\"\n        sizes=\"(max-width: 215px) 100vw, 215px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n</li>\n<li>\nClick \n<strong>Applications</strong>\n. \n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 220px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 20.90909090909091%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA2ElEQVQY022QXUsCQRSG9///AS+680KEUsO0G8MPCgMjtrSVRI38gCJzbXTTnVXn6YwTeOPFw3vOMLznvMfbG/heGeaRVZgtQcXws3Es1sc6/IUvZQROorfg6R00A8XZRYvHQYz/lnBZH1J5+KR0N6Lmz7i6fZf+g8bznGAKLxPzDwcCoT2WhWQZLxZXf6hJZZvcdxXt0Y7MdYd08YncTY9Ctc955ZW8aFkGdKfWwIixOZhb7Ftn7BJ6e2NQEitKJJ5ECiNXR9qx0q63upRThHIe++cUiaT9A8aSKW1bTLSbAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Application\"\n        title=\"Application\"\n        src=\"/static/8f5fb413e50122ac492d894d0ce60779/c8042/application.png\"\n        srcset=\"/static/8f5fb413e50122ac492d894d0ce60779/c8042/application.png 220w\"\n        sizes=\"(max-width: 220px) 100vw, 220px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n</li>\n<li>\nIn the upper-right corner, click \n<strong>Add New Application</strong>\n and select \"OAuth Client\". \n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 202px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 64.35643564356435%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAACRklEQVQ4y42Sy0tVURTG76xZNGzQpP+gCKIGWfYSlBpIEKH46IZWEDSISnuNskTCaWbRH1DToAgqNHzlq65eLTTTghx0vdd73mefs3/tvY/aTW7Qho/1rcf+zlrr7NSzl1B3Fc7dhpY70HwDGtrg7E1oaofG9oSvx3VM88Y1m74F9dfg+SvMSV3pkuyolJy8KNl5THI8Lam9JDncpGIXJNUtkv1nJEebJTWtkhPnJUeaEl6VTuq37ZO0dUslJ7UgbN0Lu2thewUcaoDqVthzCg4qXtOa5A7UwenLKOGEV6Whoh4qG2HLLrjevdZh32jM3YeCrieCB08F9x4J49/vFXRo3iPofKzivUlOxzTv6El8ndOxd8NCyUWkIDSt/gFleGksLrGlkHheSMp1A0QEricIghjbDfH8yMBR3A8ibCcweaGaKIdQJB8tFm0t6COl5MPEDC9eD9A3OMnwWJY3/WOMjGeZzHxhQuHt+3EWvy+bi3EszZ1S6FMoWKQcxzNOEITkC0XVUbiBMBQmHkWx6tBXIwXJ8HJ9DfzlG8FcbgURRri2T6RsFMYINabr+ARqJ7HytfX02KrGtjycTbCLrqnZ6FAXDo1MMzKaZWAow/jEZ7Iz3+gf+Mjg8BSZqXlWfhVZzdtlUVixcGyPQl4J6jF0N7Ozi0ZEi83N/WBh4SefMvNMTX81fj5n/b9grHYUixiplq1fRBxJIuWvvwidDwO1Tz9UEGUQmprVgvrLthrZsl0syzEortnN3NT8E456Yh5LS8v8BgWxmlHYa+zNAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"+Add new application\"\n        title=\"+Add new application\"\n        src=\"/static/056d1b1d6e1da4229a09e4ade366432b/2e687/add_application_oauth.png\"\n        srcset=\"/static/056d1b1d6e1da4229a09e4ade366432b/2e687/add_application_oauth.png 202w\"\n        sizes=\"(max-width: 202px) 100vw, 202px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n</li>\n<li>\nEnter a name for your client.\n</li>\n<li>\nSelect one of the supported \n<strong>OAuth grant types</strong>\n: \"Client Credentials\" or \"Authorization Code\". \n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 506px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 98.68421052631578%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAABYlAAAWJQFJUiTwAAABxklEQVQ4y6VUy27bMBDk/39Se8whBRrUdg8x7VNSJ5JhvR98ivJ0SUWumspBFS80WErLHQ3J5bL1zy2+rx6xIv+wfsTTrwhVXSPLC+R5ibwg0DjLchRlizRTKCoJpSSk/BfMJxVlQyRt8HUjIIRC00q0QkLQJD/2cSEdihqg8FVjWuurwf4MqEm4s9Z/DePz+TwL5mWG5P7vgLeqFjhEOWznaIkaBcnzavv+OumFcM66roNUKkz0JP7d2u7yw9klPx8i5LR3fqLWhpJcUOsJxsT36sf4HFia5jgldIp0OElahM33Cc45Qj/x/wcWxSe8xgmdqHpT0y8imCIoFEJcNvj90pYiKGzbP4S3WlA4JbwFs4Twz6cwIRzrMOzhWBYLMeT0VHoW7PByxOHlhLoScJY+Gipe4z4H3YG9PiWoUoEybVFl4m28DGN+ElXUbbISx2OOOM4QRSmkMDCKbo200GoBaL7xCuumoatXI6WbkhUVTOgoN5RNWVahk/ge6CGlDu8fglqetRq+9Vmjae81tTYPAza2oqWmzOBLWlDcDhCOus1ms8F+vwfn/ILdbjcLzge/3e6wWg/+7oHj6zeOL/cc9z84fgNTsBhaR1TP8gAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"select_grant_type\"\n        title=\"select_grant_type\"\n        src=\"/static/6766b56588372e6ae244564cc41d2483/29f4e/select_grant_type.png\"\n        srcset=\"/static/6766b56588372e6ae244564cc41d2483/d4770/select_grant_type.png 228w,\n/static/6766b56588372e6ae244564cc41d2483/379c3/select_grant_type.png 455w,\n/static/6766b56588372e6ae244564cc41d2483/29f4e/select_grant_type.png 506w\"\n        sizes=\"(max-width: 506px) 100vw, 506px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n</li>\n<li>\nSelect one of the supported \n<strong>OAuth authentication methods</strong>\n: \"Client secret basic\" or \"Client secret post\". \n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 422px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 118.42105263157893%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAYCAYAAAD6S912AAAACXBIWXMAABYlAAAWJQFJUiTwAAACH0lEQVQ4y6VVa3ObMBDk//+yTPqYSfqlU2fi2MGAQOKNwOax3ZPrFHfC1CGaWZ+QTqfV6bT2vn1/xP3XR9x9ecDd/QN+bbbQxkDFCWLizaoYcZIiUjkSnaPIc+TvwAtCBUXHMDaI4hRpVqJqWhRljbI6o6gajhccH6Az0GKxeXVdL05OE3A8/f0e+p6/45+56V14RVE4h3Ecrya4BFXdwQ9LBu3RdUdkZN+Q/ThOi0G9siwXGUqQNC8wDCP6fkDbdrCEbL545N3+gJz5kkXDMDjnCzDhismlCcO53xxeFMXuMuRigkjDMPkyIYzWwHv1A/hBjCyv3M49Wa4Cg8kpvSzLZ8dYD0mJpOwt4DxHa9sVw6W6uhXvBvxsc7cs7+9/pXALhJ3UrecfQpaNcW/3nNj1Ad2R41i7OpSgCV9+150c24vDrZCykbWeyNXej5w0uadlW0dd+gLpu+/Z2L+4+LvC3u4OlK4MB76Ssm7RtJykxFg6iRDIBtZ2aGjrxroxwbwv71usC1hSTG2WIaOATpZCdzqe7bFdddOeT4bBi0K4V9g/sb9TqEyFKq2583gzGuJ4onz9+Jng6bXF1m/w7FtsDxYqBZSZECXDbdAD09ZjH7BsFPOX5i1VpoEmq8b2TLDsOnyIoWNpmcM0NQyUs2w0QpXg1F80f/owpol1qHXKPyFLCWI9jdMnxYE53GyeIcVttIExKTTtGhhWi4j1bx00UQYAlDb4AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"select_authentication_method\"\n        title=\"select_authentication_method\"\n        src=\"/static/3e99b0fc8cbb473dbd2e241f4d793163/fa5c1/select_authentication_method.png\"\n        srcset=\"/static/3e99b0fc8cbb473dbd2e241f4d793163/d4770/select_authentication_method.png 228w,\n/static/3e99b0fc8cbb473dbd2e241f4d793163/fa5c1/select_authentication_method.png 422w\"\n        sizes=\"(max-width: 422px) 100vw, 422px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n</li>\n<li>\nClick \n<strong>Define scopes</strong>\n. Scopes do not grant any additional permissions beyond what the client has, but instead they specify the access-level that the client needs. Select what levels within the Celonis Platform the clients will have access to based on their granted permissions. Every scope has a name and a description, describing what can be accessed with the scope based on the permissions granted to the client.\n</li>\n<li>\nClick \n<strong>Create</strong>\n.\n</li>\n</ol>\n<p>As scopes only allow access to the APIs, the <strong>created OAuth client should now be assigned permissions</strong> to the resources behind those APIs.</p>\n<p>After creating a client in the Celonis Platform, developers receive client credentials: client ID and client secret. <strong>The client secret must be copied as it cannot be accessed again in the future.</strong></p>\n<p><strong>IMPORTANT: For production solutions, we strongly recommend using OAuth 2.0 instead of static keys.</strong></p>\n<h3 style=\"position:relative;\"><a href=\"#oauth-endpoints\" aria-label=\"oauth endpoints permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"oauth-endpoints\"></div>OAuth Endpoints</h3>\n<h4 style=\"position:relative;\"><a href=\"#the-access-and-refresh-token-url\" aria-label=\"the access and refresh token url permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"the-access-and-refresh-token-url\"></div>The access and refresh token URL</h4>\n<p>The token endpoint is available at <code class=\"language-text\">https://&lt; team-url >/oauth2/token</code>.</p>\n<h4 style=\"position:relative;\"><a href=\"#the-redirect-url\" aria-label=\"the redirect url permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"the-redirect-url\"></div>The redirect URL</h4>\n<p>This endpoint is specified by the consumer.</p>\n<h3 style=\"position:relative;\"><a href=\"#oauth-requests\" aria-label=\"oauth requests permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"oauth-requests\"></div>OAuth Requests</h3>\n<p><strong>OAuth token generation request (client_credentials)</strong></p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"12997557389125490000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`curl --request POST \\\\\n  --url https://<team>.<cluster>.celonis.cloud/oauth2/token \\\\\n  --header 'content-type: multipart/form-data' \\\\\n  --form client_id=<client id> \\\\\n  --form client_secret=<client secret> \\\\\n  --form grant_type=client_credentials \\\\\n  --form scope=<scope1 scope2 scopeN>`, `12997557389125490000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-12997557389125490000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">curl --request POST \\\n  --url https://&lt;team>.&lt;cluster>.celonis.cloud/oauth2/token \\\n  --header 'content-type: multipart/form-data' \\\n  --form client_id=&lt;client id> \\\n  --form client_secret=&lt;client secret> \\\n  --form grant_type=client_credentials \\\n  --form scope=&lt;scope1 scope2 scopeN></code></pre></div>\n      </div>\n<p><strong>OAuth token generation request (authorization_code)</strong></p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"69132570829472840000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`curl --request POST \\\\\n  --url https://<team>.<cluster>.celonis.cloud/oauth2/token \\\\\n  --header 'content-type: multipart/form-data' \\\\\n  --form client_id=<client id> \\\\\n  --form grant_type=authorization_code \\\\\n  --form response_type=code \\\\\n  --form redirect_uri=<redirect uri> \\\\\n  --form scope=<scope1 scope2 scopeN>`, `69132570829472840000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-69132570829472840000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">curl --request POST \\\n  --url https://&lt;team>.&lt;cluster>.celonis.cloud/oauth2/token \\\n  --header 'content-type: multipart/form-data' \\\n  --form client_id=&lt;client id> \\\n  --form grant_type=authorization_code \\\n  --form response_type=code \\\n  --form redirect_uri=&lt;redirect uri> \\\n  --form scope=&lt;scope1 scope2 scopeN></code></pre></div>\n      </div>\n<p><strong>OAuth token renewal request</strong></p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"89070230244025250000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`curl --request POST \\\\\n  --url https://<team>.<cluster>.celonis.cloud/oauth2/token \\\\\n  --header 'content-type: multipart/form-data' \\\\\n  --form client_id=<client id> \\\\\n  --form client_secret=<client secret> \\\\\n  --form refresh_token=<refresh token> \\\\\n  --form grant_type=refresh_token \\\\\n  --form scope=<scope1 scope2 scopeN>`, `89070230244025250000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-89070230244025250000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">curl --request POST \\\n  --url https://&lt;team>.&lt;cluster>.celonis.cloud/oauth2/token \\\n  --header 'content-type: multipart/form-data' \\\n  --form client_id=&lt;client id> \\\n  --form client_secret=&lt;client secret> \\\n  --form refresh_token=&lt;refresh token> \\\n  --form grant_type=refresh_token \\\n  --form scope=&lt;scope1 scope2 scopeN></code></pre></div>\n      </div>\n<p><strong>OAuth token response</strong></p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"4214982605087880000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`{\n\t&quot;access_token&quot;: &quot;eyJraWQiOiJkZXZlbG9wLWVzMzg0IiwiYWxnIjoiRVMzODQifQ.eyJhdWQiOlsiYjllMzgwZDYtMmUxZS00MmQ5LWI3YjUtZTJkZDI5MGYxZTU5IiwiYXBpbmF1dHMuZGV2ZWxvcC5jZWxvbmlzLmNsb3VkIl0sIm5iZiI6MTcxMjEzNDU4NywiYXpwIjoiYjllMzgwZDYtMmUxZS00MmQ5LWI3YjUtZTJkZDI5MGYxZTU5Iiwic2NvcGUiOlsib3BlbmlkIl0sImlzcyI6Imh0dHBzOi8vYXBpbmF1dHMuZGV2ZWxvcC5jZWxvbmlzLmNsb3VkIiwiZXhwIjoxNzEyMTM1NDg3LCJpYXQiOjE3MTIxMzQ1ODcsImp0aSI6IjI2ZjlhNTU3LWQwMTEtNDcyNy05MTNhLWU3NmU3MDIzMTkyMyJ9.XIBj89ymumPaDL_InAsuWiL_6e5GeMpDGgPz3cZNWF3rNzNTc4GRAXMrtBjU9Gg6SWpyqPK0tTaTsrf88fmc0MboYXvKH0CxtpqWlDp0h_QSRMb1ZsCD226kv83xbh86&quot;,\n\t&quot;scope&quot;: &quot;scope1 scope2 scopeN&quot;,\n\t&quot;token_type&quot;: &quot;Bearer&quot;,\n\t&quot;expires_in&quot;: 899\n}`, `4214982605087880000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-4214982605087880000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">{\n\t\"access_token\": \"eyJraWQiOiJkZXZlbG9wLWVzMzg0IiwiYWxnIjoiRVMzODQifQ.eyJhdWQiOlsiYjllMzgwZDYtMmUxZS00MmQ5LWI3YjUtZTJkZDI5MGYxZTU5IiwiYXBpbmF1dHMuZGV2ZWxvcC5jZWxvbmlzLmNsb3VkIl0sIm5iZiI6MTcxMjEzNDU4NywiYXpwIjoiYjllMzgwZDYtMmUxZS00MmQ5LWI3YjUtZTJkZDI5MGYxZTU5Iiwic2NvcGUiOlsib3BlbmlkIl0sImlzcyI6Imh0dHBzOi8vYXBpbmF1dHMuZGV2ZWxvcC5jZWxvbmlzLmNsb3VkIiwiZXhwIjoxNzEyMTM1NDg3LCJpYXQiOjE3MTIxMzQ1ODcsImp0aSI6IjI2ZjlhNTU3LWQwMTEtNDcyNy05MTNhLWU3NmU3MDIzMTkyMyJ9.XIBj89ymumPaDL_InAsuWiL_6e5GeMpDGgPz3cZNWF3rNzNTc4GRAXMrtBjU9Gg6SWpyqPK0tTaTsrf88fmc0MboYXvKH0CxtpqWlDp0h_QSRMb1ZsCD226kv83xbh86\",\n\t\"scope\": \"scope1 scope2 scopeN\",\n\t\"token_type\": \"Bearer\",\n\t\"expires_in\": 899\n}</code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#regenerating-the-oauth-client-secret\" aria-label=\"regenerating the oauth client secret permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"regenerating-the-oauth-client-secret\"></div>Regenerating the OAuth client secret</h2>\n<p>For security reasons, you may need to regenerate the client secret. </p>\n<ol>\n<li>\nNavigate to \n<strong>Admin &#x26; Setting > Applications</strong>\n.\n</li>\n<li>\nFind the OAuth client. \n</li>\n<li>\nClick the three dots menu on the right and select \n<strong>Regenerate Secret</strong>\n.\n</li>\n</ol>\n<p>After generating the new client secret, make sure to update it in any integration where this client is used.</p>\n<h2 style=\"position:relative;\"><a href=\"#managing-oauth-client-consent\" aria-label=\"managing oauth client consent permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"managing-oauth-client-consent\"></div>Managing OAuth Client Consent</h2>\n<p>During OAuth authorization flows, users can give consent to OAuth clients to access resources on their behalf. To view which OAuth clients have been granted consent:</p>\n<ol>\n<li>\nNavigate to \n<strong>Edit Profile</strong>\n.\n</li>\n<li>\nGo to the \n<strong>OAuth Client Management</strong>\n section to view which applications (OAuth clients) have been granted consent. \n</li>\n<li>\nYou can also revoke a consent by clicking on \n<strong>Edit</strong>\n and then selecting \n<strong>Revoke Consent</strong>\n for the corresponding client.\n</li>\n</ol>\n<h2 style=\"position:relative;\"><a href=\"#how-to-use-oauth-tokens\" aria-label=\"how to use oauth tokens permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"how-to-use-oauth-tokens\"></div>How to use OAuth tokens</h2>\n<p>The Celonis API uses Bearer Token Authentication to verify consumer access. The credentials must be sent in an Authorization header in the HTTP request. </p>\n<p><strong>NOTE: Credentials sent in the URL or body of the request will be ignored</strong>.</p>\n<p>To authenticate using Bearer Token Authentication:</p>\n<ol>\n<li>\nCall the token endpoint (\n<code class=\"language-text\">https://&lt; team-url >/oauth2/token</code>\n) to issue a new token or renew an existing token.\n</li>\n<li>\nInclude the \n<code class=\"language-text\">access_token</code>\n in the HTTP Authorization header formatted like this: \n<br>\n\n\n<code>\nAuthorization: \n<strong>\nBearer\n</strong>\n\neyJraWQiOiJkZXZlbG9wLWVzMzg0IiwiYWxnIjoiRVMzODQifQ.eyJhdWQiOlsiYjllMzgwZDYtMmUxZS00MmQ5LWI3YjUtZTJkZDI5MGYxZTU5IiwiYXBpbmF1dHMuZGV2ZWxvcC5jZWxvbmlzLmNsb3VkIl0sIm5iZiI6MTcxMjEzNDU4NywiYXpwIjoiYjllMzgwZDYtMmUxZS00MmQ5LWI3YjUtZTJkZDI5MGYxZTU5Iiwic2NvcGUiOlsib3BlbmlkIl0sImlzcyI6Imh0dHBzOi8vYXBpbmF1dHMuZGV2ZWxvcC5jZWxvbmlzLmNsb3VkIiwiZXhwIjoxNzEyMTM1NDg3LCJpYXQiOjE3MTIxMzQ1ODcsImp0aSI6IjI2ZjlhNTU3LWQwMTEtNDcyNy05MTNhLWU3NmU3MDIzMTkyMyJ9.XIBj89ymumPaDL\n<em>InAsuWiL</em>\n6e5GeMpDGgPz3cZNWF3rNzNTc4GRAXMrtBjU9Gg6SWpyqPK0tTaTsrf88fmc0MboYXvKH0CxtpqWlDp0h_QSRMb1ZsCD226kv83xbh86\n</code>\n</li>\n</ol>\n<h1 style=\"position:relative;\"><a href=\"#video\" aria-label=\"video permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"video\"></div>Video</h1>\n<iframe width=\"560\" height=\"315\" src=\"https://fast.wistia.net/embed/iframe/6lkrdbhyih?seo=false&videoFoam=true\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<h1 style=\"position:relative;\"><a href=\"#authorization\" aria-label=\"authorization permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"authorization\"></div>Authorization</h1>\n<h2 style=\"position:relative;\"><a href=\"#scopes\" aria-label=\"scopes permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"scopes\"></div>Scopes</h2>\n<p>Scopes do not grant any additional permissions beyond what the client has. Instead, they specify the access-level that the client needs. Every scope has a name and a description, describing what can be accessed with the scope <strong>based on the permissions granted</strong> to the client.</p>\n<table>\n<thead>\n<tr>\n<th><strong>Scope Name</strong></th>\n<th><strong>Scope  Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code class=\"language-text\">intelligence.knowledge-models:read</code></td>\n<td>Allows read access to Knowledge Models and their data, filters, records, KPIs, OData metadata, specs, and triggers (based on granted permissions).</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">intelligence.subscriptions:manage</code></td>\n<td>Allows managing subscriptions to Knowledge Model triggers, including creation, updates, and event replay, based on granted permissions.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">intelligence.tools:execute</code></td>\n<td>Allows executing AI Copilot Tools, based on granted permissions.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">intelligence.conversations:write</code></td>\n<td>Gives access to Studio Copilot conversational API.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">user-provisioning.scim</code></td>\n<td>Gives access to the SCIM API.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">audit.log:read</code></td>\n<td>Gives read-only access audit logs.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">integration.data-pools</code></td>\n<td>Gives access to data pools.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">integration.data-pools:data_push</code></td>\n<td>Gives access to push data to data pools.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">integration.data-pools:continuous_data_push</code></td>\n<td>Gives access to continuously push data to data pools.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">platform-adoption.tracking-events:read</code></td>\n<td>Gives read-only access to platform-adoption tracking-events.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">team.user-group-info:read</code></td>\n<td>Gives read-only access to team user and group information.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">team.login-history:read</code></td>\n<td>Gives read-only access to team login history.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">task-mining.gateway</code></td>\n<td>Gives access to Task Mining Gateway integration API.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">task-mining.metadata:read</code></td>\n<td>Gives read-only access to Task Mining user metadata.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">action-engine.projects</code></td>\n<td>Gives access to projects.</td>\n</tr>\n</tbody>\n</table>\n<h2 style=\"position:relative;\"><a href=\"#permissions\" aria-label=\"permissions permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"permissions\"></div>Permissions</h2>\n<p>You must <a href=\"https://docs.celonis.com/en/managing-celonis-platform-permissions.html\">set the right permissions</a> and ensure the <a href=\"#authentication\">User API Key or the Application API Key</a> leveraged for authorization purposes has access to the Celonis resources you would like to access through the  APIs.</p>","headings":[{"value":"Authentication","depth":1},{"value":"About authentication options","depth":2},{"value":"Static Keys","depth":3},{"value":"OAuth 2.0 as the Recommended Solution","depth":3},{"value":"Migration from a static key to OAuth 2.0","depth":3},{"value":"Using a User API key","depth":2},{"value":"Using an Application API key","depth":2},{"value":"Using an OAuth 2.0 token","depth":2},{"value":"OAuth client Grant Types","depth":3},{"value":"Client Credentials","depth":4},{"value":"Authorization Code","depth":4},{"value":"OAuth client Authentication Methods","depth":3},{"value":"Client secret basic","depth":4},{"value":"Client secret post","depth":4},{"value":"Registering an OAuth client in Celonis Platform","depth":3},{"value":"OAuth Endpoints","depth":3},{"value":"The access and refresh token URL","depth":4},{"value":"The redirect URL","depth":4},{"value":"OAuth Requests","depth":3},{"value":"Regenerating the OAuth client secret","depth":2},{"value":"Managing OAuth Client Consent","depth":2},{"value":"How to use OAuth tokens","depth":2},{"value":"Video","depth":1},{"value":"Authorization","depth":1},{"value":"Scopes","depth":2},{"value":"Permissions","depth":2}]},"contentItem":{"data":{"lastModified":"2025-11-11T20:55:07.000Z","enableToc":null,"disableLastModified":null,"tocMaxDepth":null,"requestLogin":false}},"siteConfig":{"enableToc":false,"disableLastModified":false,"tocMaxDepth":4}},"pageContext":{"matchPath":"","id":"c2c6496a-aa0e-5b78-9a7e-9a340a164d44__redocly content/celonis-apis/auth/","seo":{"title":"Authentication","description":null,"image":"","keywords":null,"jsonLd":null,"lang":null,"siteUrl":null},"pageId":"celonis-apis/auth.md","pageBaseUrl":"/celonis-apis/auth","type":"markdown","toc":{"enable":true,"maxDepth":4,"headings":[{"depth":1,"value":"Authentication","id":"authentication"},{"depth":2,"value":"About authentication options","id":"about-authentication-options"},{"depth":3,"value":"Static Keys","id":"static-keys"},{"depth":3,"value":"OAuth 2.0 as the Recommended Solution","id":"oauth-20-as-the-recommended-solution"},{"depth":3,"value":"Migration from a static key to OAuth 2.0","id":"migration-from-a-static-key-to-oauth-20"},{"depth":2,"value":"Using a User API key","id":"using-a-user-api-key"},{"depth":2,"value":"Using an Application API key","id":"using-an-application-api-key"},{"depth":2,"value":"Using an OAuth 2.0 token","id":"using-an-oauth-20-token"},{"depth":3,"value":"OAuth client Grant Types","id":"oauth-client-grant-types"},{"depth":4,"value":"Client Credentials","id":"client-credentials"},{"depth":4,"value":"Authorization Code","id":"authorization-code"},{"depth":3,"value":"OAuth client Authentication Methods","id":"oauth-client-authentication-methods"},{"depth":4,"value":"Client secret basic","id":"client-secret-basic"},{"depth":4,"value":"Client secret post","id":"client-secret-post"},{"depth":3,"value":"Registering an OAuth client in Celonis Platform","id":"registering-an-oauth-client-in-celonis-platform"},{"depth":3,"value":"OAuth Endpoints","id":"oauth-endpoints"},{"depth":4,"value":"The access and refresh token URL","id":"the-access-and-refresh-token-url"},{"depth":4,"value":"The redirect URL","id":"the-redirect-url"},{"depth":3,"value":"OAuth Requests","id":"oauth-requests"},{"depth":2,"value":"Regenerating the OAuth client secret","id":"regenerating-the-oauth-client-secret"},{"depth":2,"value":"Managing OAuth Client Consent","id":"managing-oauth-client-consent"},{"depth":2,"value":"How to use OAuth tokens","id":"how-to-use-oauth-tokens"},{"depth":1,"value":"Video","id":"video"},{"depth":1,"value":"Authorization","id":"authorization"},{"depth":2,"value":"Scopes","id":"scopes"},{"depth":2,"value":"Permissions","id":"permissions"}]},"data":{"title":""},"catalogInfo":null,"link":"/celonis-apis/auth/","sidebarName":"celonis","isLanding":false,"showPrevButton":null,"showNextButton":null,"apiVersions":null,"apiVersionId":null,"isDefaultApiVersion":null}},"staticQueryHashes":["1123603147","1302185487","1344209882","1398840060","1520077861","1975142765","2667623876","2950305614","3240152602","3743992808","561138138"]}