{"componentChunkName":"component---src-templates-simple-markdown-js","path":"/celonis-apis/process-data-model-api/","matchPath":"","result":{"data":{"markdownRemark":{"html":"<h1 style=\"position:relative;\"><a href=\"#process-data-model-api\" aria-label=\"process data model 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=\"process-data-model-api\"></div>Process Data Model API</h1>\n<p>The Process Data Model API allows you to completely or partially reload your data models, ensuring that the latest data from your source system is available. This is a RESTful API that allows you run GET requests to retrieve information and POST requests to trigger the data model loads.</p>\n<h2 style=\"position:relative;\"><a href=\"#required-parameters---data-pool-and-data-model-ids\" aria-label=\"required parameters   data pool and data model ids 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=\"required-parameters---data-pool-and-data-model-ids\"></div>Required parameters - Data pool and data model IDs</h2>\n<p>To use this API, you need both the data pool ID and data model ID, both of which can be found from your URL when viewing that area of the Celonis Platform.</p>\n<h3 style=\"position:relative;\"><a href=\"#data-pool-id\" aria-label=\"data pool id 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=\"data-pool-id\"></div>Data pool ID</h3>\n<p>Your data pool ID will be in the following format:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"92389816412474130000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`[https://TEAMNAME.REALM.celonis.cloud/integration/ui/pools/DATA_POOL_ID/](null)`, `92389816412474130000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-92389816412474130000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">[https://TEAMNAME.REALM.celonis.cloud/integration/ui/pools/DATA_POOL_ID/](null)</code></pre></div>\n      </div>\n<h3 style=\"position:relative;\"><a href=\"#data-model-id\" aria-label=\"data model id 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=\"data-model-id\"></div>Data model ID</h3>\n<p>Your data model ID will be in the following format:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"4460423446031014400\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`[https://TEAMNAME.REALM.celonis.cloud/integration/ui/pools/DATAPOOLID/data-configuration/process-data-models/DATA_MODEL_ID?tab=data-model](null)`, `4460423446031014400`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-4460423446031014400\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">[https://TEAMNAME.REALM.celonis.cloud/integration/ui/pools/DATAPOOLID/data-configuration/process-data-models/DATA_MODEL_ID?tab=data-model](null)</code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#authentication-methods\" aria-label=\"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=\"authentication-methods\"></div>Authentication methods</h2>\n<p>To connect to and use the process data model API, you have the following authentication methods available:</p>\n<ul>\n<li>\n<strong>OAuth client (recommended):</strong>\n Create an OAuth client by clicking \n<strong>Admin &#x26; Settings</strong>\n and selecting \n<strong>Applications</strong>\n.\n<p>The OAuth client needs to have the scope <code class=\"language-text\">integration.data-pools</code> to use all of the APIs. In addition, the client needs to be granted <strong>Edit</strong> permissions on the corresponding data pool.</p>\n</li>\n<li>\n<strong>Application key</strong>\n: Create an application key in \n<strong>Admin &#x26; Settings</strong>\n as a team admin. The application key requires \n<strong>Edit</strong>\n permissions on the corresponding data pool. For more information, see \n<a href=\"https://docs.celonis.com/en/application-keys.html\">Application Keys</a>\n.\n</li>\n<li>\n<strong>API key</strong>\n: Using API keys is an effective and secure method of communicating between your and external systems, such as an identity provider. They are created within an individual user profile in your Celonis Platform, with the key’s permissions mirroring those of the user who created them. For security reasons, an API key is only displayed at the time it is created. Therefore you must create a new key if you no longer have access to any you create. For more information, see \n<a href=\"https://docs.celonis.com/en/creating-api-keys.html\">API Keys</a>\n.\n</li>\n</ul>\n<h2 style=\"position:relative;\"><a href=\"#complete-data-model-reload\" aria-label=\"complete data model reload 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=\"complete-data-model-reload\"></div>Complete data model reload</h2>\n<p>Using a RESTful API, you can trigger a complete data model load (complete load) with this POST request:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"8191274995614584000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`POST /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/load`, `8191274995614584000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-8191274995614584000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">POST /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/load</code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#partial-data-model-reload\" aria-label=\"partial data model reload 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=\"partial-data-model-reload\"></div>Partial data model reload</h2>\n<p>If you only want to update a subset of tables, you can also perform a partial reload. This does a complete reload of the specified tables only and a reload from cache for the rest.</p>\n<p>To perfrom a partial reload you need to query the table list first:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"48726718275895580000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`GET /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/tables`, `48726718275895580000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-48726718275895580000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">GET /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/tables</code></pre></div>\n      </div>\n<p>This will return the following response parameters:</p>\n<ul>\n<li>\n<strong>id</strong>\n: The ID of the table configuration in the data model (required for the partial data model reload).\n</li>\n<li>\n<strong>dataModelId</strong>\n: The ID of the data model.\n</li>\n<li>\n<strong>dataSourceId</strong>\n: The ID of the data connection if applicable.\n</li>\n<li>\n<strong>name</strong>\n: The name of the table.\n</li>\n<li>\n<strong>alias</strong>\n: The alias of the table.\n</li>\n<li>\n<strong>aliasOrName</strong>\n: The alias if defined or the name of the table.\n</li>\n</ul>\n<p>Note the IDs of the table to which you would like to sync and then execute the following:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"78770376549938740000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`POST /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/load/partial-sync`, `78770376549938740000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-78770376549938740000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">POST /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/load/partial-sync</code></pre></div>\n      </div>\n<p>In the body of this request, you will need to specify the tables as a list of IDs:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"61399647743402850000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`[&quot;table_id1&quot;, &quot;table_id2&quot;]`, `61399647743402850000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-61399647743402850000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">[\"table_id1\", \"table_id2\"]</code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#last-load-information\" aria-label=\"last load information 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=\"last-load-information\"></div>Last load information</h2>\n<p>In order to query information about the last data model load, use the following endpoint:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"7793334474889479000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`GET /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/last-load`, `7793334474889479000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-7793334474889479000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">GET /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/last-load</code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#python-example\" aria-label=\"python example 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=\"python-example\"></div>Python example</h2>\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=\"29577943934029283000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`\\\\`import requests\\\\` \\\\\n \\\\\n\\\\`realm = 'xyz' # e.g. eu-1, us-1, eu-2\\\\` \\\\\n\\\\`tenant = 'xyz' # the name of your team (your subdomain)\\\\` \\\\\n\\\\`api_key = 'xyz' # the API key\\\\` \\\\\n\\\\`pool_id = 'xyz' # the Data Pool ID (see above)\\\\` \\\\\n\\\\`data_model_id = 'xyz' # the Data Model ID (see above)\\\\` \\\\\n \\\\\n\\\\`url = &quot;https://{}.{}.celonis.cloud/integration/api/v1/data-pools/{}/data-models/{}/load&quot;.format(tenant, realm, pool_id, data_model_id)\\\\` \\\\\n \\\\\n\\\\`requests.post(url, headers={'authorization': &quot;Bearer {}&quot;.format(api_key)})\\\\``, `29577943934029283000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-29577943934029283000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">`import requests` \\\n \\\n`realm = 'xyz' # e.g. eu-1, us-1, eu-2` \\\n`tenant = 'xyz' # the name of your team (your subdomain)` \\\n`api_key = 'xyz' # the API key` \\\n`pool_id = 'xyz' # the Data Pool ID (see above)` \\\n`data_model_id = 'xyz' # the Data Model ID (see above)` \\\n \\\n`url = \"https://{}.{}.celonis.cloud/integration/api/v1/data-pools/{}/data-models/{}/load\".format(tenant, realm, pool_id, data_model_id)` \\\n \\\n`requests.post(url, headers={'authorization': \"Bearer {}\".format(api_key)})`</code></pre></div>\n      </div>","headings":[{"value":"Process Data Model API","depth":1},{"value":"Required parameters - Data pool and data model IDs","depth":2},{"value":"Data pool ID","depth":3},{"value":"Data model ID","depth":3},{"value":"Authentication methods","depth":2},{"value":"Complete data model reload","depth":2},{"value":"Partial data model reload","depth":2},{"value":"Last load information","depth":2},{"value":"Python example","depth":2}]},"contentItem":{"data":{"lastModified":"2025-08-13T20:04:37.000Z","enableToc":null,"disableLastModified":null,"tocMaxDepth":null,"requestLogin":false}},"siteConfig":{"enableToc":false,"disableLastModified":false,"tocMaxDepth":4}},"pageContext":{"matchPath":"","id":"5bba7f3e-9ac3-5f6b-a182-fade5d8453c8__redocly content/celonis-apis/process-data-model-api/","seo":{"title":"Process Data Model API","description":null,"image":"","keywords":null,"jsonLd":null,"lang":null,"siteUrl":null},"pageId":"celonis-apis/process-data-model-api.md","pageBaseUrl":"/celonis-apis/process-data-model-api","type":"markdown","toc":{"enable":true,"maxDepth":4,"headings":[{"depth":1,"value":"Process Data Model API","id":"process-data-model-api"},{"depth":2,"value":"Required parameters - Data pool and data model IDs","id":"required-parameters---data-pool-and-data-model-ids"},{"depth":3,"value":"Data pool ID","id":"data-pool-id"},{"depth":3,"value":"Data model ID","id":"data-model-id"},{"depth":2,"value":"Authentication methods","id":"authentication-methods"},{"depth":2,"value":"Complete data model reload","id":"complete-data-model-reload"},{"depth":2,"value":"Partial data model reload","id":"partial-data-model-reload"},{"depth":2,"value":"Last load information","id":"last-load-information"},{"depth":2,"value":"Python example","id":"python-example"}]},"data":{"title":""},"catalogInfo":null,"link":"/celonis-apis/process-data-model-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"]}