{"componentChunkName":"component---src-templates-simple-markdown-js","path":"/celonis-apis/data-job-execution-api/","matchPath":"","result":{"data":{"markdownRemark":{"html":"<h1 style=\"position:relative;\"><a href=\"#executing-data-jobs-using-a-restful-api\" aria-label=\"executing data jobs using a restful api 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=\"executing-data-jobs-using-a-restful-api\"></div>Executing data jobs using a RESTful API</h1>\n<p>Using RESTful APIs, you can both execute a data job and query the status of existing data jobs. For both requests you need the data pool ID (poolId) and data job ID (jobId). These can be retrieved from the URL of the respective data jobs using the example below:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"53183929753020660000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`[https://[customerdomain].[realm].celonis.cloud/integration/ui/pools/{poolid}/data-configuration/data-jobs?jobId={jobid}](null)`, `53183929753020660000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-53183929753020660000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">[https://[customerdomain].[realm].celonis.cloud/integration/ui/pools/{poolid}/data-configuration/data-jobs?jobId={jobid}](null)</code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#security\" aria-label=\"security 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=\"security\"></div>Security</h2>\n<p>The following bearer and AppKey security settings are available:</p>\n<h3 style=\"position:relative;\"><a href=\"#bearer\" aria-label=\"bearer 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=\"bearer\"></div>Bearer</h3>\n<ul>\n<li>\n<strong>Type</strong>\n: OAuth access token or apiKey.\n</li>\n<li>\n<strong>Name</strong>\n: OAuth access token or User-Specific API Key.\n</li>\n<li>\n<strong>In</strong>\n: HEADER.\n</li>\n</ul>\n<h3 style=\"position:relative;\"><a href=\"#appkey\" aria-label=\"appkey 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=\"appkey\"></div>AppKey</h3>\n<ul>\n<li>\n<strong>Type</strong>\n: apiKey\n</li>\n<li>\n<strong>Name</strong>\n: Team-Specific application key\n</li>\n<li>\n<strong>In</strong>\n: HEADER\n</li>\n</ul>\n<h2 style=\"position:relative;\"><a href=\"#using-an-oauth-client\" aria-label=\"using an oauth client 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-client\"></div>Using an OAuth client</h2>\n<p>If you're using an OAuth client, the following is needed:</p>\n<ul>\n<li>\nThe scope \"integration.data-pools\" must be configured.\n</li>\n<li>\nThe client must have both viewing and managing the data pool permissions enabled.\n</li>\n<li>\nTo set data pool permissions from your data pool overview page, click \n<strong>Options - Permissions</strong>\n:\n</li>\n</ul>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 800px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 55.70175438596492%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAABsklEQVQoz1VSi5KjMAzj/79yp7sttAUC5E0SdHIgvV1mPM4YR5Esd8N7xLJpTPOCR//C8zUhxoh93z/Ze487/81qQc4Jxlj0zxGv91T/t7DWotPjjN3z8p55kZfDjpQKUj6YDwIcbC7QxiOEhFJQ86YdtPZw/uzPGTxHdOu9J2CsADmdIALQQppjzBXQX5edi1S0QSlN1pp9GSkmWE2Gw6qwF8LzO46jBk84vzMX0rLOk5GlLE+ABM0sYVgv0jmN8D/f6G6vFywZ5iqxXCzLH5aBr6+bqwyFjdSicVCPAXM/IOsNotlZh+6pFGJKdS4ixdpAiak+kHP5PCTzCbXOGonHWUF9fWG+fSP0DyDtcIEzHJYJiZI1h7ysBu9xJZP4GUGTLLVAw37XFDdjVSuqUxCzArr7OFLyDhmjOJUvU8QIiSo5nJIlpGZM4Nly3Uxl3j7HeXb9PFXJnnLFSZFXyvEnpGbEAOuvFSFjyhvJ0HBuuMz0ngyfy1xdlp2SVRApze0WAvAfMH8kOxfqGCJdF+croL3dkWjEvNg6vxZNbpO8icvMsqciWXoW3pE9bL2GCv8BM0dY8cqzHx8AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Enter image alt description\"\n        title=\"Enter image alt description\"\n        src=\"/static/59eee7567dae4d39d31f5d5ed8e2ecfd/5a190/select-permissions.png\"\n        srcset=\"/static/59eee7567dae4d39d31f5d5ed8e2ecfd/d4770/select-permissions.png 228w,\n/static/59eee7567dae4d39d31f5d5ed8e2ecfd/379c3/select-permissions.png 455w,\n/static/59eee7567dae4d39d31f5d5ed8e2ecfd/5a190/select-permissions.png 800w\"\n        sizes=\"(max-width: 800px) 100vw, 800px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<h2 style=\"position:relative;\"><a href=\"#executing-data-jobs\" aria-label=\"executing data jobs 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=\"executing-data-jobs\"></div>Executing data jobs</h2>\n<p>To execute a data job with a RESTful API, you also need to enter the extraction mode:</p>\n<ul>\n<li>\n<strong>FULL</strong>\n: All tables are extracted.\n</li>\n<li>\n<strong>DELTA</strong>\n: Only tables that have changed since the last extraction are included in the task.\n</li>\n</ul>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"85503726630780080000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`POST /integration/api/v2/data-pools/{poolId}/data-jobs/{jobId}/execute?mode={mode}`, `85503726630780080000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-85503726630780080000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">POST /integration/api/v2/data-pools/{poolId}/data-jobs/{jobId}/execute?mode={mode}</code></pre></div>\n      </div>\n<p>The following is an example of how this API can be used in Python:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"80239386841390320000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`\\\\`import requests\\\\` \\\\\n \\\\\n\\\\`tenant = 'xyz' # the name of your team (your subdomain)\\\\` \\\\\n\\\\`realm = 'xyz' # e.g. eu-1, us-1, eu-2\\\\` \\\\\n\\\\`api_key = 'xyz' # the API key\\\\` \\\\\n\\\\`pool_id = 'xyz' # the Data Pool ID (see above)\\\\` \\\\\n\\\\`data_job_id = 'xyz' # the Data Job ID (see above)url = &quot;https://{}.{}.celonis.cloud/integration/api/v2/data-pools/{}/data-jobs/{}/execute?mode={}&quot;.format(tenant, realm, pool_id, data_job_id, data_job_mode)\\\\` \\\\\n\\\\`data_job_mode = 'DELTA' # the mode of the Data Job (see above)\\\\` \\\\\n \\\\\n\\\\`url = &quot;https://{}.{}.celonis.cloud/integration/api/v2/data-pools/{}/data-jobs/{}/execute?mode={}&quot;.format(tenant, realm, pool_id, data_job_id, data_job_mode)\\\\` \\\\\n \\\\\n\\\\`requests.post(url, headers={'authorization': &quot;Bearer {}&quot;.format(api_key)})\\\\``, `80239386841390320000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-80239386841390320000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">`import requests` \\\n \\\n`tenant = 'xyz' # the name of your team (your subdomain)` \\\n`realm = 'xyz' # e.g. eu-1, us-1, eu-2` \\\n`api_key = 'xyz' # the API key` \\\n`pool_id = 'xyz' # the Data Pool ID (see above)` \\\n`data_job_id = 'xyz' # the Data Job ID (see above)url = \"https://{}.{}.celonis.cloud/integration/api/v2/data-pools/{}/data-jobs/{}/execute?mode={}\".format(tenant, realm, pool_id, data_job_id, data_job_mode)` \\\n`data_job_mode = 'DELTA' # the mode of the Data Job (see above)` \\\n \\\n`url = \"https://{}.{}.celonis.cloud/integration/api/v2/data-pools/{}/data-jobs/{}/execute?mode={}\".format(tenant, realm, pool_id, data_job_id, data_job_mode)` \\\n \\\n`requests.post(url, headers={'authorization': \"Bearer {}\".format(api_key)})`</code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#querying-the-status-of-a-data-job\" aria-label=\"querying the status of a data job 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=\"querying-the-status-of-a-data-job\"></div>Querying the status of a data job</h2>\n<p>After executing a data job, you can query the status of that data job using the following RESTful API:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"81148717935050460000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`GET /integration/api/pools/{poolId}/jobs/{jobId}`, `81148717935050460000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-81148717935050460000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">GET /integration/api/pools/{poolId}/jobs/{jobId}</code></pre></div>\n      </div>","headings":[{"value":"Executing data jobs using a RESTful API","depth":1},{"value":"Security","depth":2},{"value":"Bearer","depth":3},{"value":"AppKey","depth":3},{"value":"Using an OAuth client","depth":2},{"value":"Executing data jobs","depth":2},{"value":"Querying the status of a data job","depth":2}]},"contentItem":{"data":{"lastModified":"2025-05-22T17:57:31.000Z","enableToc":null,"disableLastModified":null,"tocMaxDepth":null,"requestLogin":false}},"siteConfig":{"enableToc":false,"disableLastModified":false,"tocMaxDepth":4}},"pageContext":{"matchPath":"","id":"8032b2e7-1c1c-5fd5-a0ea-4679cbeb7525__redocly content/celonis-apis/data-job-execution-api/","seo":{"title":"Executing data jobs using a RESTful API","description":null,"image":"","keywords":null,"jsonLd":null,"lang":null,"siteUrl":null},"pageId":"celonis-apis/data-job-execution-api.md","pageBaseUrl":"/celonis-apis/data-job-execution-api","type":"markdown","toc":{"enable":true,"maxDepth":4,"headings":[{"depth":1,"value":"Executing data jobs using a RESTful API","id":"executing-data-jobs-using-a-restful-api"},{"depth":2,"value":"Security","id":"security"},{"depth":3,"value":"Bearer","id":"bearer"},{"depth":3,"value":"AppKey","id":"appkey"},{"depth":2,"value":"Using an OAuth client","id":"using-an-oauth-client"},{"depth":2,"value":"Executing data jobs","id":"executing-data-jobs"},{"depth":2,"value":"Querying the status of a data job","id":"querying-the-status-of-a-data-job"}]},"data":{"title":""},"catalogInfo":null,"link":"/celonis-apis/data-job-execution-api/","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"]}