swagger: '2.0'
info:
  title: authentik API
  contact:
    email: hello@beryju.org
  license:
    name: GNU GPLv3
    url: https://github.com/BeryJu/authentik/blob/master/LICENSE
  version: v2
basePath: /api/v2beta
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  token:
    type: apiKey
    name: Authorization
    in: header
security:
  - token: []
paths:
  /admin/metrics/:
    get:
      operationId: admin_metrics_list
      description: Login Metrics per 1h
      parameters: []
      responses:
        '200':
          description: Login Metrics per 1h
          schema:
            $ref: '#/definitions/LoginMetrics'
      tags:
        - admin
    parameters: []
  /admin/system_tasks/:
    get:
      operationId: admin_system_tasks_list
      description: List current messages and pass into Serializer
      parameters: []
      responses:
        '200':
          description: Serialize TaskInfo and TaskResult
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/Task'
      tags:
        - admin
    parameters: []
  /admin/system_tasks/{id}/retry/:
    post:
      operationId: admin_system_tasks_retry
      description: Retry task
      parameters: []
      responses:
        '201':
          description: ''
      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:
        - 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: Get running and latest version.
          schema:
            $ref: '#/definitions/Version'
      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:
                  description: ''
                  type: object
                  properties: {}
      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'
      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'
      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'
      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'
      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'
      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'
      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: 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'
      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'
      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'
      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'
      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'
      tags:
        - authenticators
    delete:
      operationId: authenticators_static_delete
      description: Viewset for static authenticator devices
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - authenticators
    delete:
      operationId: authenticators_totp_delete
      description: Viewset for totp authenticator devices
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - authenticators
    delete:
      operationId: authenticators_webauthn_delete
      description: Viewset for WebAuthn authenticator devices
      parameters: []
      responses:
        '204':
          description: ''
      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
      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'
      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'
      tags:
        - core
    parameters: []
  /core/applications/{slug}/:
    get:
      operationId: core_applications_read
      description: Application Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Application'
      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'
      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'
      tags:
        - core
    delete:
      operationId: core_applications_delete
      description: Application Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: Coordinates for diagrams
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/Coordinate'
      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'
      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'
      tags:
        - core
    parameters: []
  /core/groups/{group_uuid}/:
    get:
      operationId: core_groups_read
      description: Group Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Group'
      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'
      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'
      tags:
        - core
    delete:
      operationId: core_groups_delete
      description: Group Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - core
    parameters: []
  /core/tokens/{identifier}/:
    get:
      operationId: core_tokens_read
      description: Token Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Token'
      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'
      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'
      tags:
        - core
    delete:
      operationId: core_tokens_delete
      description: Token Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: Show token's current key
          schema:
            $ref: '#/definitions/TokenView'
      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'
      tags:
        - core
    parameters: []
  /core/user_consent/{id}/:
    get:
      operationId: core_user_consent_read
      description: UserConsent Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserConsent'
      tags:
        - core
    delete:
      operationId: core_user_consent_delete
      description: UserConsent Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: 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'
      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'
      tags:
        - core
    parameters: []
  /core/users/me/:
    get:
      operationId: core_users_me
      description: Get information about current user
      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: 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: Response for the /user/me endpoint, returns the currently active
            user (as `user` property) and, if this user is being impersonated, the
            original user in the `original` property.
          schema:
            $ref: '#/definitions/SessionUser'
      tags:
        - core
    parameters: []
  /core/users/metrics/:
    get:
      operationId: core_users_metrics
      description: User metrics per 1h
      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: 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: User Metrics
          schema:
            $ref: '#/definitions/UserMetrics'
      tags:
        - core
    parameters: []
  /core/users/{id}/:
    get:
      operationId: core_users_read
      description: User Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/User'
      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'
      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'
      tags:
        - core
    delete:
      operationId: core_users_delete
      description: User Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: 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'
      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'
      tags:
        - crypto
    parameters: []
  /crypto/certificatekeypairs/{kp_uuid}/:
    get:
      operationId: crypto_certificatekeypairs_read
      description: CertificateKeyPair Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CertificateKeyPair'
      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'
      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'
      tags:
        - crypto
    delete:
      operationId: crypto_certificatekeypairs_delete
      description: CertificateKeyPair Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: []
      responses:
        '200':
          description: Get CertificateKeyPair's data
          schema:
            $ref: '#/definitions/CertificateData'
      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: []
      responses:
        '200':
          description: Get CertificateKeyPair's data
          schema:
            $ref: '#/definitions/CertificateData'
      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'
      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: Response object of Event's top_per_user
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/EventTopPerUser'
      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'
      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'
      tags:
        - events
    parameters: []
  /events/notifications/{uuid}/:
    get:
      operationId: events_notifications_read
      description: Notification Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Notification'
      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'
      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'
      tags:
        - events
    delete:
      operationId: events_notifications_delete
      description: Notification Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - events
    parameters: []
  /events/rules/{pbm_uuid}/:
    get:
      operationId: events_rules_read
      description: NotificationRule Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NotificationRule'
      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'
      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'
      tags:
        - events
    delete:
      operationId: events_rules_delete
      description: NotificationRule Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - events
    parameters: []
  /events/transports/{uuid}/:
    get:
      operationId: events_transports_read
      description: NotificationTransport Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NotificationTransport'
      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'
      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'
      tags:
        - events
    delete:
      operationId: events_transports_delete
      description: NotificationTransport Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: Notification test serializer
          schema:
            $ref: '#/definitions/NotificationTransportTest'
      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: 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'
      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'
      tags:
        - flows
    parameters: []
  /flows/bindings/{fsb_uuid}/:
    get:
      operationId: flows_bindings_read
      description: FlowStageBinding Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/FlowStageBinding'
      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'
      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'
      tags:
        - flows
    delete:
      operationId: flows_bindings_delete
      description: FlowStageBinding Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: Challenge that gets sent to the client based on which stage
            is currently active
          schema:
            $ref: '#/definitions/Challenge'
      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: Challenge that gets sent to the client based on which stage
            is currently active
          schema:
            $ref: '#/definitions/Challenge'
      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'
      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'
      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
      tags:
        - flows
    parameters: []
  /flows/instances/cache_info/:
    get:
      operationId: flows_instances_cache_info
      description: Info about cached flows
      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: Generic cache stats for an object
          schema:
            $ref: '#/definitions/Cache'
      tags:
        - flows
    parameters: []
  /flows/instances/{slug}/:
    get:
      operationId: flows_instances_read
      description: Flow Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Flow'
      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'
      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'
      tags:
        - flows
    delete:
      operationId: flows_instances_delete
      description: Flow Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: response of the flow's /diagram/ action
          schema:
            $ref: '#/definitions/FlowDiagram'
      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
      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'
      tags:
        - oauth2
    parameters: []
  /oauth2/authorization_codes/{id}/:
    get:
      operationId: oauth2_authorization_codes_read
      description: AuthorizationCode Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ExpiringBaseGrantModel'
      tags:
        - oauth2
    delete:
      operationId: oauth2_authorization_codes_delete
      description: AuthorizationCode Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      tags:
        - oauth2
    parameters: []
  /oauth2/refresh_tokens/{id}/:
    get:
      operationId: oauth2_refresh_tokens_read
      description: RefreshToken Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ExpiringBaseGrantModel'
      tags:
        - oauth2
    delete:
      operationId: oauth2_refresh_tokens_delete
      description: RefreshToken Viewset
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - oauth2
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this OAuth2 Token.
        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'
      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'
      tags:
        - outposts
    parameters: []
  /outposts/outposts/{uuid}/:
    get:
      operationId: outposts_outposts_read
      description: Outpost Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Outpost'
      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'
      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'
      tags:
        - outposts
    delete:
      operationId: outposts_outposts_delete
      description: Outpost Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: Outpost health status
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/OutpostHealth'
      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'
      tags:
        - outposts
    post:
      operationId: outposts_proxy_create
      description: ProxyProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ProxyOutpostConfig'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ProxyOutpostConfig'
      tags:
        - outposts
    parameters: []
  /outposts/proxy/{id}/:
    get:
      operationId: outposts_proxy_read
      description: ProxyProvider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ProxyOutpostConfig'
      tags:
        - outposts
    put:
      operationId: outposts_proxy_update
      description: ProxyProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ProxyOutpostConfig'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ProxyOutpostConfig'
      tags:
        - outposts
    patch:
      operationId: outposts_proxy_partial_update
      description: ProxyProvider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ProxyOutpostConfig'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ProxyOutpostConfig'
      tags:
        - outposts
    delete:
      operationId: outposts_proxy_delete
      description: ProxyProvider Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      tags:
        - outposts
    post:
      operationId: outposts_service_connections_all_create
      description: ServiceConnection Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ServiceConnection'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ServiceConnection'
      tags:
        - outposts
    parameters: []
  /outposts/service_connections/all/types/:
    get:
      operationId: outposts_service_connections_all_types
      description: Get all creatable service connection types
      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: Types of an object that can be created
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
      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'
      tags:
        - outposts
    put:
      operationId: outposts_service_connections_all_update
      description: ServiceConnection Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ServiceConnection'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ServiceConnection'
      tags:
        - outposts
    patch:
      operationId: outposts_service_connections_all_partial_update
      description: ServiceConnection Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ServiceConnection'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ServiceConnection'
      tags:
        - outposts
    delete:
      operationId: outposts_service_connections_all_delete
      description: ServiceConnection Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: Serializer for Service connection state
          schema:
            $ref: '#/definitions/ServiceConnectionState'
      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'
      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'
      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'
      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'
      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'
      tags:
        - outposts
    delete:
      operationId: outposts_service_connections_docker_delete
      description: DockerServiceConnection Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - outposts
    delete:
      operationId: outposts_service_connections_kubernetes_delete
      description: KubernetesServiceConnection Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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
      tags:
        - policies
    parameters: []
  /policies/all/cache_info/:
    get:
      operationId: policies_all_cache_info
      description: Info about cached policies
      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: Generic cache stats for an object
          schema:
            $ref: '#/definitions/Cache'
      tags:
        - policies
    parameters: []
  /policies/all/types/:
    get:
      operationId: policies_all_types
      description: Get all creatable policy types
      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: Types of an object that can be created
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
      tags:
        - policies
    parameters: []
  /policies/all/{policy_uuid}/:
    get:
      operationId: policies_all_read
      description: Policy Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Policy'
      tags:
        - policies
    delete:
      operationId: policies_all_delete
      description: Policy Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - policies
    parameters: []
  /policies/bindings/{policy_binding_uuid}/:
    get:
      operationId: policies_bindings_read
      description: PolicyBinding Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PolicyBinding'
      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'
      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'
      tags:
        - policies
    delete:
      operationId: policies_bindings_delete
      description: PolicyBinding Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - policies
    parameters: []
  /policies/dummy/{policy_uuid}/:
    get:
      operationId: policies_dummy_read
      description: Dummy Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DummyPolicy'
      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'
      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'
      tags:
        - policies
    delete:
      operationId: policies_dummy_delete
      description: Dummy Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - policies
    delete:
      operationId: policies_event_matcher_delete
      description: Event Matcher Policy Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - policies
    parameters: []
  /policies/expression/{policy_uuid}/:
    get:
      operationId: policies_expression_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ExpressionPolicy'
      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'
      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'
      tags:
        - policies
    delete:
      operationId: policies_expression_delete
      description: Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - policies
    parameters: []
  /policies/haveibeenpwned/{policy_uuid}/:
    get:
      operationId: policies_haveibeenpwned_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/HaveIBeenPwendPolicy'
      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'
      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'
      tags:
        - policies
    delete:
      operationId: policies_haveibeenpwned_delete
      description: Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - policies
    parameters: []
  /policies/password/{policy_uuid}/:
    get:
      operationId: policies_password_read
      description: Password Policy Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordPolicy'
      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'
      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'
      tags:
        - policies
    delete:
      operationId: policies_password_delete
      description: Password Policy Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - policies
    delete:
      operationId: policies_password_expiry_delete
      description: Password Expiry Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      tags:
        - policies
    parameters: []
  /policies/reputation/ips/{id}/:
    get:
      operationId: policies_reputation_ips_read
      description: IPReputation Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/IPReputation'
      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'
      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'
      tags:
        - policies
    delete:
      operationId: policies_reputation_ips_delete
      description: IPReputation Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - policies
    parameters: []
  /policies/reputation/users/{id}/:
    get:
      operationId: policies_reputation_users_read
      description: UserReputation Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserReputation'
      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'
      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'
      tags:
        - policies
    delete:
      operationId: policies_reputation_users_delete
      description: UserReputation Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      tags:
        - policies
    delete:
      operationId: policies_reputation_delete
      description: Reputation Policy Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      tags:
        - propertymappings
    parameters: []
  /propertymappings/all/types/:
    get:
      operationId: propertymappings_all_types
      description: Get all creatable property-mapping types
      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: Types of an object that can be created
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
      tags:
        - propertymappings
    parameters: []
  /propertymappings/all/{pm_uuid}/:
    get:
      operationId: propertymappings_all_read
      description: PropertyMapping Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PropertyMapping'
      tags:
        - propertymappings
    delete:
      operationId: propertymappings_all_delete
      description: PropertyMapping Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - propertymappings
    parameters: []
  /propertymappings/ldap/{pm_uuid}/:
    get:
      operationId: propertymappings_ldap_read
      description: LDAP PropertyMapping Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPPropertyMapping'
      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'
      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'
      tags:
        - propertymappings
    delete:
      operationId: propertymappings_ldap_delete
      description: LDAP PropertyMapping Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - propertymappings
    parameters: []
  /propertymappings/saml/{pm_uuid}/:
    get:
      operationId: propertymappings_saml_read
      description: SAMLPropertyMapping Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLPropertyMapping'
      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'
      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'
      tags:
        - propertymappings
    delete:
      operationId: propertymappings_saml_delete
      description: SAMLPropertyMapping Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - propertymappings
    parameters: []
  /propertymappings/scope/{pm_uuid}/:
    get:
      operationId: propertymappings_scope_read
      description: ScopeMapping Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ScopeMapping'
      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'
      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'
      tags:
        - propertymappings
    delete:
      operationId: propertymappings_scope_delete
      description: ScopeMapping Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      tags:
        - providers
    post:
      operationId: providers_all_create
      description: Provider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Provider'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Provider'
      tags:
        - providers
    parameters: []
  /providers/all/types/:
    get:
      operationId: providers_all_types
      description: Get all creatable provider types
      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: Types of an object that can be created
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
      tags:
        - providers
    parameters: []
  /providers/all/{id}/:
    get:
      operationId: providers_all_read
      description: Provider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Provider'
      tags:
        - providers
    put:
      operationId: providers_all_update
      description: Provider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Provider'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Provider'
      tags:
        - providers
    patch:
      operationId: providers_all_partial_update
      description: Provider Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Provider'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Provider'
      tags:
        - providers
    delete:
      operationId: providers_all_delete
      description: Provider Viewset
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - providers
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this 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'
      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'
      tags:
        - providers
    parameters: []
  /providers/oauth2/{id}/:
    get:
      operationId: providers_oauth2_read
      description: OAuth2Provider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OAuth2Provider'
      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'
      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'
      tags:
        - providers
    delete:
      operationId: providers_oauth2_delete
      description: OAuth2Provider Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: OAuth2 Provider Metadata serializer
          schema:
            $ref: '#/definitions/OAuth2ProviderSetupURLs'
      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'
      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'
      tags:
        - providers
    parameters: []
  /providers/proxy/{id}/:
    get:
      operationId: providers_proxy_read
      description: ProxyProvider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ProxyProvider'
      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'
      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'
      tags:
        - providers
    delete:
      operationId: providers_proxy_delete
      description: ProxyProvider Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - providers
    parameters: []
  /providers/saml/{id}/:
    get:
      operationId: providers_saml_read
      description: SAMLProvider Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLProvider'
      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'
      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'
      tags:
        - providers
    delete:
      operationId: providers_saml_delete
      description: SAMLProvider Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: []
      responses:
        '200':
          description: SAML Provider Metadata serializer
          schema:
            $ref: '#/definitions/SAMLMetadata'
      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: Serialize authentik Config into DRF Object
          schema:
            $ref: '#/definitions/Config'
      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'
      tags:
        - sources
    parameters: []
  /sources/all/types/:
    get:
      operationId: sources_all_types
      description: Get all creatable source types
      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: Types of an object that can be created
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
      tags:
        - sources
    parameters: []
  /sources/all/user_settings/:
    get:
      operationId: sources_all_user_settings
      description: Get all sources the user can configure
      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: Serializer for User settings for stages and sources
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/UserSetting'
      tags:
        - sources
    parameters: []
  /sources/all/{slug}/:
    get:
      operationId: sources_all_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Source'
      tags:
        - sources
    delete:
      operationId: sources_all_delete
      description: Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - sources
    parameters: []
  /sources/ldap/{slug}/:
    get:
      operationId: sources_ldap_read
      description: LDAP Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/LDAPSource'
      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'
      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'
      tags:
        - sources
    delete:
      operationId: sources_ldap_delete
      description: LDAP Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: LDAP Sync status
          schema:
            $ref: '#/definitions/LDAPSourceSyncStatus'
      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'
      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'
      tags:
        - sources
    parameters: []
  /sources/oauth/{slug}/:
    get:
      operationId: sources_oauth_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OAuthSource'
      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'
      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'
      tags:
        - sources
    delete:
      operationId: sources_oauth_delete
      description: Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - sources
    delete:
      operationId: sources_oauth_user_connections_delete
      description: Source Viewset
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - sources
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this User OAuth Source Connection.
        required: true
        type: integer
  /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'
      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'
      tags:
        - sources
    parameters: []
  /sources/saml/{slug}/:
    get:
      operationId: sources_saml_read
      description: SAMLSource Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SAMLSource'
      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'
      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'
      tags:
        - sources
    delete:
      operationId: sources_saml_delete
      description: SAMLSource Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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: SAML Provider Metadata serializer
          schema:
            $ref: '#/definitions/SAMLMetadata'
      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'
      tags:
        - stages
    parameters: []
  /stages/all/types/:
    get:
      operationId: stages_all_types
      description: Get all creatable stage types
      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: Types of an object that can be created
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/TypeCreate'
      tags:
        - stages
    parameters: []
  /stages/all/user_settings/:
    get:
      operationId: stages_all_user_settings
      description: Get all stages the user can configure
      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: Serializer for User settings for stages and sources
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/UserSetting'
      tags:
        - stages
    parameters: []
  /stages/all/{stage_uuid}/:
    get:
      operationId: stages_all_read
      description: Stage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Stage'
      tags:
        - stages
    delete:
      operationId: stages_all_delete
      description: Stage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_authenticator_static_delete
      description: AuthenticatorStaticStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_authenticator_totp_delete
      description: AuthenticatorTOTPStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_authenticator_validate_delete
      description: AuthenticatorValidateStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_authenticator_webauthn_delete
      description: AuthenticateWebAuthnStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - stages
    parameters: []
  /stages/captcha/{stage_uuid}/:
    get:
      operationId: stages_captcha_read
      description: CaptchaStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CaptchaStage'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_captcha_delete
      description: CaptchaStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - stages
    parameters: []
  /stages/consent/{stage_uuid}/:
    get:
      operationId: stages_consent_read
      description: ConsentStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ConsentStage'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_consent_delete
      description: ConsentStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - stages
    parameters: []
  /stages/deny/{stage_uuid}/:
    get:
      operationId: stages_deny_read
      description: DenyStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DenyStage'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_deny_delete
      description: DenyStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - stages
    parameters: []
  /stages/dummy/{stage_uuid}/:
    get:
      operationId: stages_dummy_read
      description: DummyStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DummyStage'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_dummy_delete
      description: DummyStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - stages
    parameters: []
  /stages/email/{stage_uuid}/:
    get:
      operationId: stages_email_read
      description: EmailStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/EmailStage'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_email_delete
      description: EmailStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - stages
    parameters: []
  /stages/identification/{stage_uuid}/:
    get:
      operationId: stages_identification_read
      description: IdentificationStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/IdentificationStage'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_identification_delete
      description: IdentificationStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_invitation_invitations_delete
      description: Invitation Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_invitation_stages_delete
      description: InvitationStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      tags:
        - stages
    parameters: []
  /stages/password/{stage_uuid}/:
    get:
      operationId: stages_password_read
      description: PasswordStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PasswordStage'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_password_delete
      description: PasswordStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_prompt_prompts_delete
      description: Prompt Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_prompt_stages_delete
      description: PromptStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_user_delete_delete
      description: UserDeleteStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_user_login_delete
      description: UserLoginStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_user_logout_delete
      description: UserLogoutStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      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'
      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'
      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'
      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'
      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'
      tags:
        - stages
    delete:
      operationId: stages_user_write_delete
      description: UserWriteStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this User Write Stage.
        required: true
        type: string
        format: uuid
