Zitadel Applications API

Manage OIDC, SAML, and API applications

Documentation

Specifications

SDKs

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-schema/zitadel-management-user-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-schema/zitadel-management-human-user-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-schema/zitadel-management-machine-user-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-schema/zitadel-management-organization-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-schema/zitadel-management-project-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-schema/zitadel-management-application-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-schema/zitadel-management-object-details-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-structure/zitadel-management-user-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-structure/zitadel-management-human-user-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-structure/zitadel-management-machine-user-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-structure/zitadel-management-organization-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-structure/zitadel-management-project-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/zitadel/refs/heads/main/json-structure/zitadel-management-application-structure.json

Other Resources

OpenAPI Specification

zitadel-applications-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Zitadel Management Applications API
  description: The Zitadel Management API provides comprehensive identity infrastructure management including users, organizations, projects, applications, roles, policies, and identity providers. Accessible via REST at /management/v1/ with gRPC transcoding support. Zitadel is an open source identity platform supporting OAuth 2.0, OIDC, SAML, SCIM, FIDO2, and passkeys.
  version: 1.0.0
  contact:
    name: Zitadel
    url: https://zitadel.com
  license:
    name: GNU AGPLv3
    url: https://github.com/zitadel/zitadel/blob/main/LICENSE
  termsOfService: https://zitadel.com/legal/terms-of-service
servers:
- url: https://{instance}.zitadel.cloud
  description: Zitadel Cloud instance
  variables:
    instance:
      default: your-instance
      description: Your Zitadel cloud instance name
- url: https://{custom-domain}
  description: Self-hosted Zitadel instance
  variables:
    custom-domain:
      default: localhost:8080
      description: Your self-hosted Zitadel domain
security:
- bearerAuth: []
tags:
- name: Applications
  description: Manage OIDC, SAML, and API applications
paths:
  /management/v1/projects/{projectId}/apps/oidc:
    post:
      operationId: createOidcApp
      summary: Zitadel Create OIDC Application
      description: Create a new OIDC application within a project.
      tags:
      - Applications
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOidcAppRequest'
      responses:
        '200':
          description: OIDC application created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppResponse'
  /management/v1/projects/{projectId}/apps/api:
    post:
      operationId: createApiApp
      summary: Zitadel Create API Application
      description: Create a new API application (machine-to-machine) within a project.
      tags:
      - Applications
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApiAppRequest'
      responses:
        '200':
          description: API application created successfully
  /management/v1/projects/{projectId}/apps/_search:
    post:
      operationId: listApps
      summary: Zitadel List Applications
      description: List all applications within a project.
      tags:
      - Applications
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      responses:
        '200':
          description: List of applications
  /management/v1/projects/{projectId}/apps/{appId}:
    get:
      operationId: getAppById
      summary: Zitadel Get Application by ID
      description: Retrieve a specific application configuration.
      tags:
      - Applications
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/AppId'
      responses:
        '200':
          description: Application details
    delete:
      operationId: removeApp
      summary: Zitadel Remove Application
      description: Delete an application from a project.
      tags:
      - Applications
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/AppId'
      responses:
        '200':
          description: Application removed successfully
components:
  schemas:
    AppResponse:
      type: object
      properties:
        appId:
          type: string
        details:
          $ref: '#/components/schemas/ObjectDetails'
        clientId:
          type: string
        clientSecret:
          type: string
    CreateApiAppRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
        authMethodType:
          type: string
    CreateOidcAppRequest:
      type: object
      required:
      - name
      - redirectUris
      - responseTypes
      - grantTypes
      properties:
        name:
          type: string
        redirectUris:
          type: array
          items:
            type: string
        responseTypes:
          type: array
          items:
            type: string
        grantTypes:
          type: array
          items:
            type: string
        appType:
          type: string
        authMethodType:
          type: string
        postLogoutRedirectUris:
          type: array
          items:
            type: string
        devMode:
          type: boolean
        accessTokenType:
          type: string
        idTokenRoleAssertion:
          type: boolean
        idTokenUserinfoAssertion:
          type: boolean
    ObjectDetails:
      type: object
      properties:
        sequence:
          type: string
        creationDate:
          type: string
          format: date-time
        changeDate:
          type: string
          format: date-time
        resourceOwner:
          type: string
  parameters:
    ProjectId:
      name: projectId
      in: path
      required: true
      description: Unique identifier of the project
      schema:
        type: string
    AppId:
      name: appId
      in: path
      required: true
      description: Unique identifier of the application
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: Zitadel API Reference
  url: https://zitadel.com/docs/apis/introduction