Python API Key access

Hello Community,

We would like to run the Celonis Python API in production. Therefore, we would like to know if there is an API key that can be connected to a service instead of a user?

My second question would be if it is possible to give certain access rights to the API key.
For example, say we have given the API access to a data model, is it then possible to give the API only reading rights?

Thanks for all the help.

Hi Paul,

Which version of Celonis do you utilize? In the IBC your have two types of API keys, one of user basis and one on Team Basis, although they perform in similar ways, I’d recommend taking the second one.

Best Regards,


1 Like

Hello Bene,

Thanks for your response I will investigate this team API option further it sounds like it would solve the first question.
We have version 4.5.0 and are currently running on-premise. For the API I use version 1.0.0
In the user profile I can only create an API key for myself, is this correct?

Furthermore, do you know if it is possible to give the API only read rights to a data model, or analysis, or at least make sure it can not push to certain tables?

Hi Paul,

you cannot add special permissions to an API key.
The best solution for your request would be to create a new “python”-user in celonis, and use the API key of this user. You can then set the Datamodel or Analysis permissions for this user accordingly.

You cannot set special permissions that would block the push to certain tables, however, you can only push to tables that have been pushed via python by default. So it is not possible to push to a table originating from a Database data source in the first place.


Thanks for the clarification on the usage of the API key David :).

Do you with “python”-user mean that we can still create an API key on team basis?


Hello Paul,

in cpm4.5, there are no “teams”, what do you mean with “team basis”?

What I mean is just create a new Celonis User with username “Python” (or something else). Then assign permissions to this user and use the API key of this user in python.

Hope that helps!

Thanks for all the explanation David :slight_smile: