swagger: '2.0'
info:
  title: authentik API
  contact:
    email: hello@beryju.org
  license:
    name: GNU GPLv3
    url: https://github.com/goauthentik/authentik/blob/master/LICENSE
  version: v2beta
basePath: /api/v2beta
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  Bearer:
    type: apiKey
    name: Authorization
    in: header
security:
  - Bearer: []
paths:
  /admin/apps/:
    get:
      operationId: admin_apps_list
      description: List current messages and pass into Serializer
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/App'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - admin
    parameters: []
  /admin/metrics/:
    get:
      operationId: admin_metrics_list
      description: Login Metrics per 1h
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LoginMetrics'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - admin
    parameters: []
  /admin/system_tasks/:
    get:
      operationId: admin_system_tasks_list
      description: List system tasks
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/Task'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - admin
    parameters: []
  /admin/system_tasks/{id}/:
    get:
      operationId: admin_system_tasks_read
      description: Get a single system task
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Task'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - admin
    parameters:
      - name: id
        in: path
        required: true
        type: string
  /admin/system_tasks/{id}/retry/:
    post:
      operationId: admin_system_tasks_retry
      description: Retry task
      parameters: []
      responses:
        '204':
          description: Task retried successfully
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
        '500':
          description: Failed to retry task
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - admin
    parameters:
      - name: id
        in: path
        required: true
        type: string
  /admin/version/:
    get:
      operationId: admin_version_list
      description: Get running and latest version.
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Version'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - admin
    parameters: []
  /admin/workers/:
    get:
      operationId: admin_workers_list
      description: Get currently connected worker count.
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  type: object
                  properties: {}
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - admin
    parameters: []
  /authenticators/admin/static/:
    get:
      operationId: authenticators_admin_static_list
      description: Viewset for static authenticator devices (for admins)
      parameters:
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/StaticDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - authenticators
    parameters: []
  /authenticators/admin/static/{id}/:
    get:
      operationId: authenticators_admin_static_read
      description: Viewset for static authenticator devices (for admins)
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/StaticDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this static device.
        required: true
        type: integer
  /authenticators/admin/totp/:
    get:
      operationId: authenticators_admin_totp_list
      description: Viewset for totp authenticator devices (for admins)
      parameters:
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/TOTPDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - authenticators
    parameters: []
  /authenticators/admin/totp/{id}/:
    get:
      operationId: authenticators_admin_totp_read
      description: Viewset for totp authenticator devices (for admins)
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/TOTPDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this TOTP device.
        required: true
        type: integer
  /authenticators/admin/webauthn/:
    get:
      operationId: authenticators_admin_webauthn_list
      description: Viewset for WebAuthn authenticator devices (for admins)
      parameters:
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/WebAuthnDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - authenticators
    parameters: []
  /authenticators/admin/webauthn/{id}/:
    get:
      operationId: authenticators_admin_webauthn_read
      description: Viewset for WebAuthn authenticator devices (for admins)
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/WebAuthnDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this WebAuthn Device.
        required: true
        type: integer
  /authenticators/static/:
    get:
      operationId: authenticators_static_list
      description: Viewset for static authenticator devices
      parameters:
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/StaticDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - authenticators
    post:
      operationId: authenticators_static_create
      description: Viewset for static authenticator devices
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/StaticDevice'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/StaticDevice'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - authenticators
    parameters: []
  /authenticators/static/{id}/:
    get:
      operationId: authenticators_static_read
      description: Viewset for static authenticator devices
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/StaticDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    put:
      operationId: authenticators_static_update
      description: Viewset for static authenticator devices
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/StaticDevice'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/StaticDevice'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    patch:
      operationId: authenticators_static_partial_update
      description: Viewset for static authenticator devices
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/StaticDevice'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/StaticDevice'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    delete:
      operationId: authenticators_static_delete
      description: Viewset for static authenticator devices
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this static device.
        required: true
        type: integer
  /authenticators/totp/:
    get:
      operationId: authenticators_totp_list
      description: Viewset for totp authenticator devices
      parameters:
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/TOTPDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - authenticators
    post:
      operationId: authenticators_totp_create
      description: Viewset for totp authenticator devices
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/TOTPDevice'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/TOTPDevice'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - authenticators
    parameters: []
  /authenticators/totp/{id}/:
    get:
      operationId: authenticators_totp_read
      description: Viewset for totp authenticator devices
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/TOTPDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    put:
      operationId: authenticators_totp_update
      description: Viewset for totp authenticator devices
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/TOTPDevice'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/TOTPDevice'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    patch:
      operationId: authenticators_totp_partial_update
      description: Viewset for totp authenticator devices
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/TOTPDevice'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/TOTPDevice'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    delete:
      operationId: authenticators_totp_delete
      description: Viewset for totp authenticator devices
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this TOTP device.
        required: true
        type: integer
  /authenticators/webauthn/:
    get:
      operationId: authenticators_webauthn_list
      description: Viewset for WebAuthn authenticator devices
      parameters:
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/WebAuthnDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - authenticators
    post:
      operationId: authenticators_webauthn_create
      description: Viewset for WebAuthn authenticator devices
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/WebAuthnDevice'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/WebAuthnDevice'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - authenticators
    parameters: []
  /authenticators/webauthn/{id}/:
    get:
      operationId: authenticators_webauthn_read
      description: Viewset for WebAuthn authenticator devices
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/WebAuthnDevice'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    put:
      operationId: authenticators_webauthn_update
      description: Viewset for WebAuthn authenticator devices
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/WebAuthnDevice'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/WebAuthnDevice'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    patch:
      operationId: authenticators_webauthn_partial_update
      description: Viewset for WebAuthn authenticator devices
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/WebAuthnDevice'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/WebAuthnDevice'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    delete:
      operationId: authenticators_webauthn_delete
      description: Viewset for WebAuthn authenticator devices
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - authenticators
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this WebAuthn Device.
        required: true
        type: integer
  /core/applications/:
    get:
      operationId: core_applications_list
      description: Custom list method that checks Policy based access instead of guardian
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
        - name: superuser_full_list
          in: query
          type: boolean
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Application'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    post:
      operationId: core_applications_create
      description: Application Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Application'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Application'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    parameters: []
  /core/applications/{slug}/:
    get:
      operationId: core_applications_read
      description: Application Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Application'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    put:
      operationId: core_applications_update
      description: Application Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Application'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Application'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    patch:
      operationId: core_applications_partial_update
      description: Application Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Application'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Application'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    delete:
      operationId: core_applications_delete
      description: Application Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    parameters:
      - name: slug
        in: path
        description: Internal application name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /core/applications/{slug}/check_access/:
    get:
      operationId: core_applications_check_access
      description: Check access to a single application by slug
      parameters: []
      responses:
        '204':
          description: Access granted
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    parameters:
      - name: slug
        in: path
        description: Internal application name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /core/applications/{slug}/metrics/:
    get:
      operationId: core_applications_metrics
      description: Metrics for application logins
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/Coordinate'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    parameters:
      - name: slug
        in: path
        description: Internal application name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /core/applications/{slug}/set_icon/:
    post:
      operationId: core_applications_set_icon
      description: Set application icon
      parameters:
        - name: file
          in: formData
          required: true
          type: file
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      consumes:
        - multipart/form-data
      tags:
        - core
    parameters:
      - name: slug
        in: path
        description: Internal application name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /core/groups/:
    get:
      operationId: core_groups_list
      description: Group Viewset
      parameters:
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: is_superuser
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Group'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    post:
      operationId: core_groups_create
      description: Group Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Group'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Group'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    parameters: []
  /core/groups/{group_uuid}/:
    get:
      operationId: core_groups_read
      description: Group Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Group'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    put:
      operationId: core_groups_update
      description: Group Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Group'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Group'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    patch:
      operationId: core_groups_partial_update
      description: Group Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Group'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Group'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    delete:
      operationId: core_groups_delete
      description: Group Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    parameters:
      - name: group_uuid
        in: path
        description: A UUID string identifying this group.
        required: true
        type: string
        format: uuid
  /core/tokens/:
    get:
      operationId: core_tokens_list
      description: Token Viewset
      parameters:
        - name: identifier
          in: query
          description: ''
          required: false
          type: string
        - name: intent
          in: query
          description: ''
          required: false
          type: string
        - name: user__username
          in: query
          description: ''
          required: false
          type: string
        - name: description
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Token'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    post:
      operationId: core_tokens_create
      description: Token Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Token'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Token'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    parameters: []
  /core/tokens/{identifier}/:
    get:
      operationId: core_tokens_read
      description: Token Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Token'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    put:
      operationId: core_tokens_update
      description: Token Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Token'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Token'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    patch:
      operationId: core_tokens_partial_update
      description: Token Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Token'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Token'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    delete:
      operationId: core_tokens_delete
      description: Token Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    parameters:
      - name: identifier
        in: path
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /core/tokens/{identifier}/view_key/:
    get:
      operationId: core_tokens_view_key
      description: Return token key and log access
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/TokenView'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    parameters:
      - name: identifier
        in: path
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /core/user_consent/:
    get:
      operationId: core_user_consent_list
      description: UserConsent Viewset
      parameters:
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: application
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/UserConsent'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    parameters: []
  /core/user_consent/{id}/:
    get:
      operationId: core_user_consent_read
      description: UserConsent Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserConsent'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    delete:
      operationId: core_user_consent_delete
      description: UserConsent Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this User Consent.
        required: true
        type: integer
  /core/users/:
    get:
      operationId: core_users_list
      description: User Viewset
      parameters:
        - name: username
          in: query
          description: ''
          required: false
          type: string
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: is_superuser
          in: query
          description: ''
          required: false
          type: string
        - name: attributes
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/User'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    post:
      operationId: core_users_create
      description: User Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/User'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/User'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    parameters: []
  /core/users/me/:
    get:
      operationId: core_users_me
      description: Get information about current user
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SessionUser'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    parameters: []
  /core/users/{id}/:
    get:
      operationId: core_users_read
      description: User Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/User'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    put:
      operationId: core_users_update
      description: User Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/User'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/User'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    patch:
      operationId: core_users_partial_update
      description: User Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/User'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/User'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    delete:
      operationId: core_users_delete
      description: User Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this User.
        required: true
        type: integer
  /core/users/{id}/metrics/:
    get:
      operationId: core_users_metrics
      description: User metrics per 1h
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserMetrics'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - core
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this User.
        required: true
        type: integer
  /core/users/{id}/recovery/:
    get:
      operationId: core_users_recovery
      description: Create a temporary link that a user can use to recover their accounts
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Link'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - core
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this User.
        required: true
        type: integer
  /crypto/certificatekeypairs/:
    get:
      operationId: crypto_certificatekeypairs_list
      description: CertificateKeyPair Viewset
      parameters:
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: has_key
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/CertificateKeyPair'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - crypto
    post:
      operationId: crypto_certificatekeypairs_create
      description: CertificateKeyPair Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CertificateKeyPair'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CertificateKeyPair'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - crypto
    parameters: []
  /crypto/certificatekeypairs/generate/:
    post:
      operationId: crypto_certificatekeypairs_generate
      description: Generate a new, self-signed certificate-key pair
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CertificateGeneration'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CertificateKeyPair'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - crypto
    parameters: []
  /crypto/certificatekeypairs/{kp_uuid}/:
    get:
      operationId: crypto_certificatekeypairs_read
      description: CertificateKeyPair Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CertificateKeyPair'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - crypto
    put:
      operationId: crypto_certificatekeypairs_update
      description: CertificateKeyPair Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CertificateKeyPair'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CertificateKeyPair'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - crypto
    patch:
      operationId: crypto_certificatekeypairs_partial_update
      description: CertificateKeyPair Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CertificateKeyPair'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CertificateKeyPair'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - crypto
    delete:
      operationId: crypto_certificatekeypairs_delete
      description: CertificateKeyPair Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - crypto
    parameters:
      - name: kp_uuid
        in: path
        description: A UUID string identifying this Certificate-Key Pair.
        required: true
        type: string
        format: uuid
  /crypto/certificatekeypairs/{kp_uuid}/view_certificate/:
    get:
      operationId: crypto_certificatekeypairs_view_certificate
      description: Return certificate-key pairs certificate and log access
      parameters:
        - name: download
          in: query
          type: boolean
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CertificateData'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - crypto
    parameters:
      - name: kp_uuid
        in: path
        description: A UUID string identifying this Certificate-Key Pair.
        required: true
        type: string
        format: uuid
  /crypto/certificatekeypairs/{kp_uuid}/view_private_key/:
    get:
      operationId: crypto_certificatekeypairs_view_private_key
      description: Return certificate-key pairs private key and log access
      parameters:
        - name: download
          in: query
          type: boolean
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CertificateData'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - crypto
    parameters:
      - name: kp_uuid
        in: path
        description: A UUID string identifying this Certificate-Key Pair.
        required: true
        type: string
        format: uuid
  /events/events/:
    get:
      operationId: events_events_list
      description: Event Read-Only Viewset
      parameters:
        - name: action
          in: query
          description: ''
          required: false
          type: string
        - name: client_ip
          in: query
          description: ''
          required: false
          type: string
        - name: username
          in: query
          description: ''
          required: false
          type: string
        - name: context_model_pk
          in: query
          description: ''
          required: false
          type: string
        - name: context_model_name
          in: query
          description: ''
          required: false
          type: string
        - name: context_model_app
          in: query
          description: ''
          required: false
          type: string
        - name: context_authorized_app
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Event'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - events
    parameters: []
  /events/events/actions/:
    get:
      operationId: events_events_actions
      description: Get all actions
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - events
    parameters: []
  /events/events/top_per_user/:
    get:
      operationId: events_events_top_per_user
      description: Get the top_n events grouped by user count
      parameters:
        - name: action
          in: query
          description: ''
          required: false
          type: string
        - name: client_ip
          in: query
          description: ''
          required: false
          type: string
        - name: username
          in: query
          description: ''
          required: false
          type: string
        - name: context_model_pk
          in: query
          description: ''
          required: false
          type: string
        - name: context_model_name
          in: query
          description: ''
          required: false
          type: string
        - name: context_model_app
          in: query
          description: ''
          required: false
          type: string
        - name: context_authorized_app
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
        - name: top_n
          in: query
          required: false
          type: integer
          default: 15
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/EventTopPerUser'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - events
    parameters: []
  /events/events/{event_uuid}/:
    get:
      operationId: events_events_read
      description: Event Read-Only Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Event'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    parameters:
      - name: event_uuid
        in: path
        description: A UUID string identifying this Event.
        required: true
        type: string
        format: uuid
  /events/notifications/:
    get:
      operationId: events_notifications_list
      description: Notification Viewset
      parameters:
        - name: severity
          in: query
          description: ''
          required: false
          type: string
        - name: body
          in: query
          description: ''
          required: false
          type: string
        - name: created
          in: query
          description: ''
          required: false
          type: string
        - name: event
          in: query
          description: ''
          required: false
          type: string
        - name: seen
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Notification'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - events
    parameters: []
  /events/notifications/{uuid}/:
    get:
      operationId: events_notifications_read
      description: Notification Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Notification'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    put:
      operationId: events_notifications_update
      description: Notification Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Notification'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Notification'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    patch:
      operationId: events_notifications_partial_update
      description: Notification Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Notification'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Notification'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    delete:
      operationId: events_notifications_delete
      description: Notification Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this Notification.
        required: true
        type: string
        format: uuid
  /events/rules/:
    get:
      operationId: events_rules_list
      description: NotificationRule Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/NotificationRule'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - events
    post:
      operationId: events_rules_create
      description: NotificationRule Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NotificationRule'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/NotificationRule'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - events
    parameters: []
  /events/rules/{pbm_uuid}/:
    get:
      operationId: events_rules_read
      description: NotificationRule Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NotificationRule'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    put:
      operationId: events_rules_update
      description: NotificationRule Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NotificationRule'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NotificationRule'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    patch:
      operationId: events_rules_partial_update
      description: NotificationRule Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NotificationRule'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NotificationRule'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    delete:
      operationId: events_rules_delete
      description: NotificationRule Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    parameters:
      - name: pbm_uuid
        in: path
        description: A UUID string identifying this Notification Rule.
        required: true
        type: string
        format: uuid
  /events/transports/:
    get:
      operationId: events_transports_list
      description: NotificationTransport Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/NotificationTransport'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - events
    post:
      operationId: events_transports_create
      description: NotificationTransport Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NotificationTransport'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/NotificationTransport'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - events
    parameters: []
  /events/transports/{uuid}/:
    get:
      operationId: events_transports_read
      description: NotificationTransport Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NotificationTransport'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    put:
      operationId: events_transports_update
      description: NotificationTransport Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NotificationTransport'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NotificationTransport'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    patch:
      operationId: events_transports_partial_update
      description: NotificationTransport Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NotificationTransport'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NotificationTransport'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    delete:
      operationId: events_transports_delete
      description: NotificationTransport Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this Notification Transport.
        required: true
        type: string
        format: uuid
  /events/transports/{uuid}/test/:
    post:
      operationId: events_transports_test
      description: |-
        Send example notification using selected transport. Requires
        Modify permissions.
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NotificationTransportTest'
        '503':
          description: Failed to test transport
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - events
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this Notification Transport.
        required: true
        type: string
        format: uuid
  /flows/bindings/:
    get:
      operationId: flows_bindings_list
      description: FlowStageBinding Viewset
      parameters:
        - name: pbm_uuid
          in: query
          description: ''
          required: false
          type: string
        - name: policies
          in: query
          description: ''
          required: false
          type: string
        - name: policy_engine_mode
          in: query
          description: ''
          required: false
          type: string
        - name: fsb_uuid
          in: query
          description: ''
          required: false
          type: string
        - name: target
          in: query
          description: ''
          required: false
          type: string
        - name: stage
          in: query
          description: ''
          required: false
          type: string
        - name: evaluate_on_plan
          in: query
          description: ''
          required: false
          type: string
        - name: re_evaluate_policies
          in: query
          description: ''
          required: false
          type: string
        - name: order
          in: query
          description: ''
          required: false
          type: number
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/FlowStageBinding'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - flows
    post:
      operationId: flows_bindings_create
      description: FlowStageBinding Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/FlowStageBinding'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/FlowStageBinding'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - flows
    parameters: []
  /flows/bindings/{fsb_uuid}/:
    get:
      operationId: flows_bindings_read
      description: FlowStageBinding Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/FlowStageBinding'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    put:
      operationId: flows_bindings_update
      description: FlowStageBinding Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/FlowStageBinding'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/FlowStageBinding'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    patch:
      operationId: flows_bindings_partial_update
      description: FlowStageBinding Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/FlowStageBinding'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/FlowStageBinding'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    delete:
      operationId: flows_bindings_delete
      description: FlowStageBinding Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    parameters:
      - name: fsb_uuid
        in: path
        description: A UUID string identifying this Flow Stage Binding.
        required: true
        type: string
        format: uuid
  /flows/executor/{flow_slug}/:
    get:
      operationId: flows_executor_get
      description: Get the next pending challenge from the currently active flow.
      parameters:
        - name: query
          in: query
          description: Querystring as received
          required: true
          type: string
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Challenge'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - flows
    post:
      operationId: flows_executor_solve
      description: Solve the previously retrieved challenge and advanced to the next
        stage.
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ChallengeResponse'
        - name: query
          in: query
          description: Querystring as received
          required: true
          type: string
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Challenge'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    parameters:
      - name: flow_slug
        in: path
        required: true
        type: string
  /flows/instances/:
    get:
      operationId: flows_instances_list
      description: Flow Viewset
      parameters:
        - name: flow_uuid
          in: query
          description: ''
          required: false
          type: string
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: slug
          in: query
          description: ''
          required: false
          type: string
        - name: designation
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Flow'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - flows
    post:
      operationId: flows_instances_create
      description: Flow Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Flow'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Flow'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - flows
    parameters: []
  /flows/instances/cache_clear/:
    post:
      operationId: flows_instances_cache_clear
      description: Clear flow cache
      parameters: []
      responses:
        '204':
          description: Successfully cleared cache
        '400':
          description: Bad request
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - flows
    parameters: []
  /flows/instances/cache_info/:
    get:
      operationId: flows_instances_cache_info
      description: Info about cached flows
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Cache'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - flows
    parameters: []
  /flows/instances/import_flow/:
    post:
      operationId: flows_instances_import_flow
      description: Import flow from .akflow file
      parameters:
        - name: file
          in: formData
          required: true
          type: file
      responses:
        '204':
          description: Successfully imported flow
        '400':
          description: Bad request
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      consumes:
        - multipart/form-data
      tags:
        - flows
    parameters: []
  /flows/instances/{slug}/:
    get:
      operationId: flows_instances_read
      description: Flow Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Flow'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    put:
      operationId: flows_instances_update
      description: Flow Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Flow'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Flow'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    patch:
      operationId: flows_instances_partial_update
      description: Flow Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Flow'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Flow'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    delete:
      operationId: flows_instances_delete
      description: Flow Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    parameters:
      - name: slug
        in: path
        description: Visible in the URL.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /flows/instances/{slug}/diagram/:
    get:
      operationId: flows_instances_diagram
      description: Return diagram for flow with slug `slug`, in the format used by
        flowchart.js
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/FlowDiagram'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    parameters:
      - name: slug
        in: path
        description: Visible in the URL.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /flows/instances/{slug}/execute/:
    get:
      operationId: flows_instances_execute
      description: Execute flow for current user
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Link'
        '400':
          description: Flow not applicable
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    parameters:
      - name: slug
        in: path
        description: Visible in the URL.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /flows/instances/{slug}/export/:
    get:
      operationId: flows_instances_export
      description: Export flow to .akflow file
      parameters: []
      responses:
        '200':
          description: File Attachment
          schema:
            type: file
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - flows
    parameters:
      - name: slug
        in: path
        description: Visible in the URL.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /flows/instances/{slug}/set_background/:
    post:
      operationId: flows_instances_set_background
      description: Set Flow background
      parameters:
        - name: file
          in: formData
          required: true
          type: file
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      consumes:
        - multipart/form-data
      tags:
        - flows
    parameters:
      - name: slug
        in: path
        description: Visible in the URL.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /oauth2/authorization_codes/:
    get:
      operationId: oauth2_authorization_codes_list
      description: AuthorizationCode Viewset
      parameters:
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: provider
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/ExpiringBaseGrantModel'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - oauth2
    parameters: []
  /oauth2/authorization_codes/{id}/:
    get:
      operationId: oauth2_authorization_codes_read
      description: AuthorizationCode Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ExpiringBaseGrantModel'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - oauth2
    delete:
      operationId: oauth2_authorization_codes_delete
      description: AuthorizationCode Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - oauth2
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this Authorization Code.
        required: true
        type: integer
  /oauth2/refresh_tokens/:
    get:
      operationId: oauth2_refresh_tokens_list
      description: RefreshToken Viewset
      parameters:
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: provider
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/ExpiringBaseGrantModel'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - oauth2
    parameters: []
  /oauth2/refresh_tokens/{id}/:
    get:
      operationId: oauth2_refresh_tokens_read
      description: RefreshToken Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ExpiringBaseGrantModel'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - oauth2
    delete:
      operationId: oauth2_refresh_tokens_delete
      description: RefreshToken Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - oauth2
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this OAuth2 Token.
        required: true
        type: integer
  /outposts/instances/:
    get:
      operationId: outposts_instances_list
      description: Outpost Viewset
      parameters:
        - name: providers__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Outpost'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    post:
      operationId: outposts_instances_create
      description: Outpost Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Outpost'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Outpost'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    parameters: []
  /outposts/instances/default_settings/:
    get:
      operationId: outposts_instances_default_settings
      description: Global default outpost config
      parameters:
        - name: providers__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OutpostDefaultConfig'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    parameters: []
  /outposts/instances/{uuid}/:
    get:
      operationId: outposts_instances_read
      description: Outpost Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Outpost'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    put:
      operationId: outposts_instances_update
      description: Outpost Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Outpost'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Outpost'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    patch:
      operationId: outposts_instances_partial_update
      description: Outpost Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Outpost'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Outpost'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    delete:
      operationId: outposts_instances_delete
      description: Outpost Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this outpost.
        required: true
        type: string
        format: uuid
  /outposts/instances/{uuid}/health/:
    get:
      operationId: outposts_instances_health
      description: Get outposts current health
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/OutpostHealth'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this outpost.
        required: true
        type: string
        format: uuid
  /outposts/ldap/:
    get:
      operationId: outposts_ldap_list
      description: LDAPProvider Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/LDAPOutpostConfig'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    parameters: []
  /outposts/ldap/{id}/:
    get:
      operationId: outposts_ldap_read
      description: LDAPProvider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPOutpostConfig'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this LDAP Provider.
        required: true
        type: integer
  /outposts/outposts/:
    get:
      operationId: outposts_outposts_list
      description: Outpost Viewset
      parameters:
        - name: providers__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Outpost'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    post:
      operationId: outposts_outposts_create
      description: Outpost Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Outpost'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Outpost'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    parameters: []
  /outposts/outposts/default_settings/:
    get:
      operationId: outposts_outposts_default_settings
      description: Global default outpost config
      parameters:
        - name: providers__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OutpostDefaultConfig'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    parameters: []
  /outposts/outposts/{uuid}/:
    get:
      operationId: outposts_outposts_read
      description: Outpost Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Outpost'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    put:
      operationId: outposts_outposts_update
      description: Outpost Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Outpost'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Outpost'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    patch:
      operationId: outposts_outposts_partial_update
      description: Outpost Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Outpost'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Outpost'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    delete:
      operationId: outposts_outposts_delete
      description: Outpost Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this outpost.
        required: true
        type: string
        format: uuid
  /outposts/outposts/{uuid}/health/:
    get:
      operationId: outposts_outposts_health
      description: Get outposts current health
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/OutpostHealth'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this outpost.
        required: true
        type: string
        format: uuid
  /outposts/proxy/:
    get:
      operationId: outposts_proxy_list
      description: ProxyProvider Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/ProxyOutpostConfig'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    parameters: []
  /outposts/proxy/{id}/:
    get:
      operationId: outposts_proxy_read
      description: ProxyProvider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ProxyOutpostConfig'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this Proxy Provider.
        required: true
        type: integer
  /outposts/service_connections/all/:
    get:
      operationId: outposts_service_connections_all_list
      description: ServiceConnection Viewset
      parameters:
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/ServiceConnection'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    parameters: []
  /outposts/service_connections/all/types/:
    get:
      operationId: outposts_service_connections_all_types
      description: Get all creatable service connection types
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    parameters: []
  /outposts/service_connections/all/{uuid}/:
    get:
      operationId: outposts_service_connections_all_read
      description: ServiceConnection Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ServiceConnection'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    delete:
      operationId: outposts_service_connections_all_delete
      description: ServiceConnection Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this Outpost Service-Connection.
        required: true
        type: string
        format: uuid
  /outposts/service_connections/all/{uuid}/state/:
    get:
      operationId: outposts_service_connections_all_state
      description: Get the service connection's state
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ServiceConnectionState'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this Outpost Service-Connection.
        required: true
        type: string
        format: uuid
  /outposts/service_connections/docker/:
    get:
      operationId: outposts_service_connections_docker_list
      description: DockerServiceConnection Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/DockerServiceConnection'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    post:
      operationId: outposts_service_connections_docker_create
      description: DockerServiceConnection Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DockerServiceConnection'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/DockerServiceConnection'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    parameters: []
  /outposts/service_connections/docker/{uuid}/:
    get:
      operationId: outposts_service_connections_docker_read
      description: DockerServiceConnection Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DockerServiceConnection'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    put:
      operationId: outposts_service_connections_docker_update
      description: DockerServiceConnection Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DockerServiceConnection'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DockerServiceConnection'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    patch:
      operationId: outposts_service_connections_docker_partial_update
      description: DockerServiceConnection Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DockerServiceConnection'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DockerServiceConnection'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    delete:
      operationId: outposts_service_connections_docker_delete
      description: DockerServiceConnection Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this Docker Service-Connection.
        required: true
        type: string
        format: uuid
  /outposts/service_connections/kubernetes/:
    get:
      operationId: outposts_service_connections_kubernetes_list
      description: KubernetesServiceConnection Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/KubernetesServiceConnection'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    post:
      operationId: outposts_service_connections_kubernetes_create
      description: KubernetesServiceConnection Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/KubernetesServiceConnection'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/KubernetesServiceConnection'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - outposts
    parameters: []
  /outposts/service_connections/kubernetes/{uuid}/:
    get:
      operationId: outposts_service_connections_kubernetes_read
      description: KubernetesServiceConnection Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/KubernetesServiceConnection'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    put:
      operationId: outposts_service_connections_kubernetes_update
      description: KubernetesServiceConnection Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/KubernetesServiceConnection'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/KubernetesServiceConnection'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    patch:
      operationId: outposts_service_connections_kubernetes_partial_update
      description: KubernetesServiceConnection Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/KubernetesServiceConnection'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/KubernetesServiceConnection'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    delete:
      operationId: outposts_service_connections_kubernetes_delete
      description: KubernetesServiceConnection Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - outposts
    parameters:
      - name: uuid
        in: path
        description: A UUID string identifying this Kubernetes Service-Connection.
        required: true
        type: string
        format: uuid
  /policies/all/:
    get:
      operationId: policies_all_list
      description: Policy Viewset
      parameters:
        - name: bindings__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: promptstage__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Policy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/all/cache_clear/:
    post:
      operationId: policies_all_cache_clear
      description: Clear policy cache
      parameters: []
      responses:
        '204':
          description: Successfully cleared cache
        '400':
          description: Bad request
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/all/cache_info/:
    get:
      operationId: policies_all_cache_info
      description: Info about cached policies
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Cache'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/all/types/:
    get:
      operationId: policies_all_types
      description: Get all creatable policy types
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/all/{policy_uuid}/:
    get:
      operationId: policies_all_read
      description: Policy Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Policy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_all_delete
      description: Policy Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: policy_uuid
        in: path
        description: A UUID string identifying this Policy.
        required: true
        type: string
        format: uuid
  /policies/all/{policy_uuid}/test/:
    post:
      operationId: policies_all_test
      description: Test policy
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PolicyTest'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PolicyTestResult'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: policy_uuid
        in: path
        description: A UUID string identifying this Policy.
        required: true
        type: string
        format: uuid
  /policies/bindings/:
    get:
      operationId: policies_bindings_list
      description: PolicyBinding Viewset
      parameters:
        - name: policy
          in: query
          description: ''
          required: false
          type: string
        - name: target
          in: query
          description: ''
          required: false
          type: string
        - name: enabled
          in: query
          description: ''
          required: false
          type: string
        - name: order
          in: query
          description: ''
          required: false
          type: number
        - name: timeout
          in: query
          description: ''
          required: false
          type: number
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/PolicyBinding'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    post:
      operationId: policies_bindings_create
      description: PolicyBinding Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PolicyBinding'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/PolicyBinding'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/bindings/{policy_binding_uuid}/:
    get:
      operationId: policies_bindings_read
      description: PolicyBinding Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PolicyBinding'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    put:
      operationId: policies_bindings_update
      description: PolicyBinding Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PolicyBinding'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PolicyBinding'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    patch:
      operationId: policies_bindings_partial_update
      description: PolicyBinding Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PolicyBinding'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PolicyBinding'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_bindings_delete
      description: PolicyBinding Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: policy_binding_uuid
        in: path
        description: A UUID string identifying this Policy Binding.
        required: true
        type: string
        format: uuid
  /policies/dummy/:
    get:
      operationId: policies_dummy_list
      description: Dummy Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/DummyPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    post:
      operationId: policies_dummy_create
      description: Dummy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DummyPolicy'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/DummyPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/dummy/{policy_uuid}/:
    get:
      operationId: policies_dummy_read
      description: Dummy Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DummyPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    put:
      operationId: policies_dummy_update
      description: Dummy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DummyPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DummyPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    patch:
      operationId: policies_dummy_partial_update
      description: Dummy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DummyPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DummyPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_dummy_delete
      description: Dummy Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: policy_uuid
        in: path
        description: A UUID string identifying this Dummy Policy.
        required: true
        type: string
        format: uuid
  /policies/event_matcher/:
    get:
      operationId: policies_event_matcher_list
      description: Event Matcher Policy Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/EventMatcherPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    post:
      operationId: policies_event_matcher_create
      description: Event Matcher Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/EventMatcherPolicy'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/EventMatcherPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/event_matcher/{policy_uuid}/:
    get:
      operationId: policies_event_matcher_read
      description: Event Matcher Policy Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/EventMatcherPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    put:
      operationId: policies_event_matcher_update
      description: Event Matcher Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/EventMatcherPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/EventMatcherPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    patch:
      operationId: policies_event_matcher_partial_update
      description: Event Matcher Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/EventMatcherPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/EventMatcherPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_event_matcher_delete
      description: Event Matcher Policy Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: policy_uuid
        in: path
        description: A UUID string identifying this Event Matcher Policy.
        required: true
        type: string
        format: uuid
  /policies/expression/:
    get:
      operationId: policies_expression_list
      description: Source Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/ExpressionPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    post:
      operationId: policies_expression_create
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ExpressionPolicy'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ExpressionPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/expression/{policy_uuid}/:
    get:
      operationId: policies_expression_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ExpressionPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    put:
      operationId: policies_expression_update
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ExpressionPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ExpressionPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    patch:
      operationId: policies_expression_partial_update
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ExpressionPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ExpressionPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_expression_delete
      description: Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: policy_uuid
        in: path
        description: A UUID string identifying this Expression Policy.
        required: true
        type: string
        format: uuid
  /policies/haveibeenpwned/:
    get:
      operationId: policies_haveibeenpwned_list
      description: Source Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/HaveIBeenPwendPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    post:
      operationId: policies_haveibeenpwned_create
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/HaveIBeenPwendPolicy'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/HaveIBeenPwendPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/haveibeenpwned/{policy_uuid}/:
    get:
      operationId: policies_haveibeenpwned_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/HaveIBeenPwendPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    put:
      operationId: policies_haveibeenpwned_update
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/HaveIBeenPwendPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/HaveIBeenPwendPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    patch:
      operationId: policies_haveibeenpwned_partial_update
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/HaveIBeenPwendPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/HaveIBeenPwendPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_haveibeenpwned_delete
      description: Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: policy_uuid
        in: path
        description: A UUID string identifying this Have I Been Pwned Policy.
        required: true
        type: string
        format: uuid
  /policies/password/:
    get:
      operationId: policies_password_list
      description: Password Policy Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/PasswordPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    post:
      operationId: policies_password_create
      description: Password Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PasswordPolicy'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/PasswordPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/password/{policy_uuid}/:
    get:
      operationId: policies_password_read
      description: Password Policy Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    put:
      operationId: policies_password_update
      description: Password Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PasswordPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    patch:
      operationId: policies_password_partial_update
      description: Password Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PasswordPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_password_delete
      description: Password Policy Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: policy_uuid
        in: path
        description: A UUID string identifying this Password Policy.
        required: true
        type: string
        format: uuid
  /policies/password_expiry/:
    get:
      operationId: policies_password_expiry_list
      description: Password Expiry Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/PasswordExpiryPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    post:
      operationId: policies_password_expiry_create
      description: Password Expiry Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PasswordExpiryPolicy'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/PasswordExpiryPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/password_expiry/{policy_uuid}/:
    get:
      operationId: policies_password_expiry_read
      description: Password Expiry Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordExpiryPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    put:
      operationId: policies_password_expiry_update
      description: Password Expiry Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PasswordExpiryPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordExpiryPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    patch:
      operationId: policies_password_expiry_partial_update
      description: Password Expiry Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PasswordExpiryPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordExpiryPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_password_expiry_delete
      description: Password Expiry Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: policy_uuid
        in: path
        description: A UUID string identifying this Password Expiry Policy.
        required: true
        type: string
        format: uuid
  /policies/reputation/:
    get:
      operationId: policies_reputation_list
      description: Reputation Policy Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/ReputationPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    post:
      operationId: policies_reputation_create
      description: Reputation Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReputationPolicy'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReputationPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/reputation/ips/:
    get:
      operationId: policies_reputation_ips_list
      description: IPReputation Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/IPReputation'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    post:
      operationId: policies_reputation_ips_create
      description: IPReputation Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/IPReputation'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/IPReputation'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/reputation/ips/{id}/:
    get:
      operationId: policies_reputation_ips_read
      description: IPReputation Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/IPReputation'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    put:
      operationId: policies_reputation_ips_update
      description: IPReputation Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/IPReputation'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/IPReputation'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    patch:
      operationId: policies_reputation_ips_partial_update
      description: IPReputation Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/IPReputation'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/IPReputation'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_reputation_ips_delete
      description: IPReputation Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this ip reputation.
        required: true
        type: integer
  /policies/reputation/users/:
    get:
      operationId: policies_reputation_users_list
      description: UserReputation Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/UserReputation'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    post:
      operationId: policies_reputation_users_create
      description: UserReputation Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserReputation'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/UserReputation'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - policies
    parameters: []
  /policies/reputation/users/{id}/:
    get:
      operationId: policies_reputation_users_read
      description: UserReputation Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserReputation'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    put:
      operationId: policies_reputation_users_update
      description: UserReputation Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserReputation'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserReputation'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    patch:
      operationId: policies_reputation_users_partial_update
      description: UserReputation Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserReputation'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserReputation'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_reputation_users_delete
      description: UserReputation Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this user reputation.
        required: true
        type: integer
  /policies/reputation/{policy_uuid}/:
    get:
      operationId: policies_reputation_read
      description: Reputation Policy Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReputationPolicy'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    put:
      operationId: policies_reputation_update
      description: Reputation Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReputationPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReputationPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    patch:
      operationId: policies_reputation_partial_update
      description: Reputation Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReputationPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReputationPolicy'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    delete:
      operationId: policies_reputation_delete
      description: Reputation Policy Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - policies
    parameters:
      - name: policy_uuid
        in: path
        description: A UUID string identifying this Reputation Policy.
        required: true
        type: string
        format: uuid
  /propertymappings/all/:
    get:
      operationId: propertymappings_all_list
      description: PropertyMapping Viewset
      parameters:
        - name: managed__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/PropertyMapping'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - propertymappings
    parameters: []
  /propertymappings/all/types/:
    get:
      operationId: propertymappings_all_types
      description: Get all creatable property-mapping types
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - propertymappings
    parameters: []
  /propertymappings/all/{pm_uuid}/:
    get:
      operationId: propertymappings_all_read
      description: PropertyMapping Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PropertyMapping'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    delete:
      operationId: propertymappings_all_delete
      description: PropertyMapping Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    parameters:
      - name: pm_uuid
        in: path
        description: A UUID string identifying this Property Mapping.
        required: true
        type: string
        format: uuid
  /propertymappings/all/{pm_uuid}/test/:
    post:
      operationId: propertymappings_all_test
      description: Test Property Mapping
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PolicyTest'
        - name: format_result
          in: query
          type: boolean
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PropertyMappingTestResult'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    parameters:
      - name: pm_uuid
        in: path
        description: A UUID string identifying this Property Mapping.
        required: true
        type: string
        format: uuid
  /propertymappings/ldap/:
    get:
      operationId: propertymappings_ldap_list
      description: LDAP PropertyMapping Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/LDAPPropertyMapping'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - propertymappings
    post:
      operationId: propertymappings_ldap_create
      description: LDAP PropertyMapping Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/LDAPPropertyMapping'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/LDAPPropertyMapping'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - propertymappings
    parameters: []
  /propertymappings/ldap/{pm_uuid}/:
    get:
      operationId: propertymappings_ldap_read
      description: LDAP PropertyMapping Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPPropertyMapping'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    put:
      operationId: propertymappings_ldap_update
      description: LDAP PropertyMapping Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/LDAPPropertyMapping'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPPropertyMapping'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    patch:
      operationId: propertymappings_ldap_partial_update
      description: LDAP PropertyMapping Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/LDAPPropertyMapping'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPPropertyMapping'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    delete:
      operationId: propertymappings_ldap_delete
      description: LDAP PropertyMapping Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    parameters:
      - name: pm_uuid
        in: path
        description: A UUID string identifying this LDAP Property Mapping.
        required: true
        type: string
        format: uuid
  /propertymappings/saml/:
    get:
      operationId: propertymappings_saml_list
      description: SAMLPropertyMapping Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/SAMLPropertyMapping'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - propertymappings
    post:
      operationId: propertymappings_saml_create
      description: SAMLPropertyMapping Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SAMLPropertyMapping'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/SAMLPropertyMapping'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - propertymappings
    parameters: []
  /propertymappings/saml/{pm_uuid}/:
    get:
      operationId: propertymappings_saml_read
      description: SAMLPropertyMapping Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLPropertyMapping'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    put:
      operationId: propertymappings_saml_update
      description: SAMLPropertyMapping Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SAMLPropertyMapping'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLPropertyMapping'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    patch:
      operationId: propertymappings_saml_partial_update
      description: SAMLPropertyMapping Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SAMLPropertyMapping'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLPropertyMapping'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    delete:
      operationId: propertymappings_saml_delete
      description: SAMLPropertyMapping Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    parameters:
      - name: pm_uuid
        in: path
        description: A UUID string identifying this SAML Property Mapping.
        required: true
        type: string
        format: uuid
  /propertymappings/scope/:
    get:
      operationId: propertymappings_scope_list
      description: ScopeMapping Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/ScopeMapping'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - propertymappings
    post:
      operationId: propertymappings_scope_create
      description: ScopeMapping Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ScopeMapping'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ScopeMapping'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - propertymappings
    parameters: []
  /propertymappings/scope/{pm_uuid}/:
    get:
      operationId: propertymappings_scope_read
      description: ScopeMapping Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ScopeMapping'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    put:
      operationId: propertymappings_scope_update
      description: ScopeMapping Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ScopeMapping'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ScopeMapping'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    patch:
      operationId: propertymappings_scope_partial_update
      description: ScopeMapping Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ScopeMapping'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ScopeMapping'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    delete:
      operationId: propertymappings_scope_delete
      description: ScopeMapping Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - propertymappings
    parameters:
      - name: pm_uuid
        in: path
        description: A UUID string identifying this Scope Mapping.
        required: true
        type: string
        format: uuid
  /providers/all/:
    get:
      operationId: providers_all_list
      description: Provider Viewset
      parameters:
        - name: application__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Provider'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    parameters: []
  /providers/all/types/:
    get:
      operationId: providers_all_types
      description: Get all creatable provider types
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    parameters: []
  /providers/all/{id}/:
    get:
      operationId: providers_all_read
      description: Provider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Provider'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    delete:
      operationId: providers_all_delete
      description: Provider Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this provider.
        required: true
        type: integer
  /providers/ldap/:
    get:
      operationId: providers_ldap_list
      description: LDAPProvider Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/LDAPProvider'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    post:
      operationId: providers_ldap_create
      description: LDAPProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/LDAPProvider'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/LDAPProvider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    parameters: []
  /providers/ldap/{id}/:
    get:
      operationId: providers_ldap_read
      description: LDAPProvider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPProvider'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    put:
      operationId: providers_ldap_update
      description: LDAPProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/LDAPProvider'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPProvider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    patch:
      operationId: providers_ldap_partial_update
      description: LDAPProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/LDAPProvider'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPProvider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    delete:
      operationId: providers_ldap_delete
      description: LDAPProvider Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this LDAP Provider.
        required: true
        type: integer
  /providers/oauth2/:
    get:
      operationId: providers_oauth2_list
      description: OAuth2Provider Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/OAuth2Provider'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    post:
      operationId: providers_oauth2_create
      description: OAuth2Provider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OAuth2Provider'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/OAuth2Provider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    parameters: []
  /providers/oauth2/{id}/:
    get:
      operationId: providers_oauth2_read
      description: OAuth2Provider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OAuth2Provider'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    put:
      operationId: providers_oauth2_update
      description: OAuth2Provider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OAuth2Provider'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OAuth2Provider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    patch:
      operationId: providers_oauth2_partial_update
      description: OAuth2Provider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OAuth2Provider'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OAuth2Provider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    delete:
      operationId: providers_oauth2_delete
      description: OAuth2Provider Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this OAuth2/OpenID Provider.
        required: true
        type: integer
  /providers/oauth2/{id}/setup_urls/:
    get:
      operationId: providers_oauth2_setup_urls
      description: Get Providers setup URLs
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OAuth2ProviderSetupURLs'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this OAuth2/OpenID Provider.
        required: true
        type: integer
  /providers/proxy/:
    get:
      operationId: providers_proxy_list
      description: ProxyProvider Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/ProxyProvider'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    post:
      operationId: providers_proxy_create
      description: ProxyProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ProxyProvider'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ProxyProvider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    parameters: []
  /providers/proxy/{id}/:
    get:
      operationId: providers_proxy_read
      description: ProxyProvider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ProxyProvider'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    put:
      operationId: providers_proxy_update
      description: ProxyProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ProxyProvider'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ProxyProvider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    patch:
      operationId: providers_proxy_partial_update
      description: ProxyProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ProxyProvider'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ProxyProvider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    delete:
      operationId: providers_proxy_delete
      description: ProxyProvider Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this Proxy Provider.
        required: true
        type: integer
  /providers/saml/:
    get:
      operationId: providers_saml_list
      description: SAMLProvider Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/SAMLProvider'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    post:
      operationId: providers_saml_create
      description: SAMLProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SAMLProvider'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/SAMLProvider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    parameters: []
  /providers/saml/import_metadata/:
    post:
      operationId: providers_saml_import_metadata
      description: Create provider from SAML Metadata
      parameters:
        - name: name
          in: formData
          required: true
          type: string
          minLength: 1
        - name: authorization_flow
          in: formData
          required: true
          type: string
          format: slug
          pattern: ^[-a-zA-Z0-9_]+$
        - name: file
          in: formData
          required: true
          type: file
      responses:
        '204':
          description: Successfully imported provider
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      consumes:
        - multipart/form-data
      tags:
        - providers
    parameters: []
  /providers/saml/{id}/:
    get:
      operationId: providers_saml_read
      description: SAMLProvider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLProvider'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    put:
      operationId: providers_saml_update
      description: SAMLProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SAMLProvider'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLProvider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    patch:
      operationId: providers_saml_partial_update
      description: SAMLProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SAMLProvider'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLProvider'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    delete:
      operationId: providers_saml_delete
      description: SAMLProvider Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - providers
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this SAML Provider.
        required: true
        type: integer
  /providers/saml/{id}/metadata/:
    get:
      operationId: providers_saml_metadata
      description: Return metadata as XML string
      parameters:
        - name: download
          in: query
          type: boolean
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLMetadata'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - providers
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this SAML Provider.
        required: true
        type: integer
  /root/config/:
    get:
      operationId: root_config_list
      description: Retrive public configuration options
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Config'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - root
    parameters: []
  /sources/all/:
    get:
      operationId: sources_all_list
      description: Source Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Source'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters: []
  /sources/all/types/:
    get:
      operationId: sources_all_types
      description: Get all creatable source types
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters: []
  /sources/all/user_settings/:
    get:
      operationId: sources_all_user_settings
      description: Get all sources the user can configure
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/UserSetting'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters: []
  /sources/all/{slug}/:
    get:
      operationId: sources_all_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Source'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    delete:
      operationId: sources_all_delete
      description: Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    parameters:
      - name: slug
        in: path
        description: Internal source name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /sources/ldap/:
    get:
      operationId: sources_ldap_list
      description: LDAP Source Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/LDAPSource'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    post:
      operationId: sources_ldap_create
      description: LDAP Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/LDAPSource'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/LDAPSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters: []
  /sources/ldap/{slug}/:
    get:
      operationId: sources_ldap_read
      description: LDAP Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPSource'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    put:
      operationId: sources_ldap_update
      description: LDAP Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/LDAPSource'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    patch:
      operationId: sources_ldap_partial_update
      description: LDAP Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/LDAPSource'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    delete:
      operationId: sources_ldap_delete
      description: LDAP Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    parameters:
      - name: slug
        in: path
        description: Internal source name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /sources/ldap/{slug}/sync_status/:
    get:
      operationId: sources_ldap_sync_status
      description: Get source's sync status
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Task'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters:
      - name: slug
        in: path
        description: Internal source name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /sources/oauth/:
    get:
      operationId: sources_oauth_list
      description: Source Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/OAuthSource'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    post:
      operationId: sources_oauth_create
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OAuthSource'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/OAuthSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters: []
  /sources/oauth/source_types/:
    get:
      operationId: sources_oauth_source_types
      description: Get all creatable source types
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/SourceType'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters: []
  /sources/oauth/{slug}/:
    get:
      operationId: sources_oauth_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OAuthSource'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    put:
      operationId: sources_oauth_update
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OAuthSource'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OAuthSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    patch:
      operationId: sources_oauth_partial_update
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OAuthSource'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OAuthSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    delete:
      operationId: sources_oauth_delete
      description: Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    parameters:
      - name: slug
        in: path
        description: Internal source name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /sources/oauth_user_connections/:
    get:
      operationId: sources_oauth_user_connections_list
      description: Source Viewset
      parameters:
        - name: source__slug
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/UserOAuthSourceConnection'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    post:
      operationId: sources_oauth_user_connections_create
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserOAuthSourceConnection'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/UserOAuthSourceConnection'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters: []
  /sources/oauth_user_connections/{id}/:
    get:
      operationId: sources_oauth_user_connections_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserOAuthSourceConnection'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    put:
      operationId: sources_oauth_user_connections_update
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserOAuthSourceConnection'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserOAuthSourceConnection'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    patch:
      operationId: sources_oauth_user_connections_partial_update
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserOAuthSourceConnection'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserOAuthSourceConnection'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    delete:
      operationId: sources_oauth_user_connections_delete
      description: Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this User OAuth Source Connection.
        required: true
        type: integer
  /sources/plex/:
    get:
      operationId: sources_plex_list
      description: Plex source Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/PlexSource'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    post:
      operationId: sources_plex_create
      description: Plex source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PlexSource'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/PlexSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters: []
  /sources/plex/redeem_token/:
    post:
      operationId: sources_plex_redeem_token
      description: |-
        Redeem a plex token, check it's access to resources against what's allowed
        for the source, and redirect to an authentication/enrollment flow.
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PlexTokenRedeem'
        - name: slug
          in: query
          type: string
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/RedirectChallenge'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters: []
  /sources/plex/{slug}/:
    get:
      operationId: sources_plex_read
      description: Plex source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PlexSource'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    put:
      operationId: sources_plex_update
      description: Plex source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PlexSource'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PlexSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    patch:
      operationId: sources_plex_partial_update
      description: Plex source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PlexSource'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PlexSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    delete:
      operationId: sources_plex_delete
      description: Plex source Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    parameters:
      - name: slug
        in: path
        description: Internal source name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /sources/saml/:
    get:
      operationId: sources_saml_list
      description: SAMLSource Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/SAMLSource'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    post:
      operationId: sources_saml_create
      description: SAMLSource Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SAMLSource'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/SAMLSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - sources
    parameters: []
  /sources/saml/{slug}/:
    get:
      operationId: sources_saml_read
      description: SAMLSource Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLSource'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    put:
      operationId: sources_saml_update
      description: SAMLSource Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SAMLSource'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    patch:
      operationId: sources_saml_partial_update
      description: SAMLSource Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SAMLSource'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLSource'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    delete:
      operationId: sources_saml_delete
      description: SAMLSource Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    parameters:
      - name: slug
        in: path
        description: Internal source name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /sources/saml/{slug}/metadata/:
    get:
      operationId: sources_saml_metadata
      description: Return metadata as XML string
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLMetadata'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - sources
    parameters:
      - name: slug
        in: path
        description: Internal source name, used in URLs.
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /stages/all/:
    get:
      operationId: stages_all_list
      description: Stage Viewset
      parameters:
        - name: name
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Stage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/all/types/:
    get:
      operationId: stages_all_types
      description: Get all creatable stage types
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/all/user_settings/:
    get:
      operationId: stages_all_user_settings
      description: Get all stages the user can configure
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/StageUserSetting'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/all/{stage_uuid}/:
    get:
      operationId: stages_all_read
      description: Stage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Stage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_all_delete
      description: Stage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this stage.
        required: true
        type: string
        format: uuid
  /stages/authenticator/static/:
    get:
      operationId: stages_authenticator_static_list
      description: AuthenticatorStaticStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/AuthenticatorStaticStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_authenticator_static_create
      description: AuthenticatorStaticStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticatorStaticStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorStaticStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/authenticator/static/{stage_uuid}/:
    get:
      operationId: stages_authenticator_static_read
      description: AuthenticatorStaticStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorStaticStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_authenticator_static_update
      description: AuthenticatorStaticStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticatorStaticStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorStaticStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_authenticator_static_partial_update
      description: AuthenticatorStaticStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticatorStaticStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorStaticStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_authenticator_static_delete
      description: AuthenticatorStaticStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Static Authenticator Stage.
        required: true
        type: string
        format: uuid
  /stages/authenticator/totp/:
    get:
      operationId: stages_authenticator_totp_list
      description: AuthenticatorTOTPStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/AuthenticatorTOTPStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_authenticator_totp_create
      description: AuthenticatorTOTPStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticatorTOTPStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorTOTPStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/authenticator/totp/{stage_uuid}/:
    get:
      operationId: stages_authenticator_totp_read
      description: AuthenticatorTOTPStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorTOTPStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_authenticator_totp_update
      description: AuthenticatorTOTPStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticatorTOTPStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorTOTPStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_authenticator_totp_partial_update
      description: AuthenticatorTOTPStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticatorTOTPStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorTOTPStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_authenticator_totp_delete
      description: AuthenticatorTOTPStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this TOTP Authenticator Setup Stage.
        required: true
        type: string
        format: uuid
  /stages/authenticator/validate/:
    get:
      operationId: stages_authenticator_validate_list
      description: AuthenticatorValidateStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/AuthenticatorValidateStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_authenticator_validate_create
      description: AuthenticatorValidateStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticatorValidateStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorValidateStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/authenticator/validate/{stage_uuid}/:
    get:
      operationId: stages_authenticator_validate_read
      description: AuthenticatorValidateStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorValidateStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_authenticator_validate_update
      description: AuthenticatorValidateStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticatorValidateStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorValidateStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_authenticator_validate_partial_update
      description: AuthenticatorValidateStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticatorValidateStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticatorValidateStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_authenticator_validate_delete
      description: AuthenticatorValidateStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Authenticator Validation Stage.
        required: true
        type: string
        format: uuid
  /stages/authenticator/webauthn/:
    get:
      operationId: stages_authenticator_webauthn_list
      description: AuthenticateWebAuthnStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/AuthenticateWebAuthnStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_authenticator_webauthn_create
      description: AuthenticateWebAuthnStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticateWebAuthnStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticateWebAuthnStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/authenticator/webauthn/{stage_uuid}/:
    get:
      operationId: stages_authenticator_webauthn_read
      description: AuthenticateWebAuthnStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticateWebAuthnStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_authenticator_webauthn_update
      description: AuthenticateWebAuthnStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticateWebAuthnStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticateWebAuthnStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_authenticator_webauthn_partial_update
      description: AuthenticateWebAuthnStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AuthenticateWebAuthnStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/AuthenticateWebAuthnStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_authenticator_webauthn_delete
      description: AuthenticateWebAuthnStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this WebAuthn Authenticator Setup Stage.
        required: true
        type: string
        format: uuid
  /stages/captcha/:
    get:
      operationId: stages_captcha_list
      description: CaptchaStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/CaptchaStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_captcha_create
      description: CaptchaStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CaptchaStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CaptchaStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/captcha/{stage_uuid}/:
    get:
      operationId: stages_captcha_read
      description: CaptchaStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CaptchaStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_captcha_update
      description: CaptchaStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CaptchaStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CaptchaStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_captcha_partial_update
      description: CaptchaStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CaptchaStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CaptchaStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_captcha_delete
      description: CaptchaStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Captcha Stage.
        required: true
        type: string
        format: uuid
  /stages/consent/:
    get:
      operationId: stages_consent_list
      description: ConsentStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/ConsentStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_consent_create
      description: ConsentStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ConsentStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ConsentStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/consent/{stage_uuid}/:
    get:
      operationId: stages_consent_read
      description: ConsentStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ConsentStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_consent_update
      description: ConsentStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ConsentStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ConsentStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_consent_partial_update
      description: ConsentStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ConsentStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ConsentStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_consent_delete
      description: ConsentStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Consent Stage.
        required: true
        type: string
        format: uuid
  /stages/deny/:
    get:
      operationId: stages_deny_list
      description: DenyStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/DenyStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_deny_create
      description: DenyStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DenyStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/DenyStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/deny/{stage_uuid}/:
    get:
      operationId: stages_deny_read
      description: DenyStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DenyStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_deny_update
      description: DenyStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DenyStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DenyStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_deny_partial_update
      description: DenyStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DenyStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DenyStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_deny_delete
      description: DenyStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Deny Stage.
        required: true
        type: string
        format: uuid
  /stages/dummy/:
    get:
      operationId: stages_dummy_list
      description: DummyStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/DummyStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_dummy_create
      description: DummyStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DummyStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/DummyStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/dummy/{stage_uuid}/:
    get:
      operationId: stages_dummy_read
      description: DummyStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DummyStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_dummy_update
      description: DummyStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DummyStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DummyStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_dummy_partial_update
      description: DummyStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DummyStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DummyStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_dummy_delete
      description: DummyStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Dummy Stage.
        required: true
        type: string
        format: uuid
  /stages/email/:
    get:
      operationId: stages_email_list
      description: EmailStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/EmailStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_email_create
      description: EmailStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/EmailStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/EmailStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/email/templates/:
    get:
      operationId: stages_email_templates
      description: Get all available templates, including custom templates
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/email/{stage_uuid}/:
    get:
      operationId: stages_email_read
      description: EmailStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/EmailStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_email_update
      description: EmailStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/EmailStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/EmailStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_email_partial_update
      description: EmailStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/EmailStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/EmailStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_email_delete
      description: EmailStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Email Stage.
        required: true
        type: string
        format: uuid
  /stages/identification/:
    get:
      operationId: stages_identification_list
      description: IdentificationStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/IdentificationStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_identification_create
      description: IdentificationStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/IdentificationStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/IdentificationStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/identification/{stage_uuid}/:
    get:
      operationId: stages_identification_read
      description: IdentificationStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/IdentificationStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_identification_update
      description: IdentificationStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/IdentificationStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/IdentificationStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_identification_partial_update
      description: IdentificationStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/IdentificationStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/IdentificationStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_identification_delete
      description: IdentificationStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Identification Stage.
        required: true
        type: string
        format: uuid
  /stages/invitation/invitations/:
    get:
      operationId: stages_invitation_invitations_list
      description: Invitation Viewset
      parameters:
        - name: created_by__username
          in: query
          description: ''
          required: false
          type: string
        - name: expires
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Invitation'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_invitation_invitations_create
      description: Invitation Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Invitation'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Invitation'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/invitation/invitations/{invite_uuid}/:
    get:
      operationId: stages_invitation_invitations_read
      description: Invitation Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Invitation'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_invitation_invitations_update
      description: Invitation Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Invitation'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Invitation'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_invitation_invitations_partial_update
      description: Invitation Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Invitation'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Invitation'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_invitation_invitations_delete
      description: Invitation Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: invite_uuid
        in: path
        description: A UUID string identifying this Invitation.
        required: true
        type: string
        format: uuid
  /stages/invitation/stages/:
    get:
      operationId: stages_invitation_stages_list
      description: InvitationStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/InvitationStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_invitation_stages_create
      description: InvitationStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/InvitationStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/InvitationStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/invitation/stages/{stage_uuid}/:
    get:
      operationId: stages_invitation_stages_read
      description: InvitationStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/InvitationStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_invitation_stages_update
      description: InvitationStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/InvitationStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/InvitationStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_invitation_stages_partial_update
      description: InvitationStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/InvitationStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/InvitationStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_invitation_stages_delete
      description: InvitationStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Invitation Stage.
        required: true
        type: string
        format: uuid
  /stages/password/:
    get:
      operationId: stages_password_list
      description: PasswordStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/PasswordStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_password_create
      description: PasswordStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PasswordStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/PasswordStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/password/{stage_uuid}/:
    get:
      operationId: stages_password_read
      description: PasswordStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_password_update
      description: PasswordStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PasswordStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_password_partial_update
      description: PasswordStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PasswordStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_password_delete
      description: PasswordStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Password Stage.
        required: true
        type: string
        format: uuid
  /stages/prompt/prompts/:
    get:
      operationId: stages_prompt_prompts_list
      description: Prompt Viewset
      parameters:
        - name: field_key
          in: query
          description: ''
          required: false
          type: string
        - name: label
          in: query
          description: ''
          required: false
          type: string
        - name: type
          in: query
          description: ''
          required: false
          type: string
        - name: placeholder
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/Prompt'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_prompt_prompts_create
      description: Prompt Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Prompt'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Prompt'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/prompt/prompts/{prompt_uuid}/:
    get:
      operationId: stages_prompt_prompts_read
      description: Prompt Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Prompt'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_prompt_prompts_update
      description: Prompt Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Prompt'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Prompt'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_prompt_prompts_partial_update
      description: Prompt Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Prompt'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Prompt'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_prompt_prompts_delete
      description: Prompt Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: prompt_uuid
        in: path
        description: A UUID string identifying this Prompt.
        required: true
        type: string
        format: uuid
  /stages/prompt/stages/:
    get:
      operationId: stages_prompt_stages_list
      description: PromptStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/PromptStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_prompt_stages_create
      description: PromptStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PromptStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/PromptStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/prompt/stages/{stage_uuid}/:
    get:
      operationId: stages_prompt_stages_read
      description: PromptStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PromptStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_prompt_stages_update
      description: PromptStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PromptStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PromptStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_prompt_stages_partial_update
      description: PromptStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PromptStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PromptStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_prompt_stages_delete
      description: PromptStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this Prompt Stage.
        required: true
        type: string
        format: uuid
  /stages/user_delete/:
    get:
      operationId: stages_user_delete_list
      description: UserDeleteStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/UserDeleteStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_user_delete_create
      description: UserDeleteStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserDeleteStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/UserDeleteStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/user_delete/{stage_uuid}/:
    get:
      operationId: stages_user_delete_read
      description: UserDeleteStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserDeleteStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_user_delete_update
      description: UserDeleteStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserDeleteStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserDeleteStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_user_delete_partial_update
      description: UserDeleteStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserDeleteStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserDeleteStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_user_delete_delete
      description: UserDeleteStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this User Delete Stage.
        required: true
        type: string
        format: uuid
  /stages/user_login/:
    get:
      operationId: stages_user_login_list
      description: UserLoginStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/UserLoginStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_user_login_create
      description: UserLoginStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserLoginStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/UserLoginStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/user_login/{stage_uuid}/:
    get:
      operationId: stages_user_login_read
      description: UserLoginStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserLoginStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_user_login_update
      description: UserLoginStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserLoginStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserLoginStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_user_login_partial_update
      description: UserLoginStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserLoginStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserLoginStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_user_login_delete
      description: UserLoginStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this User Login Stage.
        required: true
        type: string
        format: uuid
  /stages/user_logout/:
    get:
      operationId: stages_user_logout_list
      description: UserLogoutStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/UserLogoutStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_user_logout_create
      description: UserLogoutStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserLogoutStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/UserLogoutStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/user_logout/{stage_uuid}/:
    get:
      operationId: stages_user_logout_read
      description: UserLogoutStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserLogoutStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_user_logout_update
      description: UserLogoutStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserLogoutStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserLogoutStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_user_logout_partial_update
      description: UserLogoutStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserLogoutStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserLogoutStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_user_logout_delete
      description: UserLogoutStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this User Logout Stage.
        required: true
        type: string
        format: uuid
  /stages/user_write/:
    get:
      operationId: stages_user_write_list
      description: UserWriteStage Viewset
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: Page Index
          required: false
          type: integer
        - name: page_size
          in: query
          description: Page Size
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - results
              - pagination
            type: object
            properties:
              pagination:
                required:
                  - next
                  - previous
                  - count
                  - current
                  - total_pages
                  - start_index
                  - end_index
                type: object
                properties:
                  next:
                    type: number
                  previous:
                    type: number
                  count:
                    type: number
                  current:
                    type: number
                  total_pages:
                    type: number
                  start_index:
                    type: number
                  end_index:
                    type: number
              results:
                type: array
                items:
                  $ref: '#/definitions/UserWriteStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    post:
      operationId: stages_user_write_create
      description: UserWriteStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserWriteStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/UserWriteStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
      tags:
        - stages
    parameters: []
  /stages/user_write/{stage_uuid}/:
    get:
      operationId: stages_user_write_read
      description: UserWriteStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserWriteStage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    put:
      operationId: stages_user_write_update
      description: UserWriteStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserWriteStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserWriteStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    patch:
      operationId: stages_user_write_partial_update
      description: UserWriteStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserWriteStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserWriteStage'
        '400':
          description: Invalid input.
          schema:
            $ref: '#/definitions/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    delete:
      operationId: stages_user_write_delete
      description: UserWriteStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          schema:
            $ref: '#/definitions/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions
            to access it.
          schema:
            $ref: '#/definitions/APIException'
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this User Write Stage.
        required: true
        type: string
        format: uuid
