All documentations are under active work and subject to change soon!


ZITADEL provides three API's for different use cases. These API's are built with GRPC and then generate a REST service. Each service's proto definition is located in the source control on GitHub. As we generate the REST services and Swagger file out of the proto definition we recommend that you rely on the proto file. We annotate the corresponding REST methods on each possible call as well as the AuthN and AuthZ requirements.

See below for an example with the call GetMyUser.

  rpc GetMyUser(google.protobuf.Empty) returns (UserView) {
	option (google.api.http) = {
	  get: "/users/me"

	option (caos.zitadel.utils.v1.auth_option) = {
	  permission: "authenticated"

As you can see the GetMyUser function is also available as a REST service under the path /users/me.

In the table below you can see the URI of those calls.

Authentication API

Authentication aka Auth

The authentication API (aka Auth API) is used for all operations on the currently logged in user.

At a later date we might expose functions to build your own login GUI You can build your own user Register GUI already by utilizing the Management API

Latest API Version

Management API


The management API is as the name states the interface where systems can mutate IAM objects like, organisations, projects, clients, users and so on if they have the necessary access rights.

Latest API Version

Admin API

Administration aka Admin

This API is intended to configure and manage the IAM itself.

Latest API Version