Skip to main content

Celonis Product Documentation

Process Data Model API

APIs
Complete reload

Using a RESTful API you can trigger a Data Model load (complete load) in the following way:

POST /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/load
Reload from cache

In order to trigger a reload from cache, you need to use

POST /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/load?fullReload=false
Partial reload

If you only want to update a subset of tables, you can also use a partial reload. This does a complete reload of the specified tables and a reload from cache for the rest.

For this you need to query the table list first:

GET /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/tables

This will give you the folliwing response parameters:

  • "id" - the ID of the table configuration in the Data Model - this is required for the partial reload

  • "dataModelId" - the ID of the Data Model

  • "dataSourceId" - the ID of the Data Connection if applicable

  • "name" - the name of the table

  • "alias" - the alias of the table

  • "aliasOrName" - the alias if it is defined or the name of the table

After you have noted the IDs of the table which you would like to sync you can execute

POST /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/load/partial-sync

In the body of this request you need to specify the tables as a list if IDs like this

["table_id1", "table_id2"]
Last load information

In order to query information about the last Data Model load, the following endpoint can be used:

GET /integration/api/v1/data-pools/{poolId}/data-models/{dataModelId}/last-load

Required parameters

22119834.png

To use the API you need two pieces of information:

  1. Data Pool ID

  2. Data Model ID

Both can be retrieved from the URL of the Data Model (see screenshot).

Example

This is an example how this API can be used in Python:

import requests

realm = 'xyz' # e.g. eu-1, us-1, eu-2
tenant = 'xyz' # the name of your team (your subdomain)
api_key = 'xyz' # the API key
pool_id = 'xyz' # the Data Pool ID (see above)
data_model_id = 'xyz' # the Data Model ID (see above)

url = "https://{}.{}.celonis.cloud/integration/api/v1/data-pools/{}/data-models/{}/load".format(tenant, realm, pool_id, data_model_id)

requests.post(url, headers={'authorization': "Bearer {}".format(api_key)})