StackRox AuthProviderService API

The AuthProviderService API from StackRox — 4 operation(s) for authproviderservice.

OpenAPI Specification

stackrox-authproviderservice-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: API Reference AlertService AuthProviderService API
  version: '1'
  description: API reference for the StackRox Kubernetes Security Platform (upstream of Red Hat Advanced Cluster Security). Provides risk analysis, visibility, runtime alerts, policy management, compliance checking, and vulnerability management for containerized workloads. Authentication uses API tokens generated via /v1/apitokens/generate and passed as Bearer tokens.
  contact:
    email: support@stackrox.com
    url: https://www.stackrox.io/
  license:
    name: All Rights Reserved
    url: https://www.stackrox.com/
servers:
- url: https://{central-host}
  description: StackRox Central API server
  variables:
    central-host:
      default: stackrox.localhost
      description: StackRox Central hostname or IP
security:
- ApiToken: []
tags:
- name: AuthProviderService
paths:
  /v1/authProviders:
    get:
      operationId: GetAuthProviders
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1GetAuthProvidersResponse'
      parameters:
      - name: name
        in: query
        required: false
        schema:
          type: string
      - name: type
        in: query
        required: false
        schema:
          type: string
      tags:
      - AuthProviderService
    post:
      operationId: PostAuthProvider
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/storageAuthProvider'
      requestBody:
        $ref: '#/components/requestBodies/storageAuthProvider'
      tags:
      - AuthProviderService
  /v1/authProviders/exchangeToken:
    post:
      operationId: ExchangeToken
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1ExchangeTokenResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1ExchangeTokenRequest'
        required: true
      tags:
      - AuthProviderService
  /v1/authProviders/{id}:
    get:
      operationId: GetAuthProvider
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/storageAuthProvider'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      tags:
      - AuthProviderService
    delete:
      operationId: DeleteAuthProvider
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1Empty'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      tags:
      - AuthProviderService
    put:
      operationId: PutAuthProvider
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/storageAuthProvider'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/storageAuthProvider'
      tags:
      - AuthProviderService
    patch:
      operationId: UpdateAuthProvider
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/storageAuthProvider'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1UpdateAuthProviderRequest'
        required: true
      tags:
      - AuthProviderService
  /v1/login/authproviders:
    get:
      operationId: GetLoginAuthProviders
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1GetLoginAuthProvidersResponse'
      tags:
      - AuthProviderService
components:
  schemas:
    v1Empty:
      type: object
    v1ExchangeTokenRequest:
      type: object
      properties:
        externalToken:
          type: string
        type:
          type: string
        state:
          type: string
    v1ExchangeTokenResponse:
      type: object
      properties:
        token:
          type: string
        clientState:
          type: string
    GetLoginAuthProvidersResponseLoginAuthProvider:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
        loginUrl:
          type: string
    v1GetAuthProvidersResponse:
      type: object
      properties:
        authProviders:
          type: array
          items:
            $ref: '#/components/schemas/storageAuthProvider'
    v1UpdateAuthProviderRequest:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        enabled:
          type: boolean
          format: boolean
    storageAuthProvider:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
        uiEndpoint:
          type: string
        enabled:
          type: boolean
          format: boolean
        config:
          type: object
          additionalProperties:
            type: string
        loginUrl:
          type: string
          description: The login URL will be provided by the backend, and may not be specified in a request.
        validated:
          type: boolean
          format: boolean
        extraUiEndpoints:
          type: array
          items:
            type: string
          description: 'UI endpoints which to allow in addition to `ui_endpoint`. I.e., if a login request

            is coming from any of these, the auth request will use these for the callback URL,

            not ui_endpoint.'
        active:
          type: boolean
          format: boolean
      title: 'Next Tag: 9'
    v1GetLoginAuthProvidersResponse:
      type: object
      properties:
        authProviders:
          type: array
          items:
            $ref: '#/components/schemas/GetLoginAuthProvidersResponseLoginAuthProvider'
  requestBodies:
    storageAuthProvider:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/storageAuthProvider'
      required: true
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: Authorization
      description: 'StackRox API token. Format: Bearer {token}'