definitions:
  Coordinate:
    description: Coordinates for diagrams
    type: object
    properties:
      x_cord:
        title: X cord
        type: integer
        readOnly: true
      y_cord:
        title: Y cord
        type: integer
        readOnly: true
  LoginMetrics:
    description: Login Metrics per 1h
    type: object
    properties:
      logins_per_1h:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Coordinate'
        readOnly: true
      logins_failed_per_1h:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Coordinate'
        readOnly: true
  Task:
    description: Serialize TaskInfo and TaskResult
    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:
        description: ''
        type: array
        items:
          type: string
  Version:
    description: Get running and latest 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:
    description: Serializer for static authenticator devices
    required:
      - name
    type: object
    properties:
      name:
        title: Name
        description: The human-readable name of this device.
        type: string
        maxLength: 64
        minLength: 1
      token_set:
        description: ''
        type: array
        items:
          description: 'A single token belonging to a :class:`StaticDevice`. .. attribute::
            device *ForeignKey*: A foreign key to :class:`StaticDevice`. .. attribute::
            token *CharField*: A random string up to 16 characters.'
          required:
            - token
          type: object
          properties:
            id:
              title: ID
              type: integer
              readOnly: true
            token:
              title: Token
              type: string
              maxLength: 16
              minLength: 1
            device:
              description: "A static :class:`~django_otp.models.Device` simply consists\
                \ of random tokens shared by the database and the user. These are\
                \ frequently used as emergency tokens in case a user's normal device\
                \ is lost or unavailable. They can be consumed in any order; each\
                \ token will be removed from the database as soon as it is used. This\
                \ model has no fields of its own, but serves as a container for :class:`StaticToken`\
                \ objects. .. attribute:: token_set The RelatedManager for our tokens."
              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:
    description: Serializer for totp authenticator devices
    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:
    description: Serializer for WebAuthn authenticator devices
    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:
    title: Provider
    description: Provider Serializer
    required:
      - name
      - application
      - authorization_flow
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      application:
        title: Application
        type: string
      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
      object_type:
        title: Object type
        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:
    description: Application Serializer
    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:
        $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
      policies:
        type: array
        items:
          type: string
          format: uuid
        readOnly: true
        uniqueItems: true
  Group:
    description: Group Serializer
    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
      users:
        type: array
        items:
          type: integer
        uniqueItems: true
      attributes:
        title: Attributes
        type: object
  User:
    title: User
    description: User Serializer
    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
      email:
        title: Email address
        type: string
        format: email
        maxLength: 254
      avatar:
        title: Avatar
        type: string
        readOnly: true
        minLength: 1
      attributes:
        title: Attributes
        type: object
  Token:
    description: Token Serializer
    required:
      - identifier
      - user
    type: object
    properties:
      pk:
        title: Token uuid
        type: string
        format: uuid
        readOnly: 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:
    description: Show token's current key
    type: object
    properties:
      key:
        title: Key
        type: string
        readOnly: true
        minLength: 1
  UserConsent:
    description: UserConsent Serializer
    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:
    description: Response for the /user/me endpoint, returns the currently active
      user (as `user` property) and, if this user is being impersonated, the original
      user in the `original` property.
    required:
      - user
    type: object
    properties:
      user:
        $ref: '#/definitions/User'
      original:
        $ref: '#/definitions/User'
  UserMetrics:
    description: User Metrics
    type: object
    properties:
      logins_per_1h:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Coordinate'
        readOnly: true
      logins_failed_per_1h:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Coordinate'
        readOnly: true
      authorizations_per_1h:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Coordinate'
        readOnly: true
  CertificateKeyPair:
    description: CertificateKeyPair Serializer
    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
  CertificateData:
    description: Get CertificateKeyPair's data
    type: object
    properties:
      data:
        title: Data
        type: string
        readOnly: true
        minLength: 1
  Event:
    description: Event Serializer
    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
  EventTopPerUser:
    description: Response object of Event's top_per_user
    required:
      - application
      - counted_events
      - unique_users
    type: object
    properties:
      application:
        title: Application
        type: object
        additionalProperties:
          type: string
      counted_events:
        title: Counted events
        type: integer
      unique_users:
        title: Unique users
        type: integer
  Notification:
    description: Notification Serializer
    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:
    description: NotificationRule Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Pbm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      transports:
        description: ''
        type: array
        items:
          description: Action which is executed when a Rule matches
          required:
            - name
            - mode
          type: object
          properties:
            uuid:
              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
            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
        readOnly: true
      severity:
        title: Severity
        description: Controls which severity level the created notifications will
          have.
        type: string
        enum:
          - notice
          - warning
          - alert
      group:
        description: Custom Group model which supports a basic hierarchy
        required:
          - name
        type: object
        properties:
          group_uuid:
            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
          attributes:
            title: Attributes
            type: object
          parent:
            description: Custom Group model which supports a basic hierarchy
            required:
              - name
              - parent
            type: object
            properties:
              group_uuid:
                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
              attributes:
                title: Attributes
                type: object
              parent:
                title: Parent
                type: string
                format: uuid
            readOnly: true
        readOnly: true
  NotificationTransport:
    description: NotificationTransport Serializer
    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
  NotificationTransportTest:
    description: Notification test serializer
    required:
      - messages
    type: object
    properties:
      messages:
        description: ''
        type: array
        items:
          type: string
          minLength: 1
  Flow:
    description: Flow Serializer
    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
  Stage:
    title: Stage obj
    description: Stage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Flow'
  FlowStageBinding:
    description: FlowStageBinding Serializer
    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
      policies:
        type: array
        items:
          type: string
          format: uuid
        readOnly: true
        uniqueItems: true
  ErrorDetail:
    description: Serializer for rest_framework's error messages
    required:
      - string
      - code
    type: object
    properties:
      string:
        title: String
        type: string
        minLength: 1
      code:
        title: Code
        type: string
        minLength: 1
  Challenge:
    description: Challenge that gets sent to the client based on which stage is currently
      active
    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:
          description: ''
          type: array
          items:
            $ref: '#/definitions/ErrorDetail'
  ChallengeResponse:
    description: Base class for all challenge responses
    type: object
    properties: {}
  Cache:
    description: Generic cache stats for an object
    type: object
    properties:
      count:
        title: Count
        type: integer
        readOnly: true
  FlowDiagram:
    description: response of the flow's /diagram/ action
    type: object
    properties:
      diagram:
        title: Diagram
        type: string
        readOnly: true
        minLength: 1
  OAuth2Provider:
    title: Provider
    description: OAuth2Provider Serializer
    required:
      - name
      - application
      - authorization_flow
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      application:
        title: Application
        type: string
      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
      object_type:
        title: Object type
        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
      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:
    description: Serializer for BaseGrantModel and ExpiringBaseGrant
    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:
        description: ''
        type: array
        items:
          type: string
          minLength: 1
  Outpost:
    description: Outpost Serializer
    required:
      - name
      - providers
      - _config
    type: object
    properties:
      pk:
        title: Uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      providers:
        type: array
        items:
          type: integer
        uniqueItems: true
      providers_obj:
        description: ''
        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
  OutpostHealth:
    description: Outpost health status
    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
  OpenIDConnectConfiguration:
    title: Oidc configuration
    description: rest_framework Serializer for OIDC Configuration
    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:
        description: ''
        type: array
        items:
          type: string
          minLength: 1
      id_token_signing_alg_values_supported:
        description: ''
        type: array
        items:
          type: string
          minLength: 1
      subject_types_supported:
        description: ''
        type: array
        items:
          type: string
          minLength: 1
      token_endpoint_auth_methods_supported:
        description: ''
        type: array
        items:
          type: string
          minLength: 1
  ProxyOutpostConfig:
    description: ProxyProvider Serializer
    required:
      - name
      - internal_host
      - 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
        minLength: 1
      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
  ServiceConnection:
    description: ServiceConnection Serializer
    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
      object_type:
        title: Object type
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  TypeCreate:
    description: Types of an object that can be created
    required:
      - name
      - description
      - link
    type: object
    properties:
      name:
        title: Name
        type: string
        minLength: 1
      description:
        title: Description
        type: string
        minLength: 1
      link:
        title: Link
        type: string
        minLength: 1
  ServiceConnectionState:
    description: Serializer for Service connection state
    type: object
    properties:
      healthy:
        title: Healthy
        type: boolean
        readOnly: true
      version:
        title: Version
        type: string
        readOnly: true
        minLength: 1
  DockerServiceConnection:
    description: DockerServiceConnection Serializer
    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
      object_type:
        title: Object type
        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:
    description: KubernetesServiceConnection Serializer
    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
      object_type:
        title: Object type
        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:
    description: Policy Serializer
    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
      object_type:
        title: Object type
        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
  PolicyBinding:
    description: PolicyBinding Serializer
    required:
      - target
      - order
    type: object
    properties:
      pk:
        title: Policy binding uuid
        type: string
        format: uuid
        readOnly: true
      policy:
        description: Policies which specify if a user is authorized to use an Application.
          Can be overridden by other types to add other fields, more logic, etc.
        type: object
        properties:
          policy_uuid:
            title: Policy uuid
            type: string
            format: uuid
            readOnly: true
          created:
            title: Created
            type: string
            format: date-time
            readOnly: true
          last_updated:
            title: Last updated
            type: string
            format: date-time
            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
        readOnly: true
      group:
        description: Custom Group model which supports a basic hierarchy
        required:
          - name
        type: object
        properties:
          group_uuid:
            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
          attributes:
            title: Attributes
            type: object
          parent:
            description: Custom Group model which supports a basic hierarchy
            required:
              - name
              - parent
            type: object
            properties:
              group_uuid:
                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
              attributes:
                title: Attributes
                type: object
              parent:
                title: Parent
                type: string
                format: uuid
            readOnly: true
        readOnly: true
      user:
        description: Custom User model to allow easier adding of user-based settings
        required:
          - password
          - username
          - name
        type: object
        properties:
          id:
            title: ID
            type: integer
            readOnly: true
          password:
            title: Password
            type: string
            maxLength: 128
            minLength: 1
          last_login:
            title: Last login
            type: string
            format: date-time
            x-nullable: true
          username:
            title: Username
            description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
              only.
            type: string
            pattern: ^[\w.@+-]+$
            maxLength: 150
            minLength: 1
          first_name:
            title: First name
            type: string
            maxLength: 150
          last_name:
            title: Last name
            type: string
            maxLength: 150
          email:
            title: Email address
            type: string
            format: email
            maxLength: 254
          is_active:
            title: Active
            description: Designates whether this user should be treated as active.
              Unselect this instead of deleting accounts.
            type: boolean
          date_joined:
            title: Date joined
            type: string
            format: date-time
          uuid:
            title: Uuid
            type: string
            format: uuid
            readOnly: true
          name:
            title: Name
            description: User's display name.
            type: string
            minLength: 1
          password_change_date:
            title: Password change date
            type: string
            format: date-time
            readOnly: true
          attributes:
            title: Attributes
            type: object
          groups:
            description: ''
            type: array
            items:
              description: Groups are a generic way of categorizing users to apply
                permissions, or some other label, to those users. A user can belong
                to any number of groups. A user in a group automatically has all the
                permissions granted to that group. For example, if the group 'Site
                editors' has the permission can_edit_home_page, any user in that group
                will have that permission. Beyond permissions, groups are a convenient
                way to categorize users to apply some label, or extended functionality,
                to them. For example, you could create a group 'Special users', and
                you could write code that would do special things to those users --
                such as giving them access to a members-only portion of your site,
                or sending them members-only email messages.
              required:
                - name
              type: object
              properties:
                id:
                  title: ID
                  type: integer
                  readOnly: true
                name:
                  title: Name
                  type: string
                  maxLength: 150
                  minLength: 1
                permissions:
                  type: array
                  items:
                    type: integer
                  uniqueItems: true
            readOnly: true
          user_permissions:
            description: ''
            type: array
            items:
              description: "The permissions system provides a way to assign permissions\
                \ to specific users and groups of users. The permission system is\
                \ used by the Django admin site, but may also be useful in your own\
                \ code. The Django admin site uses permissions as follows: - The \"\
                add\" permission limits the user's ability to view the \"add\" form\
                \ and add an object. - The \"change\" permission limits a user's ability\
                \ to view the change list, view the \"change\" form and change an\
                \ object. - The \"delete\" permission limits the ability to delete\
                \ an object. - The \"view\" permission limits the ability to view\
                \ an object. Permissions are set globally per type of object, not\
                \ per specific object instance. It is possible to say \"Mary may change\
                \ news stories,\" but it's not currently possible to say \"Mary may\
                \ change news stories, but only the ones she created herself\" or\
                \ \"Mary may only change news stories that have a certain status or\
                \ publication date.\" The permissions listed above are automatically\
                \ created for each model."
              required:
                - name
                - codename
                - content_type
              type: object
              properties:
                id:
                  title: ID
                  type: integer
                  readOnly: true
                name:
                  title: Name
                  type: string
                  maxLength: 255
                  minLength: 1
                codename:
                  title: Codename
                  type: string
                  maxLength: 100
                  minLength: 1
                content_type:
                  title: Content type
                  type: integer
            readOnly: true
          sources:
            description: ''
            type: array
            items:
              description: Base Authentication source, i.e. an OAuth Provider, SAML
                Remote or LDAP Server
              required:
                - name
                - slug
              type: object
              properties:
                pbm_uuid:
                  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
                policies:
                  type: array
                  items:
                    type: string
                    format: uuid
                  readOnly: true
                  uniqueItems: true
                property_mappings:
                  type: array
                  items:
                    type: string
                    format: uuid
                  uniqueItems: true
            readOnly: true
          ak_groups:
            description: ''
            type: array
            items:
              description: Custom Group model which supports a basic hierarchy
              required:
                - name
                - parent
              type: object
              properties:
                group_uuid:
                  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
                attributes:
                  title: Attributes
                  type: object
                parent:
                  title: Parent
                  type: string
                  format: uuid
            readOnly: true
        readOnly: true
      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:
    description: Dummy Policy Serializer
    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
      object_type:
        title: Object type
        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:
    description: Event Matcher Policy Serializer
    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
      object_type:
        title: Object type
        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.oauth2
          - authentik.providers.saml
          - authentik.recovery
          - authentik.sources.ldap
          - authentik.sources.oauth
          - 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.managed
          - authentik.core
  ExpressionPolicy:
    description: Group Membership Policy Serializer
    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
      object_type:
        title: Object type
        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:
    description: Have I Been Pwned Policy Serializer
    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
      object_type:
        title: Object type
        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:
    description: Password Policy Serializer
    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
      object_type:
        title: Object type
        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:
    description: Password Expiry Policy Serializer
    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
      object_type:
        title: Object type
        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:
    description: Reputation Policy Serializer
    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
      object_type:
        title: Object type
        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:
    description: IPReputation Serializer
    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:
    description: UserReputation Serializer
    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:
    description: PropertyMapping Serializer
    required:
      - name
      - expression
    type: object
    properties:
      pk:
        title: Pm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      expression:
        title: Expression
        type: string
        minLength: 1
      object_type:
        title: Object type
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  LDAPPropertyMapping:
    description: LDAP PropertyMapping Serializer
    required:
      - name
      - expression
      - object_field
    type: object
    properties:
      pk:
        title: Pm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      expression:
        title: Expression
        type: string
        minLength: 1
      object_field:
        title: Object field
        type: string
        minLength: 1
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  SAMLPropertyMapping:
    description: SAMLPropertyMapping Serializer
    required:
      - name
      - saml_name
      - expression
    type: object
    properties:
      pk:
        title: Pm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      saml_name:
        title: SAML Name
        type: string
        minLength: 1
      friendly_name:
        title: Friendly name
        type: string
        x-nullable: true
      expression:
        title: Expression
        type: string
        minLength: 1
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  ScopeMapping:
    description: ScopeMapping Serializer
    required:
      - name
      - scope_name
      - expression
    type: object
    properties:
      pk:
        title: Pm uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      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
      expression:
        title: Expression
        type: string
        minLength: 1
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  OAuth2ProviderSetupURLs:
    description: OAuth2 Provider Metadata serializer
    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:
    description: ProxyProvider Serializer
    required:
      - name
      - application
      - authorization_flow
      - internal_host
      - external_host
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      application:
        title: Application
        type: string
      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
      object_type:
        title: Object type
        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
        minLength: 1
      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
  SAMLProvider:
    description: SAMLProvider Serializer
    required:
      - name
      - application
      - authorization_flow
      - acs_url
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      application:
        title: Application
        type: string
      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
      object_type:
        title: Object type
        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
  SAMLMetadata:
    description: SAML Provider Metadata serializer
    type: object
    properties:
      metadata:
        title: Metadata
        type: string
        readOnly: true
  Link:
    description: Links returned in Config API
    type: object
    properties:
      href:
        title: Href
        type: string
        readOnly: true
        minLength: 1
      name:
        title: Name
        type: string
        readOnly: true
        minLength: 1
  Config:
    description: Serialize authentik Config into DRF Object
    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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Link'
        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:
    description: Source Serializer
    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
      object_type:
        title: Object type
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  UserSetting:
    description: Serializer for User settings for stages and sources
    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:
    description: LDAP Source Serializer
    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
      object_type:
        title: Object type
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      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
  LDAPSourceSyncStatus:
    description: LDAP Sync status
    type: object
    properties:
      last_sync:
        title: Last sync
        type: string
        format: date-time
        readOnly: true
  OAuthSource:
    description: OAuth Source Serializer
    required:
      - name
      - slug
      - provider_type
      - authorization_url
      - access_token_url
      - profile_url
      - 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
      object_type:
        title: Object type
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      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
      authorization_url:
        title: Authorization URL
        description: URL the user is redirect to to conest the flow.
        type: string
        maxLength: 255
        minLength: 1
      access_token_url:
        title: Access Token URL
        description: URL used by authentik to retrive tokens.
        type: string
        maxLength: 255
        minLength: 1
      profile_url:
        title: Profile URL
        description: URL used by authentik to get user information.
        type: string
        maxLength: 255
        minLength: 1
      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
  UserOAuthSourceConnection:
    description: OAuth Source Serializer
    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
  SAMLSource:
    description: SAMLSource Serializer
    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
      object_type:
        title: Object type
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      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
  AuthenticatorStaticStage:
    description: AuthenticatorStaticStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        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:
    description: AuthenticatorTOTPStage Serializer
    required:
      - name
      - digits
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        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:
    description: AuthenticatorValidateStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Flow'
      not_configured_action:
        title: Not configured action
        type: string
        enum:
          - skip
          - deny
          - configure
      device_classes:
        description: ''
        type: array
        items:
          title: Device classes
          type: string
          minLength: 1
      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:
    description: AuthenticateWebAuthnStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        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:
    description: CaptchaStage Serializer
    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
      object_type:
        title: Object type
        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:
        description: ''
        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:
    description: ConsentStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        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:
    description: DenyStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Flow'
  DummyStage:
    description: DummyStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Flow'
  EmailStage:
    description: EmailStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        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
        enum:
          - email/password_reset.html
          - email/account_confirmation.html
  IdentificationStage:
    description: IdentificationStage Serializer
    required:
      - name
      - user_fields
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Flow'
      user_fields:
        description: ''
        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:
    description: Invitation Serializer
    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
        description: Optional fixed data to enforce on user enrollment.
        type: object
      created_by:
        description: Custom User model to allow easier adding of user-based settings
        required:
          - password
          - username
          - name
        type: object
        properties:
          id:
            title: ID
            type: integer
            readOnly: true
          password:
            title: Password
            type: string
            maxLength: 128
            minLength: 1
          last_login:
            title: Last login
            type: string
            format: date-time
            x-nullable: true
          username:
            title: Username
            description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
              only.
            type: string
            pattern: ^[\w.@+-]+$
            maxLength: 150
            minLength: 1
          first_name:
            title: First name
            type: string
            maxLength: 150
          last_name:
            title: Last name
            type: string
            maxLength: 150
          email:
            title: Email address
            type: string
            format: email
            maxLength: 254
          is_active:
            title: Active
            description: Designates whether this user should be treated as active.
              Unselect this instead of deleting accounts.
            type: boolean
          date_joined:
            title: Date joined
            type: string
            format: date-time
          uuid:
            title: Uuid
            type: string
            format: uuid
            readOnly: true
          name:
            title: Name
            description: User's display name.
            type: string
            minLength: 1
          password_change_date:
            title: Password change date
            type: string
            format: date-time
            readOnly: true
          attributes:
            title: Attributes
            type: object
          groups:
            description: ''
            type: array
            items:
              description: Groups are a generic way of categorizing users to apply
                permissions, or some other label, to those users. A user can belong
                to any number of groups. A user in a group automatically has all the
                permissions granted to that group. For example, if the group 'Site
                editors' has the permission can_edit_home_page, any user in that group
                will have that permission. Beyond permissions, groups are a convenient
                way to categorize users to apply some label, or extended functionality,
                to them. For example, you could create a group 'Special users', and
                you could write code that would do special things to those users --
                such as giving them access to a members-only portion of your site,
                or sending them members-only email messages.
              required:
                - name
              type: object
              properties:
                id:
                  title: ID
                  type: integer
                  readOnly: true
                name:
                  title: Name
                  type: string
                  maxLength: 150
                  minLength: 1
                permissions:
                  type: array
                  items:
                    type: integer
                  uniqueItems: true
            readOnly: true
          user_permissions:
            description: ''
            type: array
            items:
              description: "The permissions system provides a way to assign permissions\
                \ to specific users and groups of users. The permission system is\
                \ used by the Django admin site, but may also be useful in your own\
                \ code. The Django admin site uses permissions as follows: - The \"\
                add\" permission limits the user's ability to view the \"add\" form\
                \ and add an object. - The \"change\" permission limits a user's ability\
                \ to view the change list, view the \"change\" form and change an\
                \ object. - The \"delete\" permission limits the ability to delete\
                \ an object. - The \"view\" permission limits the ability to view\
                \ an object. Permissions are set globally per type of object, not\
                \ per specific object instance. It is possible to say \"Mary may change\
                \ news stories,\" but it's not currently possible to say \"Mary may\
                \ change news stories, but only the ones she created herself\" or\
                \ \"Mary may only change news stories that have a certain status or\
                \ publication date.\" The permissions listed above are automatically\
                \ created for each model."
              required:
                - name
                - codename
                - content_type
              type: object
              properties:
                id:
                  title: ID
                  type: integer
                  readOnly: true
                name:
                  title: Name
                  type: string
                  maxLength: 255
                  minLength: 1
                codename:
                  title: Codename
                  type: string
                  maxLength: 100
                  minLength: 1
                content_type:
                  title: Content type
                  type: integer
            readOnly: true
          sources:
            description: ''
            type: array
            items:
              description: Base Authentication source, i.e. an OAuth Provider, SAML
                Remote or LDAP Server
              required:
                - name
                - slug
              type: object
              properties:
                pbm_uuid:
                  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
                policies:
                  type: array
                  items:
                    type: string
                    format: uuid
                  readOnly: true
                  uniqueItems: true
                property_mappings:
                  type: array
                  items:
                    type: string
                    format: uuid
                  uniqueItems: true
            readOnly: true
          ak_groups:
            description: ''
            type: array
            items:
              description: Custom Group model which supports a basic hierarchy
              required:
                - name
                - parent
              type: object
              properties:
                group_uuid:
                  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
                attributes:
                  title: Attributes
                  type: object
                parent:
                  title: Parent
                  type: string
                  format: uuid
            readOnly: true
        readOnly: true
  InvitationStage:
    description: InvitationStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        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:
    description: PasswordStage Serializer
    required:
      - name
      - backends
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Flow'
      backends:
        description: ''
        type: array
        items:
          title: Backends
          type: string
          minLength: 1
      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:
    description: Prompt Serializer
    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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Stage'
  PromptStage:
    description: PromptStage Serializer
    required:
      - name
      - fields
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        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:
    description: UserDeleteStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Flow'
  UserLoginStage:
    description: UserLoginStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        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:
    description: UserLogoutStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Flow'
  UserWriteStage:
    description: UserWriteStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      object_type:
        title: Object type
        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:
        description: ''
        type: array
        items:
          $ref: '#/definitions/Flow'