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
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 following 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

To use the API you need two pieces of information which can be retrieved from the URL of the Data Model:

  • Data Pool ID

    DataPoolID.pdf
  • Data Model ID

    DataModelID.pdf
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)})