Devtron SSO Configuration API

Manage Single Sign-On (SSO) provider configurations.

OpenAPI Specification

devtron-sso-configuration-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: Devtron APIs Specs Applications SSO Configuration API
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  description: Application management operations including creation, listing, and updates
servers:
- url: http://localhost/orchestrator
  description: Local development server
tags:
- name: SSO Configuration
  description: Manage Single Sign-On (SSO) provider configurations.
  x-displayName: SSO Configuration
paths:
  /sso/create:
    post:
      tags:
      - SSO Configuration
      summary: Create SSO Login Configuration
      operationId: CreateSSOLoginConfig
      requestBody:
        $ref: '#/components/requestBodies/SSOLoginDto'
      responses:
        '200':
          $ref: '#/components/responses/SSOLoginConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
  /sso/update:
    put:
      tags:
      - SSO Configuration
      summary: Update SSO Login Configuration
      operationId: UpdateSSOLoginConfig
      requestBody:
        $ref: '#/components/requestBodies/SSOLoginDto'
      responses:
        '200':
          $ref: '#/components/responses/SSOLoginConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
  /sso/list:
    get:
      tags:
      - SSO Configuration
      summary: Get All SSO Login Configurations
      operationId: GetAllSSOLoginConfig
      responses:
        '200':
          description: List of SSO configurations.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SSOLoginDto'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
  /sso/{id}:
    get:
      tags:
      - SSO Configuration
      summary: Get SSO Login Configuration by ID
      operationId: GetSSOLoginConfig
      parameters:
      - name: token
        in: header
        required: true
        description: Authentication token.
        schema:
          type: string
      - $ref: '#/components/parameters/PathId'
      responses:
        '200':
          $ref: '#/components/responses/SSOLoginConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
  /sso:
    get:
      tags:
      - SSO Configuration
      summary: Get SSO Login Configuration by Name
      operationId: GetSSOLoginConfigByName
      parameters:
      - name: token
        in: header
        required: true
        description: Authentication token.
        schema:
          type: string
      - name: name
        in: query
        required: true
        description: Name of the SSO configuration.
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/SSOLoginConfigResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
components:
  responses:
    Forbidden:
      description: Forbidden. User does not have permission.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    SSOLoginConfigResponse:
      description: Response for SSO Login Configuration.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SSOLoginDto'
    InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad request. Invalid input parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized. User is not logged in or token is invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
          format: int32
        status:
          type: string
        result:
          type: object
          nullable: true
        errors:
          type: array
          items:
            type: object
            properties:
              userMessage:
                type: string
                nullable: true
              internalMessage:
                type: string
                nullable: true
    SSOLoginDto:
      type: object
      properties:
        id:
          type: integer
          format: int32
          readOnly: true
        name:
          type: string
          description: Type of auth ie google/github
        label:
          type: string
          nullable: true
        url:
          type: string
          format: url
          description: Devtron Dashboard Url
          example: https://devtron.example.com/orchestrator
          nullable: true
        config:
          type: object
          description: Configuration for the SSO provider (Dex connector config). Structure varies.
        active:
          type: boolean
      required:
      - name
      - url
      - config
      - active
  requestBodies:
    SSOLoginDto:
      description: SSO Login Configuration object
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SSOLoginDto'
  parameters:
    PathId:
      name: id
      in: path
      required: true
      description: Identifier (typically integer ID).
      schema:
        type: integer
        format: int32
x-tagGroups:
- name: Common Devtron automation APIs
  tags:
  - Metadata
  - Jobs
  - Helm Charts
  - List Applications
  - Applications
  - Labels
  - bulk_other
  - BulkUpdate
  - SSO Configuration
  - User Management
  - Role Group Management
  - RBAC
  - Authentication
  - Policy Management
  - Cache Management
  - Cluster Environment
  - Cluster Management
  - Environment Management
  - Change Chart
  - Clone Workflow
  - Deployment History
  - K8s Resource
  - Resource Recommendation
  - Workflow Management
  - Devtron Server version
  - GitOps Validation
  - Notifications