definitions:
  GenericError:
    title: Generic API Error
    required:
      - detail
    type: object
    properties:
      detail:
        description: Error details
        type: string
      code:
        description: Error code
        type: string
  ValidationError:
    title: Validation Error
    type: object
    properties:
      non_field_errors:
        description: List of validation errors not related to any field
        type: array
        items:
          type: string
    additionalProperties:
      description: A list of error messages for each field that triggered a validation
        error
      type: array
      items:
        type: string
  APIException:
    title: Generic API Error
    required:
      - detail
    type: object
    properties:
      detail:
        description: Error details
        type: string
      code:
        description: Error code
        type: string
  App:
    required:
      - name
      - label
    type: object
    properties:
      name:
        title: Name
        type: string
        minLength: 1
      label:
        title: Label
        type: string
        minLength: 1
  Coordinate:
    type: object
    properties:
      x_cord:
        title: X cord
        type: integer
        readOnly: true
      y_cord:
        title: Y cord
        type: integer
        readOnly: true
  LoginMetrics:
    type: object
    properties:
      logins_per_1h:
        description: Get successful logins per hour for the last 24 hours
        type: array
        items:
          $ref: '#/definitions/Coordinate'
        readOnly: true
      logins_failed_per_1h:
        description: Get failed logins per hour for the last 24 hours
        type: array
        items:
          $ref: '#/definitions/Coordinate'
        readOnly: true
  Task:
    required:
      - task_name
      - task_description
      - task_finish_timestamp
      - status
      - messages
    type: object
    properties:
      task_name:
        title: Task name
        type: string
        minLength: 1
      task_description:
        title: Task description
        type: string
        minLength: 1
      task_finish_timestamp:
        title: Task finish timestamp
        type: string
        format: date-time
      status:
        title: Status
        type: string
        enum:
          - SUCCESSFUL
          - WARNING
          - ERROR
      messages:
        type: array
        items:
          type: string
          x-nullable: true
  Version:
    type: object
    properties:
      version_current:
        title: Version current
        type: string
        readOnly: true
      version_latest:
        title: Version latest
        type: string
        readOnly: true
      build_hash:
        title: Build hash
        type: string
        readOnly: true
      outdated:
        title: Outdated
        type: boolean
        readOnly: true
  StaticDevice:
    required:
      - name
    type: object
    properties:
      name:
        title: Name
        description: The human-readable name of this device.
        type: string
        maxLength: 64
        minLength: 1
      token_set:
        type: array
        items:
          required:
            - token
          type: object
          properties:
            id:
              title: ID
              type: integer
              readOnly: true
            token:
              title: Token
              type: string
              maxLength: 16
              minLength: 1
            device:
              required:
                - name
                - user
              type: object
              properties:
                id:
                  title: ID
                  type: integer
                  readOnly: true
                name:
                  title: Name
                  description: The human-readable name of this device.
                  type: string
                  maxLength: 64
                  minLength: 1
                confirmed:
                  title: Confirmed
                  description: Is this device ready for use?
                  type: boolean
                throttling_failure_timestamp:
                  title: Throttling failure timestamp
                  description: A timestamp of the last failed verification attempt.
                    Null if last attempt succeeded.
                  type: string
                  format: date-time
                  x-nullable: true
                throttling_failure_count:
                  title: Throttling failure count
                  description: Number of successive failed attempts.
                  type: integer
                  maximum: 2147483647
                  minimum: 0
                user:
                  title: User
                  description: The user that this device belongs to.
                  type: integer
              readOnly: true
        readOnly: true
      pk:
        title: ID
        type: integer
        readOnly: true
  TOTPDevice:
    required:
      - name
    type: object
    properties:
      name:
        title: Name
        description: The human-readable name of this device.
        type: string
        maxLength: 64
        minLength: 1
      pk:
        title: ID
        type: integer
        readOnly: true
  WebAuthnDevice:
    required:
      - name
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 200
        minLength: 1
      created_on:
        title: Created on
        type: string
        format: date-time
        readOnly: true
  Provider:
    required:
      - name
      - authorization_flow
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      authorization_flow:
        title: Authorization flow
        description: Flow used when authorizing this provider.
        type: string
        format: uuid
      property_mappings:
        type: array
        items:
          type: string
          format: uuid
        uniqueItems: true
      component:
        title: Component
        type: string
        readOnly: true
      assigned_application_slug:
        title: Assigned application slug
        type: string
        readOnly: true
      assigned_application_name:
        title: Assigned application name
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  Application:
    required:
      - name
      - slug
    type: object
    properties:
      pk:
        title: Pbm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        description: Application's display Name.
        type: string
        minLength: 1
      slug:
        title: Slug
        description: Internal application name, used in URLs.
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        maxLength: 50
        minLength: 1
      provider:
        title: Provider
        type: integer
        x-nullable: true
      provider_obj:
        $ref: '#/definitions/Provider'
      launch_url:
        title: Launch url
        type: string
        readOnly: true
      meta_launch_url:
        title: Meta launch url
        type: string
        format: uri
        maxLength: 200
      meta_icon:
        title: Meta icon
        type: string
        readOnly: true
        format: uri
      meta_description:
        title: Meta description
        type: string
      meta_publisher:
        title: Meta publisher
        type: string
      policy_engine_mode:
        title: Policy engine mode
        type: string
        enum:
          - all
          - any
  Group:
    required:
      - name
      - parent
      - users
    type: object
    properties:
      pk:
        title: Group uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 80
        minLength: 1
      is_superuser:
        title: Is superuser
        description: Users added to this group will be superusers.
        type: boolean
      parent:
        title: Parent
        type: string
        format: uuid
        x-nullable: true
      users:
        type: array
        items:
          type: integer
        uniqueItems: true
      attributes:
        title: Attributes
        type: object
  User:
    required:
      - username
      - name
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      name:
        title: Name
        description: User's display name.
        type: string
        minLength: 1
      is_active:
        title: Active
        description: Designates whether this user should be treated as active. Unselect
          this instead of deleting accounts.
        type: boolean
      last_login:
        title: Last login
        type: string
        format: date-time
        x-nullable: true
      is_superuser:
        title: Is superuser
        type: boolean
        readOnly: true
      groups:
        type: array
        items:
          $ref: '#/definitions/Group'
        readOnly: true
      email:
        title: Email address
        type: string
        format: email
        maxLength: 254
      avatar:
        title: Avatar
        type: string
        readOnly: true
        minLength: 1
      attributes:
        title: Attributes
        type: object
      uid:
        title: Uid
        type: string
        readOnly: true
        minLength: 1
  Token:
    required:
      - identifier
    type: object
    properties:
      pk:
        title: Token uuid
        type: string
        format: uuid
        readOnly: true
      managed:
        title: Managed by authentik
        description: Objects which are managed by authentik. These objects are created
          and updated automatically. This is flag only indicates that an object can
          be overwritten by migrations. You can still modify the objects via the API,
          but expect changes to be overwritten in a later update.
        type: string
        minLength: 1
        x-nullable: true
      identifier:
        title: Identifier
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        maxLength: 255
        minLength: 1
      intent:
        title: Intent
        type: string
        enum:
          - verification
          - api
          - recovery
      user:
        $ref: '#/definitions/User'
      description:
        title: Description
        type: string
      expires:
        title: Expires
        type: string
        format: date-time
      expiring:
        title: Expiring
        type: boolean
  TokenView:
    type: object
    properties:
      key:
        title: Key
        type: string
        readOnly: true
        minLength: 1
  UserConsent:
    required:
      - user
      - application
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      expires:
        title: Expires
        type: string
        format: date-time
      user:
        $ref: '#/definitions/User'
      application:
        $ref: '#/definitions/Application'
  SessionUser:
    required:
      - user
    type: object
    properties:
      user:
        $ref: '#/definitions/User'
      original:
        $ref: '#/definitions/User'
  UserMetrics:
    type: object
    properties:
      logins_per_1h:
        description: Get successful logins per hour for the last 24 hours
        type: array
        items:
          $ref: '#/definitions/Coordinate'
        readOnly: true
      logins_failed_per_1h:
        description: Get failed logins per hour for the last 24 hours
        type: array
        items:
          $ref: '#/definitions/Coordinate'
        readOnly: true
      authorizations_per_1h:
        description: Get failed logins per hour for the last 24 hours
        type: array
        items:
          $ref: '#/definitions/Coordinate'
        readOnly: true
  Link:
    required:
      - link
    type: object
    properties:
      link:
        title: Link
        type: string
        minLength: 1
  CertificateKeyPair:
    required:
      - name
      - certificate_data
    type: object
    properties:
      pk:
        title: Kp uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      fingerprint:
        title: Fingerprint
        type: string
        readOnly: true
      certificate_data:
        title: Certificate data
        description: PEM-encoded Certificate data
        type: string
        minLength: 1
      key_data:
        title: Key data
        description: Optional Private Key. If this is set, you can use this keypair
          for encryption.
        type: string
      cert_expiry:
        title: Cert expiry
        type: string
        format: date-time
        readOnly: true
      cert_subject:
        title: Cert subject
        type: string
        readOnly: true
      private_key_available:
        title: Private key available
        type: boolean
        readOnly: true
  CertificateGeneration:
    required:
      - common_name
      - validity_days
    type: object
    properties:
      common_name:
        title: Common name
        type: string
        minLength: 1
      subject_alt_name:
        title: Subject-alt name
        type: string
      validity_days:
        title: Validity days
        type: integer
  CertificateData:
    type: object
    properties:
      data:
        title: Data
        type: string
        readOnly: true
        minLength: 1
  Event:
    required:
      - action
      - app
    type: object
    properties:
      pk:
        title: Event uuid
        type: string
        format: uuid
        readOnly: true
      user:
        title: User
        type: object
      action:
        title: Action
        type: string
        minLength: 1
      app:
        title: App
        type: string
        minLength: 1
      context:
        title: Context
        type: object
      client_ip:
        title: Client ip
        type: string
        minLength: 1
        x-nullable: true
      created:
        title: Created
        type: string
        format: date-time
        readOnly: true
      expires:
        title: Expires
        type: string
        format: date-time
  TypeCreate:
    required:
      - name
      - description
      - component
      - model_name
    type: object
    properties:
      name:
        title: Name
        type: string
        minLength: 1
      description:
        title: Description
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        minLength: 1
      model_name:
        title: Model name
        type: string
        minLength: 1
  EventTopPerUser:
    required:
      - application
      - counted_events
      - unique_users
    type: object
    properties:
      application:
        title: Application
        type: object
        additionalProperties:
          type: string
          x-nullable: true
      counted_events:
        title: Counted events
        type: integer
      unique_users:
        title: Unique users
        type: integer
  Notification:
    type: object
    properties:
      pk:
        title: Uuid
        type: string
        format: uuid
        readOnly: true
      severity:
        title: Severity
        type: string
        readOnly: true
      body:
        title: Body
        type: string
        readOnly: true
      created:
        title: Created
        type: string
        format: date-time
        readOnly: true
      event:
        $ref: '#/definitions/Event'
      seen:
        title: Seen
        type: boolean
  NotificationRule:
    required:
      - name
      - transports
    type: object
    properties:
      pk:
        title: Pbm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      transports:
        description: Select which transports should be used to notify the user. If
          none are selected, the notification will only be shown in the authentik
          UI.
        type: array
        items:
          description: Select which transports should be used to notify the user.
            If none are selected, the notification will only be shown in the authentik
            UI.
          type: string
          format: uuid
        uniqueItems: true
      severity:
        title: Severity
        description: Controls which severity level the created notifications will
          have.
        type: string
        enum:
          - notice
          - warning
          - alert
      group:
        title: Group
        description: Define which group of users this notification should be sent
          and shown to. If left empty, Notification won't ben sent.
        type: string
        format: uuid
        x-nullable: true
      group_obj:
        $ref: '#/definitions/Group'
  NotificationTransport:
    required:
      - name
      - mode
    type: object
    properties:
      pk:
        title: Uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      mode:
        title: Mode
        type: string
        enum:
          - webhook
          - webhook_slack
          - email
      mode_verbose:
        title: Mode verbose
        type: string
        readOnly: true
      webhook_url:
        title: Webhook url
        type: string
      send_once:
        title: Send once
        description: Only send notification once, for example when sending a webhook
          into a chat channel.
        type: boolean
  NotificationTransportTest:
    required:
      - messages
    type: object
    properties:
      messages:
        type: array
        items:
          type: string
          minLength: 1
  Flow:
    required:
      - name
      - slug
      - title
      - designation
    type: object
    properties:
      pk:
        title: Flow uuid
        type: string
        format: uuid
        readOnly: true
      policybindingmodel_ptr_id:
        title: Policybindingmodel ptr id
        type: string
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      slug:
        title: Slug
        description: Visible in the URL.
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        maxLength: 50
        minLength: 1
      title:
        title: Title
        description: Shown as the Title in Flow pages.
        type: string
        minLength: 1
      designation:
        title: Designation
        description: Decides what this Flow is used for. For example, the Authentication
          flow is redirect to when an un-authenticated user visits authentik.
        type: string
        enum:
          - authentication
          - authorization
          - invalidation
          - enrollment
          - unenrollment
          - recovery
          - stage_configuration
      background:
        title: Background
        description: Background shown during execution
        type: string
        readOnly: true
        format: uri
      stages:
        type: array
        items:
          type: string
          format: uuid
        readOnly: true
        uniqueItems: true
      policies:
        type: array
        items:
          type: string
          format: uuid
        readOnly: true
        uniqueItems: true
      cache_count:
        title: Cache count
        type: string
        readOnly: true
      policy_engine_mode:
        title: Policy engine mode
        type: string
        enum:
          - all
          - any
  Stage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
  FlowStageBinding:
    required:
      - target
      - stage
      - order
    type: object
    properties:
      pk:
        title: Fsb uuid
        type: string
        format: uuid
        readOnly: true
      policybindingmodel_ptr_id:
        title: Policybindingmodel ptr id
        type: string
        readOnly: true
      target:
        title: Target
        type: string
        format: uuid
      stage:
        title: Stage
        type: string
        format: uuid
      stage_obj:
        $ref: '#/definitions/Stage'
      evaluate_on_plan:
        title: Evaluate on plan
        description: Evaluate policies during the Flow planning process. Disable this
          for input-based policies.
        type: boolean
      re_evaluate_policies:
        title: Re evaluate policies
        description: Evaluate policies when the Stage is present to the user.
        type: boolean
      order:
        title: Order
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      policy_engine_mode:
        title: Policy engine mode
        type: string
        enum:
          - all
          - any
  ErrorDetail:
    required:
      - string
      - code
    type: object
    properties:
      string:
        title: String
        type: string
        minLength: 1
      code:
        title: Code
        type: string
        minLength: 1
  Challenge:
    required:
      - type
    type: object
    properties:
      type:
        title: Type
        type: string
        enum:
          - native
          - shell
          - redirect
      component:
        title: Component
        type: string
        minLength: 1
      title:
        title: Title
        type: string
        minLength: 1
      background:
        title: Background
        type: string
        minLength: 1
      response_errors:
        title: Response errors
        type: object
        additionalProperties:
          type: array
          items:
            $ref: '#/definitions/ErrorDetail'
  ChallengeResponse:
    type: object
    properties: {}
  Cache:
    type: object
    properties:
      count:
        title: Count
        type: integer
        readOnly: true
  FlowDiagram:
    type: object
    properties:
      diagram:
        title: Diagram
        type: string
        readOnly: true
        minLength: 1
  OAuth2Provider:
    required:
      - name
      - authorization_flow
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      authorization_flow:
        title: Authorization flow
        description: Flow used when authorizing this provider.
        type: string
        format: uuid
      property_mappings:
        type: array
        items:
          type: string
          format: uuid
        uniqueItems: true
      component:
        title: Component
        type: string
        readOnly: true
      assigned_application_slug:
        title: Assigned application slug
        type: string
        readOnly: true
      assigned_application_name:
        title: Assigned application name
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      client_type:
        title: Client Type
        description: |-
          Confidential clients are capable of maintaining the confidentiality
              of their credentials. Public clients are incapable.
        type: string
        enum:
          - confidential
          - public
      client_id:
        title: Client ID
        type: string
        maxLength: 255
        minLength: 1
      client_secret:
        title: Client Secret
        type: string
        maxLength: 255
      access_code_validity:
        title: Access code validity
        description: 'Access codes not valid on or after current time + this value
          (Format: hours=1;minutes=2;seconds=3).'
        type: string
        minLength: 1
      token_validity:
        title: Token validity
        description: 'Tokens not valid on or after current time + this value (Format:
          hours=1;minutes=2;seconds=3).'
        type: string
        minLength: 1
      include_claims_in_id_token:
        title: Include claims in id_token
        description: Include User claims from scopes in the id_token, for applications
          that don't access the userinfo endpoint.
        type: boolean
      jwt_alg:
        title: JWT Algorithm
        description: Algorithm used to sign the JWT Token
        type: string
        enum:
          - HS256
          - RS256
      rsa_key:
        title: RSA Key
        description: Key used to sign the tokens. Only required when JWT Algorithm
          is set to RS256.
        type: string
        format: uuid
        x-nullable: true
      redirect_uris:
        title: Redirect URIs
        description: Enter each URI on a new line.
        type: string
        minLength: 1
      sub_mode:
        title: Sub mode
        description: Configure what data should be used as unique User Identifier.
          For most cases, the default should be fine.
        type: string
        enum:
          - hashed_user_id
          - user_username
          - user_email
          - user_upn
      issuer_mode:
        title: Issuer mode
        description: Configure how the issuer field of the ID Token should be filled.
        type: string
        enum:
          - global
          - per_provider
  ExpiringBaseGrantModel:
    required:
      - provider
      - user
      - scope
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      provider:
        $ref: '#/definitions/OAuth2Provider'
      user:
        $ref: '#/definitions/User'
      is_expired:
        title: Is expired
        type: string
        readOnly: true
      expires:
        title: Expires
        type: string
        format: date-time
      scope:
        type: array
        items:
          type: string
          minLength: 1
  Outpost:
    required:
      - name
      - providers
      - config
    type: object
    properties:
      pk:
        title: Uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      type:
        title: Type
        type: string
        enum:
          - proxy
          - ldap
      providers:
        type: array
        items:
          type: integer
        uniqueItems: true
      providers_obj:
        type: array
        items:
          $ref: '#/definitions/Provider'
        readOnly: true
      service_connection:
        title: Service connection
        description: Select Service-Connection authentik should use to manage this
          outpost. Leave empty if authentik should not handle the deployment.
        type: string
        format: uuid
        x-nullable: true
      token_identifier:
        title: Token identifier
        type: string
        readOnly: true
      config:
        title: Config
        type: object
  OutpostDefaultConfig:
    type: object
    properties:
      config:
        title: Config
        type: object
        readOnly: true
  OutpostHealth:
    type: object
    properties:
      last_seen:
        title: Last seen
        type: string
        format: date-time
        readOnly: true
      version:
        title: Version
        type: string
        readOnly: true
        minLength: 1
      version_should:
        title: Version should
        type: string
        readOnly: true
        minLength: 1
      version_outdated:
        title: Version outdated
        type: boolean
        readOnly: true
  LDAPOutpostConfig:
    required:
      - name
      - bind_flow_slug
      - application_slug
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      base_dn:
        title: Base dn
        description: DN under which objects are accessible.
        type: string
        minLength: 1
      bind_flow_slug:
        title: Bind flow slug
        type: string
        minLength: 1
      application_slug:
        title: Application slug
        type: string
        minLength: 1
      search_group:
        title: Search group
        description: Users in this group can do search queries. If not set, every
          user can execute search queries.
        type: string
        format: uuid
        x-nullable: true
  OpenIDConnectConfiguration:
    description: Embed OpenID Connect provider information
    required:
      - issuer
      - authorization_endpoint
      - token_endpoint
      - userinfo_endpoint
      - end_session_endpoint
      - introspection_endpoint
      - jwks_uri
      - response_types_supported
      - id_token_signing_alg_values_supported
      - subject_types_supported
      - token_endpoint_auth_methods_supported
    type: object
    properties:
      issuer:
        title: Issuer
        type: string
        minLength: 1
      authorization_endpoint:
        title: Authorization endpoint
        type: string
        minLength: 1
      token_endpoint:
        title: Token endpoint
        type: string
        minLength: 1
      userinfo_endpoint:
        title: Userinfo endpoint
        type: string
        minLength: 1
      end_session_endpoint:
        title: End session endpoint
        type: string
        minLength: 1
      introspection_endpoint:
        title: Introspection endpoint
        type: string
        minLength: 1
      jwks_uri:
        title: Jwks uri
        type: string
        minLength: 1
      response_types_supported:
        type: array
        items:
          type: string
          minLength: 1
      id_token_signing_alg_values_supported:
        type: array
        items:
          type: string
          minLength: 1
      subject_types_supported:
        type: array
        items:
          type: string
          minLength: 1
      token_endpoint_auth_methods_supported:
        type: array
        items:
          type: string
          minLength: 1
  ProxyOutpostConfig:
    required:
      - name
      - external_host
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      internal_host:
        title: Internal host
        type: string
      external_host:
        title: External host
        type: string
        minLength: 1
      internal_host_ssl_validation:
        title: Internal host SSL Validation
        description: Validate SSL Certificates of upstream servers
        type: boolean
      client_id:
        title: Client ID
        type: string
        maxLength: 255
        minLength: 1
      client_secret:
        title: Client Secret
        type: string
        maxLength: 255
      oidc_configuration:
        $ref: '#/definitions/OpenIDConnectConfiguration'
      cookie_secret:
        title: Cookie secret
        type: string
        minLength: 1
      certificate:
        title: Certificate
        type: string
        format: uuid
        x-nullable: true
      skip_path_regex:
        title: Skip path regex
        description: Regular expressions for which authentication is not required.
          Each new line is interpreted as a new Regular Expression.
        type: string
      basic_auth_enabled:
        title: Set HTTP-Basic Authentication
        description: Set a custom HTTP-Basic Authentication header based on values
          from authentik.
        type: boolean
      basic_auth_password_attribute:
        title: HTTP-Basic Password Key
        description: User/Group Attribute used for the password part of the HTTP-Basic
          Header.
        type: string
      basic_auth_user_attribute:
        title: HTTP-Basic Username Key
        description: User/Group Attribute used for the user part of the HTTP-Basic
          Header. If not set, the user's Email address is used.
        type: string
      forward_auth_mode:
        title: Forward auth mode
        description: Enable support for forwardAuth in traefik and nginx auth_request.
          Exclusive with internal_host.
        type: boolean
  ServiceConnection:
    required:
      - name
    type: object
    properties:
      pk:
        title: Uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      local:
        title: Local
        description: If enabled, use the local connection. Required Docker socket/Kubernetes
          Integration
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  ServiceConnectionState:
    type: object
    properties:
      healthy:
        title: Healthy
        type: boolean
        readOnly: true
      version:
        title: Version
        type: string
        readOnly: true
        minLength: 1
  DockerServiceConnection:
    required:
      - name
      - url
    type: object
    properties:
      pk:
        title: Uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      local:
        title: Local
        description: If enabled, use the local connection. Required Docker socket/Kubernetes
          Integration
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      url:
        title: Url
        description: Can be in the format of 'unix://<path>' when connecting to a
          local docker daemon, or 'https://<hostname>:2376' when connecting to a remote
          system.
        type: string
        minLength: 1
      tls_verification:
        title: Tls verification
        description: CA which the endpoint's Certificate is verified against. Can
          be left empty for no validation.
        type: string
        format: uuid
        x-nullable: true
      tls_authentication:
        title: Tls authentication
        description: Certificate/Key used for authentication. Can be left empty for
          no authentication.
        type: string
        format: uuid
        x-nullable: true
  KubernetesServiceConnection:
    required:
      - name
    type: object
    properties:
      pk:
        title: Uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      local:
        title: Local
        description: If enabled, use the local connection. Required Docker socket/Kubernetes
          Integration
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      kubeconfig:
        title: Kubeconfig
        description: Paste your kubeconfig here. authentik will automatically use
          the currently selected context.
        type: object
  Policy:
    type: object
    properties:
      pk:
        title: Policy uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        x-nullable: true
      execution_logging:
        title: Execution logging
        description: When this option is enabled, all executions of this policy will
          be logged. By default, only execution errors are logged.
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      bound_to:
        title: Bound to
        type: integer
        readOnly: true
  PolicyTest:
    required:
      - user
    type: object
    properties:
      user:
        title: User
        type: integer
      context:
        title: Context
        type: object
  PolicyTestResult:
    required:
      - passing
    type: object
    properties:
      passing:
        title: Passing
        type: boolean
      messages:
        type: array
        items:
          type: string
          minLength: 1
        readOnly: true
  PolicyBinding:
    required:
      - target
      - order
    type: object
    properties:
      pk:
        title: Policy binding uuid
        type: string
        format: uuid
        readOnly: true
      policy:
        title: Policy
        type: string
        format: uuid
        x-nullable: true
      group:
        title: Group
        type: string
        format: uuid
        x-nullable: true
      user:
        title: User
        type: integer
        x-nullable: true
      policy_obj:
        $ref: '#/definitions/Policy'
      group_obj:
        $ref: '#/definitions/Group'
      user_obj:
        $ref: '#/definitions/User'
      target:
        title: Target
        type: string
        format: uuid
      enabled:
        title: Enabled
        type: boolean
      order:
        title: Order
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      timeout:
        title: Timeout
        description: Timeout after which Policy execution is terminated.
        type: integer
        maximum: 2147483647
        minimum: -2147483648
  DummyPolicy:
    type: object
    properties:
      pk:
        title: Policy uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        x-nullable: true
      execution_logging:
        title: Execution logging
        description: When this option is enabled, all executions of this policy will
          be logged. By default, only execution errors are logged.
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      bound_to:
        title: Bound to
        type: integer
        readOnly: true
      result:
        title: Result
        type: boolean
      wait_min:
        title: Wait min
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      wait_max:
        title: Wait max
        type: integer
        maximum: 2147483647
        minimum: -2147483648
  EventMatcherPolicy:
    type: object
    properties:
      pk:
        title: Policy uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        x-nullable: true
      execution_logging:
        title: Execution logging
        description: When this option is enabled, all executions of this policy will
          be logged. By default, only execution errors are logged.
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      bound_to:
        title: Bound to
        type: integer
        readOnly: true
      action:
        title: Action
        description: Match created events with this action type. When left empty,
          all action types will be matched.
        type: string
        enum:
          - login
          - login_failed
          - logout
          - user_write
          - suspicious_request
          - password_set
          - secret_view
          - invitation_used
          - authorize_application
          - source_linked
          - impersonation_started
          - impersonation_ended
          - policy_execution
          - policy_exception
          - property_mapping_exception
          - system_task_execution
          - system_task_exception
          - configuration_error
          - model_created
          - model_updated
          - model_deleted
          - update_available
          - custom_
      client_ip:
        title: Client ip
        description: Matches Event's Client IP (strict matching, for network matching
          use an Expression Policy)
        type: string
      app:
        title: App
        description: Match events created by selected application. When left empty,
          all applications are matched.
        type: string
        enum:
          - authentik.admin
          - authentik.api
          - authentik.events
          - authentik.crypto
          - authentik.flows
          - authentik.outposts
          - authentik.lib
          - authentik.policies
          - authentik.policies.dummy
          - authentik.policies.event_matcher
          - authentik.policies.expiry
          - authentik.policies.expression
          - authentik.policies.hibp
          - authentik.policies.password
          - authentik.policies.reputation
          - authentik.providers.proxy
          - authentik.providers.ldap
          - authentik.providers.oauth2
          - authentik.providers.saml
          - authentik.recovery
          - authentik.sources.ldap
          - authentik.sources.oauth
          - authentik.sources.plex
          - authentik.sources.saml
          - authentik.stages.authenticator_static
          - authentik.stages.authenticator_totp
          - authentik.stages.authenticator_validate
          - authentik.stages.authenticator_webauthn
          - authentik.stages.captcha
          - authentik.stages.consent
          - authentik.stages.deny
          - authentik.stages.dummy
          - authentik.stages.email
          - authentik.stages.identification
          - authentik.stages.invitation
          - authentik.stages.password
          - authentik.stages.prompt
          - authentik.stages.user_delete
          - authentik.stages.user_login
          - authentik.stages.user_logout
          - authentik.stages.user_write
          - authentik.core
          - authentik.managed
  ExpressionPolicy:
    required:
      - expression
    type: object
    properties:
      pk:
        title: Policy uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        x-nullable: true
      execution_logging:
        title: Execution logging
        description: When this option is enabled, all executions of this policy will
          be logged. By default, only execution errors are logged.
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      bound_to:
        title: Bound to
        type: integer
        readOnly: true
      expression:
        title: Expression
        type: string
        minLength: 1
  HaveIBeenPwendPolicy:
    type: object
    properties:
      pk:
        title: Policy uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        x-nullable: true
      execution_logging:
        title: Execution logging
        description: When this option is enabled, all executions of this policy will
          be logged. By default, only execution errors are logged.
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      bound_to:
        title: Bound to
        type: integer
        readOnly: true
      password_field:
        title: Password field
        description: Field key to check, field keys defined in Prompt stages are available.
        type: string
        minLength: 1
      allowed_count:
        title: Allowed count
        type: integer
        maximum: 2147483647
        minimum: -2147483648
  PasswordPolicy:
    required:
      - error_message
    type: object
    properties:
      pk:
        title: Policy uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        x-nullable: true
      execution_logging:
        title: Execution logging
        description: When this option is enabled, all executions of this policy will
          be logged. By default, only execution errors are logged.
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      bound_to:
        title: Bound to
        type: integer
        readOnly: true
      password_field:
        title: Password field
        description: Field key to check, field keys defined in Prompt stages are available.
        type: string
        minLength: 1
      amount_uppercase:
        title: Amount uppercase
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      amount_lowercase:
        title: Amount lowercase
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      amount_symbols:
        title: Amount symbols
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      length_min:
        title: Length min
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      symbol_charset:
        title: Symbol charset
        type: string
        minLength: 1
      error_message:
        title: Error message
        type: string
        minLength: 1
  PasswordExpiryPolicy:
    required:
      - days
    type: object
    properties:
      pk:
        title: Policy uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        x-nullable: true
      execution_logging:
        title: Execution logging
        description: When this option is enabled, all executions of this policy will
          be logged. By default, only execution errors are logged.
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      bound_to:
        title: Bound to
        type: integer
        readOnly: true
      days:
        title: Days
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      deny_only:
        title: Deny only
        type: boolean
  ReputationPolicy:
    type: object
    properties:
      pk:
        title: Policy uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        x-nullable: true
      execution_logging:
        title: Execution logging
        description: When this option is enabled, all executions of this policy will
          be logged. By default, only execution errors are logged.
        type: boolean
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      bound_to:
        title: Bound to
        type: integer
        readOnly: true
      check_ip:
        title: Check ip
        type: boolean
      check_username:
        title: Check username
        type: boolean
      threshold:
        title: Threshold
        type: integer
        maximum: 2147483647
        minimum: -2147483648
  IPReputation:
    required:
      - ip
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      ip:
        title: Ip
        type: string
        minLength: 1
      score:
        title: Score
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      updated:
        title: Updated
        type: string
        format: date-time
        readOnly: true
  UserReputation:
    required:
      - user
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      user:
        title: User
        type: integer
      score:
        title: Score
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      updated:
        title: Updated
        type: string
        format: date-time
        readOnly: true
  PropertyMapping:
    required:
      - name
      - expression
    type: object
    properties:
      pk:
        title: Pm uuid
        type: string
        format: uuid
        readOnly: true
      managed:
        title: Managed by authentik
        description: Objects which are managed by authentik. These objects are created
          and updated automatically. This is flag only indicates that an object can
          be overwritten by migrations. You can still modify the objects via the API,
          but expect changes to be overwritten in a later update.
        type: string
        minLength: 1
        x-nullable: true
      name:
        title: Name
        type: string
        minLength: 1
      expression:
        title: Expression
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  PropertyMappingTestResult:
    type: object
    properties:
      result:
        title: Result
        type: string
        readOnly: true
        minLength: 1
      successful:
        title: Successful
        type: boolean
        readOnly: true
  LDAPPropertyMapping:
    required:
      - name
      - expression
      - object_field
    type: object
    properties:
      pk:
        title: Pm uuid
        type: string
        format: uuid
        readOnly: true
      managed:
        title: Managed by authentik
        description: Objects which are managed by authentik. These objects are created
          and updated automatically. This is flag only indicates that an object can
          be overwritten by migrations. You can still modify the objects via the API,
          but expect changes to be overwritten in a later update.
        type: string
        minLength: 1
        x-nullable: true
      name:
        title: Name
        type: string
        minLength: 1
      expression:
        title: Expression
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      object_field:
        title: Object field
        type: string
        minLength: 1
  SAMLPropertyMapping:
    required:
      - name
      - expression
      - saml_name
    type: object
    properties:
      pk:
        title: Pm uuid
        type: string
        format: uuid
        readOnly: true
      managed:
        title: Managed by authentik
        description: Objects which are managed by authentik. These objects are created
          and updated automatically. This is flag only indicates that an object can
          be overwritten by migrations. You can still modify the objects via the API,
          but expect changes to be overwritten in a later update.
        type: string
        minLength: 1
        x-nullable: true
      name:
        title: Name
        type: string
        minLength: 1
      expression:
        title: Expression
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      saml_name:
        title: SAML Name
        type: string
        minLength: 1
      friendly_name:
        title: Friendly name
        type: string
        x-nullable: true
  ScopeMapping:
    required:
      - name
      - expression
      - scope_name
    type: object
    properties:
      pk:
        title: Pm uuid
        type: string
        format: uuid
        readOnly: true
      managed:
        title: Managed by authentik
        description: Objects which are managed by authentik. These objects are created
          and updated automatically. This is flag only indicates that an object can
          be overwritten by migrations. You can still modify the objects via the API,
          but expect changes to be overwritten in a later update.
        type: string
        minLength: 1
        x-nullable: true
      name:
        title: Name
        type: string
        minLength: 1
      expression:
        title: Expression
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      scope_name:
        title: Scope name
        description: Scope used by the client
        type: string
        minLength: 1
      description:
        title: Description
        description: Description shown to the user when consenting. If left empty,
          the user won't be informed.
        type: string
  LDAPProvider:
    required:
      - name
      - authorization_flow
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      authorization_flow:
        title: Authorization flow
        description: Flow used when authorizing this provider.
        type: string
        format: uuid
      property_mappings:
        type: array
        items:
          type: string
          format: uuid
        uniqueItems: true
      component:
        title: Component
        type: string
        readOnly: true
      assigned_application_slug:
        title: Assigned application slug
        type: string
        readOnly: true
      assigned_application_name:
        title: Assigned application name
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      base_dn:
        title: Base dn
        description: DN under which objects are accessible.
        type: string
        minLength: 1
      search_group:
        title: Search group
        description: Users in this group can do search queries. If not set, every
          user can execute search queries.
        type: string
        format: uuid
        x-nullable: true
  OAuth2ProviderSetupURLs:
    type: object
    properties:
      issuer:
        title: Issuer
        type: string
        readOnly: true
      authorize:
        title: Authorize
        type: string
        readOnly: true
      token:
        title: Token
        type: string
        readOnly: true
      user_info:
        title: User info
        type: string
        readOnly: true
      provider_info:
        title: Provider info
        type: string
        readOnly: true
      logout:
        title: Logout
        type: string
        readOnly: true
  ProxyProvider:
    required:
      - name
      - authorization_flow
      - external_host
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      authorization_flow:
        title: Authorization flow
        description: Flow used when authorizing this provider.
        type: string
        format: uuid
      property_mappings:
        type: array
        items:
          type: string
          format: uuid
        uniqueItems: true
      component:
        title: Component
        type: string
        readOnly: true
      assigned_application_slug:
        title: Assigned application slug
        type: string
        readOnly: true
      assigned_application_name:
        title: Assigned application name
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      internal_host:
        title: Internal host
        type: string
      external_host:
        title: External host
        type: string
        minLength: 1
      internal_host_ssl_validation:
        title: Internal host SSL Validation
        description: Validate SSL Certificates of upstream servers
        type: boolean
      certificate:
        title: Certificate
        type: string
        format: uuid
        x-nullable: true
      skip_path_regex:
        title: Skip path regex
        description: Regular expressions for which authentication is not required.
          Each new line is interpreted as a new Regular Expression.
        type: string
      basic_auth_enabled:
        title: Set HTTP-Basic Authentication
        description: Set a custom HTTP-Basic Authentication header based on values
          from authentik.
        type: boolean
      basic_auth_password_attribute:
        title: HTTP-Basic Password Key
        description: User/Group Attribute used for the password part of the HTTP-Basic
          Header.
        type: string
      basic_auth_user_attribute:
        title: HTTP-Basic Username Key
        description: User/Group Attribute used for the user part of the HTTP-Basic
          Header. If not set, the user's Email address is used.
        type: string
      forward_auth_mode:
        title: Forward auth mode
        description: Enable support for forwardAuth in traefik and nginx auth_request.
          Exclusive with internal_host.
        type: boolean
      redirect_uris:
        title: Redirect uris
        type: string
        readOnly: true
        minLength: 1
  SAMLProvider:
    required:
      - name
      - authorization_flow
      - acs_url
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      authorization_flow:
        title: Authorization flow
        description: Flow used when authorizing this provider.
        type: string
        format: uuid
      property_mappings:
        type: array
        items:
          type: string
          format: uuid
        uniqueItems: true
      component:
        title: Component
        type: string
        readOnly: true
      assigned_application_slug:
        title: Assigned application slug
        type: string
        readOnly: true
      assigned_application_name:
        title: Assigned application name
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      acs_url:
        title: ACS URL
        type: string
        format: uri
        maxLength: 200
        minLength: 1
      audience:
        title: Audience
        description: Value of the audience restriction field of the asseration. When
          left empty, no audience restriction will be added.
        type: string
      issuer:
        title: Issuer
        description: Also known as EntityID
        type: string
        minLength: 1
      assertion_valid_not_before:
        title: Assertion valid not before
        description: 'Assertion valid not before current time + this value (Format:
          hours=-1;minutes=-2;seconds=-3).'
        type: string
        minLength: 1
      assertion_valid_not_on_or_after:
        title: Assertion valid not on or after
        description: 'Assertion not valid on or after current time + this value (Format:
          hours=1;minutes=2;seconds=3).'
        type: string
        minLength: 1
      session_valid_not_on_or_after:
        title: Session valid not on or after
        description: 'Session not valid on or after current time + this value (Format:
          hours=1;minutes=2;seconds=3).'
        type: string
        minLength: 1
      name_id_mapping:
        title: NameID Property Mapping
        description: Configure how the NameID value will be created. When left empty,
          the NameIDPolicy of the incoming request will be considered
        type: string
        x-nullable: true
      digest_algorithm:
        title: Digest algorithm
        type: string
        enum:
          - http://www.w3.org/2000/09/xmldsig#sha1
          - http://www.w3.org/2001/04/xmlenc#sha256
          - http://www.w3.org/2001/04/xmldsig-more#sha384
          - http://www.w3.org/2001/04/xmlenc#sha512
      signature_algorithm:
        title: Signature algorithm
        type: string
        enum:
          - http://www.w3.org/2000/09/xmldsig#rsa-sha1
          - http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
          - http://www.w3.org/2001/04/xmldsig-more#rsa-sha384
          - http://www.w3.org/2001/04/xmldsig-more#rsa-sha512
          - http://www.w3.org/2000/09/xmldsig#dsa-sha1
      signing_kp:
        title: Signing Keypair
        description: Keypair used to sign outgoing Responses going to the Service
          Provider.
        type: string
        format: uuid
        x-nullable: true
      verification_kp:
        title: Verification Certificate
        description: When selected, incoming assertion's Signatures will be validated
          against this certificate. To allow unsigned Requests, leave on default.
        type: string
        format: uuid
        x-nullable: true
      sp_binding:
        title: Service Provider Binding
        description: This determines how authentik sends the response back to the
          Service Provider.
        type: string
        enum:
          - redirect
          - post
  SAMLMetadata:
    type: object
    properties:
      metadata:
        title: Metadata
        type: string
        readOnly: true
  FooterLink:
    type: object
    properties:
      href:
        title: Href
        type: string
        readOnly: true
        minLength: 1
      name:
        title: Name
        type: string
        readOnly: true
        minLength: 1
  Config:
    type: object
    properties:
      branding_logo:
        title: Branding logo
        type: string
        readOnly: true
        minLength: 1
      branding_title:
        title: Branding title
        type: string
        readOnly: true
        minLength: 1
      ui_footer_links:
        type: array
        items:
          $ref: '#/definitions/FooterLink'
        readOnly: true
      error_reporting_enabled:
        title: Error reporting enabled
        type: boolean
        readOnly: true
      error_reporting_environment:
        title: Error reporting environment
        type: string
        readOnly: true
        minLength: 1
      error_reporting_send_pii:
        title: Error reporting send pii
        type: boolean
        readOnly: true
  Source:
    required:
      - name
      - slug
    type: object
    properties:
      pk:
        title: Pbm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        description: Source's display Name.
        type: string
        minLength: 1
      slug:
        title: Slug
        description: Internal source name, used in URLs.
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        maxLength: 50
        minLength: 1
      enabled:
        title: Enabled
        type: boolean
      authentication_flow:
        title: Authentication flow
        description: Flow to use when authenticating existing users.
        type: string
        format: uuid
        x-nullable: true
      enrollment_flow:
        title: Enrollment flow
        description: Flow to use when enrolling new users.
        type: string
        format: uuid
        x-nullable: true
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      policy_engine_mode:
        title: Policy engine mode
        type: string
        enum:
          - all
          - any
      user_matching_mode:
        title: User matching mode
        description: How the source determines if an existing user should be authenticated
          or a new user enrolled.
        type: string
        enum:
          - identifier
          - email_link
          - email_deny
          - username_link
          - username_deny
  UserSetting:
    required:
      - object_uid
      - component
      - title
    type: object
    properties:
      object_uid:
        title: Object uid
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        minLength: 1
      title:
        title: Title
        type: string
        minLength: 1
  LDAPSource:
    required:
      - name
      - slug
      - server_uri
      - bind_cn
      - bind_password
      - base_dn
    type: object
    properties:
      pk:
        title: Pbm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        description: Source's display Name.
        type: string
        minLength: 1
      slug:
        title: Slug
        description: Internal source name, used in URLs.
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        maxLength: 50
        minLength: 1
      enabled:
        title: Enabled
        type: boolean
      authentication_flow:
        title: Authentication flow
        description: Flow to use when authenticating existing users.
        type: string
        format: uuid
        x-nullable: true
      enrollment_flow:
        title: Enrollment flow
        description: Flow to use when enrolling new users.
        type: string
        format: uuid
        x-nullable: true
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      policy_engine_mode:
        title: Policy engine mode
        type: string
        enum:
          - all
          - any
      user_matching_mode:
        title: User matching mode
        description: How the source determines if an existing user should be authenticated
          or a new user enrolled.
        type: string
        enum:
          - identifier
          - email_link
          - email_deny
          - username_link
          - username_deny
      server_uri:
        title: Server URI
        type: string
        minLength: 1
      bind_cn:
        title: Bind CN
        type: string
        minLength: 1
      bind_password:
        title: Bind password
        type: string
        minLength: 1
      start_tls:
        title: Enable Start TLS
        type: boolean
      base_dn:
        title: Base DN
        type: string
        minLength: 1
      additional_user_dn:
        title: Addition User DN
        description: Prepended to Base DN for User-queries.
        type: string
      additional_group_dn:
        title: Addition Group DN
        description: Prepended to Base DN for Group-queries.
        type: string
      user_object_filter:
        title: User object filter
        description: Consider Objects matching this filter to be Users.
        type: string
        minLength: 1
      group_object_filter:
        title: Group object filter
        description: Consider Objects matching this filter to be Groups.
        type: string
        minLength: 1
      group_membership_field:
        title: Group membership field
        description: Field which contains members of a group.
        type: string
        minLength: 1
      object_uniqueness_field:
        title: Object uniqueness field
        description: Field which contains a unique Identifier.
        type: string
        minLength: 1
      sync_users:
        title: Sync users
        type: boolean
      sync_users_password:
        title: Sync users password
        description: When a user changes their password, sync it back to LDAP. This
          can only be enabled on a single LDAP source.
        type: boolean
      sync_groups:
        title: Sync groups
        type: boolean
      sync_parent_group:
        title: Sync parent group
        type: string
        format: uuid
        x-nullable: true
      property_mappings:
        type: array
        items:
          type: string
          format: uuid
        uniqueItems: true
      property_mappings_group:
        description: Property mappings used for group creation/updating.
        type: array
        items:
          description: Property mappings used for group creation/updating.
          type: string
          format: uuid
        uniqueItems: true
  SourceType:
    description: Get source's type configuration
    required:
      - name
      - slug
      - urls_customizable
    type: object
    properties:
      name:
        title: Name
        type: string
        minLength: 1
      slug:
        title: Slug
        type: string
        minLength: 1
      urls_customizable:
        title: Urls customizable
        type: boolean
      request_token_url:
        title: Request token url
        type: string
        readOnly: true
        minLength: 1
        x-nullable: true
      authorization_url:
        title: Authorization url
        type: string
        readOnly: true
        minLength: 1
        x-nullable: true
      access_token_url:
        title: Access token url
        type: string
        readOnly: true
        minLength: 1
        x-nullable: true
      profile_url:
        title: Profile url
        type: string
        readOnly: true
        minLength: 1
        x-nullable: true
  OAuthSource:
    required:
      - name
      - slug
      - provider_type
      - consumer_key
      - consumer_secret
    type: object
    properties:
      pk:
        title: Pbm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        description: Source's display Name.
        type: string
        minLength: 1
      slug:
        title: Slug
        description: Internal source name, used in URLs.
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        maxLength: 50
        minLength: 1
      enabled:
        title: Enabled
        type: boolean
      authentication_flow:
        title: Authentication flow
        description: Flow to use when authenticating existing users.
        type: string
        format: uuid
        x-nullable: true
      enrollment_flow:
        title: Enrollment flow
        description: Flow to use when enrolling new users.
        type: string
        format: uuid
        x-nullable: true
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      policy_engine_mode:
        title: Policy engine mode
        type: string
        enum:
          - all
          - any
      user_matching_mode:
        title: User matching mode
        description: How the source determines if an existing user should be authenticated
          or a new user enrolled.
        type: string
        enum:
          - identifier
          - email_link
          - email_deny
          - username_link
          - username_deny
      provider_type:
        title: Provider type
        type: string
        maxLength: 255
        minLength: 1
      request_token_url:
        title: Request Token URL
        description: URL used to request the initial token. This URL is only required
          for OAuth 1.
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      authorization_url:
        title: Authorization URL
        description: URL the user is redirect to to conest the flow.
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      access_token_url:
        title: Access Token URL
        description: URL used by authentik to retrive tokens.
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      profile_url:
        title: Profile URL
        description: URL used by authentik to get user information.
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      consumer_key:
        title: Consumer key
        type: string
        minLength: 1
      consumer_secret:
        title: Consumer secret
        type: string
        minLength: 1
      callback_url:
        title: Callback url
        type: string
        readOnly: true
      type:
        $ref: '#/definitions/SourceType'
  UserOAuthSourceConnection:
    required:
      - user
      - source
      - identifier
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      user:
        title: User
        type: integer
      source:
        title: Source
        type: string
      identifier:
        title: Identifier
        type: string
        maxLength: 255
        minLength: 1
  PlexSource:
    required:
      - name
      - slug
    type: object
    properties:
      pk:
        title: Pbm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        description: Source's display Name.
        type: string
        minLength: 1
      slug:
        title: Slug
        description: Internal source name, used in URLs.
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        maxLength: 50
        minLength: 1
      enabled:
        title: Enabled
        type: boolean
      authentication_flow:
        title: Authentication flow
        description: Flow to use when authenticating existing users.
        type: string
        format: uuid
        x-nullable: true
      enrollment_flow:
        title: Enrollment flow
        description: Flow to use when enrolling new users.
        type: string
        format: uuid
        x-nullable: true
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      policy_engine_mode:
        title: Policy engine mode
        type: string
        enum:
          - all
          - any
      user_matching_mode:
        title: User matching mode
        description: How the source determines if an existing user should be authenticated
          or a new user enrolled.
        type: string
        enum:
          - identifier
          - email_link
          - email_deny
          - username_link
          - username_deny
      client_id:
        title: Client id
        description: Client identifier used to talk to Plex.
        type: string
        minLength: 1
      allowed_servers:
        description: Which servers a user has to be a member of to be granted access.
          Empty list allows every server.
        type: array
        items:
          title: Allowed servers
          type: string
          minLength: 1
      allow_friends:
        title: Allow friends
        description: Allow friends to authenticate, even if you don't share a server.
        type: boolean
      plex_token:
        title: Plex token
        description: Plex token used to check firends
        type: string
        minLength: 1
  PlexTokenRedeem:
    required:
      - plex_token
    type: object
    properties:
      plex_token:
        title: Plex token
        type: string
        minLength: 1
  RedirectChallenge:
    required:
      - type
      - to
    type: object
    properties:
      type:
        title: Type
        type: string
        enum:
          - native
          - shell
          - redirect
      component:
        title: Component
        type: string
        minLength: 1
      title:
        title: Title
        type: string
        minLength: 1
      background:
        title: Background
        type: string
        minLength: 1
      response_errors:
        title: Response errors
        type: object
        additionalProperties:
          type: array
          items:
            $ref: '#/definitions/ErrorDetail'
      to:
        title: To
        type: string
        minLength: 1
  SAMLSource:
    required:
      - name
      - slug
      - pre_authentication_flow
      - sso_url
    type: object
    properties:
      pk:
        title: Pbm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        description: Source's display Name.
        type: string
        minLength: 1
      slug:
        title: Slug
        description: Internal source name, used in URLs.
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        maxLength: 50
        minLength: 1
      enabled:
        title: Enabled
        type: boolean
      authentication_flow:
        title: Authentication flow
        description: Flow to use when authenticating existing users.
        type: string
        format: uuid
        x-nullable: true
      enrollment_flow:
        title: Enrollment flow
        description: Flow to use when enrolling new users.
        type: string
        format: uuid
        x-nullable: true
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      policy_engine_mode:
        title: Policy engine mode
        type: string
        enum:
          - all
          - any
      user_matching_mode:
        title: User matching mode
        description: How the source determines if an existing user should be authenticated
          or a new user enrolled.
        type: string
        enum:
          - identifier
          - email_link
          - email_deny
          - username_link
          - username_deny
      pre_authentication_flow:
        title: Pre authentication flow
        description: Flow used before authentication.
        type: string
        format: uuid
      issuer:
        title: Issuer
        description: Also known as Entity ID. Defaults the Metadata URL.
        type: string
      sso_url:
        title: SSO URL
        description: URL that the initial Login request is sent to.
        type: string
        format: uri
        maxLength: 200
        minLength: 1
      slo_url:
        title: SLO URL
        description: Optional URL if your IDP supports Single-Logout.
        type: string
        format: uri
        maxLength: 200
        x-nullable: true
      allow_idp_initiated:
        title: Allow idp initiated
        description: Allows authentication flows initiated by the IdP. This can be
          a security risk, as no validation of the request ID is done.
        type: boolean
      name_id_policy:
        title: Name id policy
        description: NameID Policy sent to the IdP. Can be unset, in which case no
          Policy is sent.
        type: string
        enum:
          - urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
          - urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
          - urn:oasis:names:tc:SAML:2.0:nameid-format:X509SubjectName
          - urn:oasis:names:tc:SAML:2.0:nameid-format:WindowsDomainQualifiedName
          - urn:oasis:names:tc:SAML:2.0:nameid-format:transient
      binding_type:
        title: Binding type
        type: string
        enum:
          - REDIRECT
          - POST
          - POST_AUTO
      signing_kp:
        title: Singing Keypair
        description: Keypair which is used to sign outgoing requests. Leave empty
          to disable signing.
        type: string
        format: uuid
        x-nullable: true
      digest_algorithm:
        title: Digest algorithm
        type: string
        enum:
          - http://www.w3.org/2000/09/xmldsig#sha1
          - http://www.w3.org/2001/04/xmlenc#sha256
          - http://www.w3.org/2001/04/xmldsig-more#sha384
          - http://www.w3.org/2001/04/xmlenc#sha512
      signature_algorithm:
        title: Signature algorithm
        type: string
        enum:
          - http://www.w3.org/2000/09/xmldsig#rsa-sha1
          - http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
          - http://www.w3.org/2001/04/xmldsig-more#rsa-sha384
          - http://www.w3.org/2001/04/xmldsig-more#rsa-sha512
          - http://www.w3.org/2000/09/xmldsig#dsa-sha1
      temporary_user_delete_after:
        title: Delete temporary users after
        description: "Time offset when temporary users should be deleted. This only\
          \ applies if your IDP uses the NameID Format 'transient', and the user doesn't\
          \ log out manually. (Format: hours=1;minutes=2;seconds=3)."
        type: string
        minLength: 1
  StageUserSetting:
    required:
      - object_uid
      - component
      - title
    type: object
    properties:
      object_uid:
        title: Object uid
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        minLength: 1
      title:
        title: Title
        type: string
        minLength: 1
      configure_flow:
        title: Configure flow
        type: boolean
  AuthenticatorStaticStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      configure_flow:
        title: Configure flow
        description: Flow used by an authenticated user to configure this Stage. If
          empty, user will not be able to configure this stage.
        type: string
        format: uuid
        x-nullable: true
      token_count:
        title: Token count
        type: integer
        maximum: 2147483647
        minimum: -2147483648
  AuthenticatorTOTPStage:
    required:
      - name
      - digits
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      configure_flow:
        title: Configure flow
        description: Flow used by an authenticated user to configure this Stage. If
          empty, user will not be able to configure this stage.
        type: string
        format: uuid
        x-nullable: true
      digits:
        title: Digits
        type: integer
        enum:
          - 6
          - 8
  AuthenticatorValidateStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      not_configured_action:
        title: Not configured action
        type: string
        enum:
          - skip
          - deny
          - configure
      device_classes:
        description: Device classes which can be used to authenticate
        type: array
        items:
          title: Device classes
          type: string
          enum:
            - static
            - totp
            - webauthn
      configuration_stage:
        title: Configuration stage
        description: Stage used to configure Authenticator when user doesn't have
          any compatible devices. After this configuration Stage passes, the user
          is not prompted again.
        type: string
        format: uuid
        x-nullable: true
  AuthenticateWebAuthnStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      configure_flow:
        title: Configure flow
        description: Flow used by an authenticated user to configure this Stage. If
          empty, user will not be able to configure this stage.
        type: string
        format: uuid
        x-nullable: true
  CaptchaStage:
    required:
      - name
      - public_key
      - private_key
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      public_key:
        title: Public key
        description: Public key, acquired from https://www.google.com/recaptcha/intro/v3.html
        type: string
        minLength: 1
      private_key:
        title: Private key
        description: Private key, acquired from https://www.google.com/recaptcha/intro/v3.html
        type: string
        minLength: 1
  ConsentStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      mode:
        title: Mode
        type: string
        enum:
          - always_require
          - permanent
          - expiring
      consent_expire_in:
        title: Consent expires in
        description: 'Offset after which consent expires. (Format: hours=1;minutes=2;seconds=3).'
        type: string
        minLength: 1
  DenyStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
  DummyStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
  EmailStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      use_global_settings:
        title: Use global settings
        description: When enabled, global Email connection settings will be used and
          connection settings below will be ignored.
        type: boolean
      host:
        title: Host
        type: string
        minLength: 1
      port:
        title: Port
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      username:
        title: Username
        type: string
      password:
        title: Password
        type: string
      use_tls:
        title: Use tls
        type: boolean
      use_ssl:
        title: Use ssl
        type: boolean
      timeout:
        title: Timeout
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      from_address:
        title: From address
        type: string
        format: email
        maxLength: 254
        minLength: 1
      token_expiry:
        title: Token expiry
        description: Time in minutes the token sent is valid.
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      subject:
        title: Subject
        type: string
        minLength: 1
      template:
        title: Template
        type: string
        minLength: 1
  IdentificationStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      user_fields:
        description: Fields of the user object to match against. (Hold shift to select
          multiple options)
        type: array
        items:
          title: User fields
          type: string
          enum:
            - email
            - username
      case_insensitive_matching:
        title: Case insensitive matching
        description: When enabled, user fields are matched regardless of their casing.
        type: boolean
      show_matched_user:
        title: Show matched user
        description: When a valid username/email has been entered, and this option
          is enabled, the user's username and avatar will be shown. Otherwise, the
          text that the user entered will be shown
        type: boolean
      enrollment_flow:
        title: Enrollment flow
        description: Optional enrollment flow, which is linked at the bottom of the
          page.
        type: string
        format: uuid
        x-nullable: true
      recovery_flow:
        title: Recovery flow
        description: Optional recovery flow, which is linked at the bottom of the
          page.
        type: string
        format: uuid
        x-nullable: true
  Invitation:
    type: object
    properties:
      pk:
        title: Invite uuid
        type: string
        format: uuid
        readOnly: true
      expires:
        title: Expires
        type: string
        format: date-time
        x-nullable: true
      fixed_data:
        title: Fixed data
        type: object
      created_by:
        $ref: '#/definitions/User'
      single_use:
        title: Single use
        description: When enabled, the invitation will be deleted after usage.
        type: boolean
  InvitationStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      continue_flow_without_invitation:
        title: Continue flow without invitation
        description: If this flag is set, this Stage will jump to the next Stage when
          no Invitation is given. By default this Stage will cancel the Flow when
          no invitation is given.
        type: boolean
  PasswordStage:
    required:
      - name
      - backends
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      backends:
        description: Selection of backends to test the password against.
        type: array
        items:
          title: Backends
          type: string
          enum:
            - django.contrib.auth.backends.ModelBackend
            - authentik.sources.ldap.auth.LDAPBackend
      configure_flow:
        title: Configure flow
        description: Flow used by an authenticated user to configure this Stage. If
          empty, user will not be able to configure this stage.
        type: string
        format: uuid
        x-nullable: true
      failed_attempts_before_cancel:
        title: Failed attempts before cancel
        description: How many attempts a user has before the flow is canceled. To
          lock the user out, use a reputation policy and a user_write stage.
        type: integer
        maximum: 2147483647
        minimum: -2147483648
  Prompt:
    required:
      - field_key
      - label
      - type
    type: object
    properties:
      pk:
        title: Prompt uuid
        type: string
        format: uuid
        readOnly: true
      field_key:
        title: Field key
        description: Name of the form field, also used to store the value
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        maxLength: 50
        minLength: 1
      label:
        title: Label
        type: string
        minLength: 1
      type:
        title: Type
        type: string
        enum:
          - text
          - username
          - email
          - password
          - number
          - checkbox
          - date
          - date-time
          - separator
          - hidden
          - static
      required:
        title: Required
        type: boolean
      placeholder:
        title: Placeholder
        type: string
      order:
        title: Order
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      promptstage_set:
        type: array
        items:
          $ref: '#/definitions/Stage'
  PromptStage:
    required:
      - name
      - fields
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      fields:
        type: array
        items:
          type: string
          format: uuid
        uniqueItems: true
      validation_policies:
        type: array
        items:
          type: string
          format: uuid
        uniqueItems: true
  UserDeleteStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
  UserLoginStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
      session_duration:
        title: Session duration
        description: 'Determines how long a session lasts. Default of 0 means that
          the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3)'
        type: string
        minLength: 1
  UserLogoutStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
  UserWriteStage:
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      component:
        title: Component
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      flow_set:
        type: array
        items:
          $ref: '#/definitions/Flow'
