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:
            description: ''
            type: array
            items:
              $ref: '#/definitions/AdministrationMetrics'
      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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: Get running and latest version.
          schema:
            description: ''
            type: array
            items:
              $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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  description: ''
                  type: object
                  properties: {}
      tags:
        - admin
    parameters: []
  /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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: ''
          schema:
            $ref: '#/definitions/Application'
      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: 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: ''
          schema:
            $ref: '#/definitions/Token'
      tags:
        - core
    parameters:
      - name: identifier
        in: path
        required: true
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
  /core/users/:
    get:
      operationId: core_users_list
      description: User 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: User Serializer
          schema:
            $ref: '#/definitions/User'
      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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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
  /events/events/:
    get:
      operationId: events_events_list
      description: Event Read-Only Viewset
      parameters:
        - name: action
          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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: Response object of Event's top_per_user
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/EventTopPerUserSerialier'
      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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NotificationTransport'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/NotificationTransport'
      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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/cached/:
    get:
      operationId: flows_cached_list
      description: Info about cached flows
      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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  description: ''
                  type: object
                  properties: {}
      tags:
        - flows
    parameters: []
  /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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/{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_]+$
  /outposts/outposts/:
    get:
      operationId: outposts_outposts_list
      description: Outpost 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Policy'
      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
    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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/cached/:
    get:
      operationId: policies_cached_list
      description: Info about cached policies
      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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  description: ''
                  type: object
                  properties: {}
      tags:
        - policies
    parameters: []
  /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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/group_membership/:
    get:
      operationId: policies_group_membership_list
      description: Group Membership 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/GroupMembershipPolicy'
      tags:
        - policies
    post:
      operationId: policies_group_membership_create
      description: Group Membership Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/GroupMembershipPolicy'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/GroupMembershipPolicy'
      tags:
        - policies
    parameters: []
  /policies/group_membership/{policy_uuid}/:
    get:
      operationId: policies_group_membership_read
      description: Group Membership Policy Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/GroupMembershipPolicy'
      tags:
        - policies
    put:
      operationId: policies_group_membership_update
      description: Group Membership Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/GroupMembershipPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/GroupMembershipPolicy'
      tags:
        - policies
    patch:
      operationId: policies_group_membership_partial_update
      description: Group Membership Policy Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/GroupMembershipPolicy'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/GroupMembershipPolicy'
      tags:
        - policies
    delete:
      operationId: policies_group_membership_delete
      description: Group Membership Policy Viewset
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - policies
    parameters:
      - name: policy_uuid
        in: path
        description: A UUID string identifying this Group Membership 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReputationPolicy'
      tags:
        - policies
    post:
      operationId: policies_reputation_create
      description: Source Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReputationPolicy'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReputationPolicy'
      tags:
        - policies
    parameters: []
  /policies/reputation/{policy_uuid}/:
    get:
      operationId: policies_reputation_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReputationPolicy'
      tags:
        - policies
    put:
      operationId: policies_reputation_update
      description: Source 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: Source 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: Source 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
          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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/PropertyMapping'
      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
    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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/{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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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
  /root/config/:
    get:
      operationId: root_config_list
      description: Retrive public configuration options
      parameters: []
      responses:
        '200':
          description: Serialize authentik Config into DRF Object
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/Config'
      tags:
        - root
    parameters: []
  /root/messages/:
    get:
      operationId: root_messages_list
      description: List current messages and pass into Serializer
      parameters: []
      responses:
        '200':
          description: Serialize Django Message into DRF Object
          schema:
            description: ''
            type: array
            items:
              $ref: '#/definitions/Message'
      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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Source'
      tags:
        - sources
    parameters: []
  /sources/all/{slug}/:
    get:
      operationId: sources_all_read
      description: Source Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Source'
      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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/{pbm_uuid}/:
    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: pbm_uuid
        in: path
        description: A UUID string identifying this LDAP Source.
        required: true
        type: string
        format: uuid
  /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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/{pbm_uuid}/:
    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: pbm_uuid
        in: path
        description: A UUID string identifying this Generic OAuth Source.
        required: true
        type: string
        format: uuid
  /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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/{pbm_uuid}/:
    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: pbm_uuid
        in: path
        description: A UUID string identifying this SAML Source.
        required: true
        type: string
        format: uuid
  /stages/all/:
    get:
      operationId: stages_all_list
      description: Stage 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Stage'
      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
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/:
    get:
      operationId: stages_invitation_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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/InvitationStage'
      tags:
        - stages
    post:
      operationId: stages_invitation_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/invitations/:
    get:
      operationId: stages_invitation_invitations_list
      description: Invitation 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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/{stage_uuid}/:
    get:
      operationId: stages_invitation_read
      description: InvitationStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/InvitationStage'
      tags:
        - stages
    put:
      operationId: stages_invitation_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_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_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/otp_static/:
    get:
      operationId: stages_otp_static_list
      description: OTPStaticStage 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/OTPStaticStage'
      tags:
        - stages
    post:
      operationId: stages_otp_static_create
      description: OTPStaticStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OTPStaticStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/OTPStaticStage'
      tags:
        - stages
    parameters: []
  /stages/otp_static/{stage_uuid}/:
    get:
      operationId: stages_otp_static_read
      description: OTPStaticStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OTPStaticStage'
      tags:
        - stages
    put:
      operationId: stages_otp_static_update
      description: OTPStaticStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OTPStaticStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OTPStaticStage'
      tags:
        - stages
    patch:
      operationId: stages_otp_static_partial_update
      description: OTPStaticStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OTPStaticStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OTPStaticStage'
      tags:
        - stages
    delete:
      operationId: stages_otp_static_delete
      description: OTPStaticStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this OTP Static Setup Stage.
        required: true
        type: string
        format: uuid
  /stages/otp_time/:
    get:
      operationId: stages_otp_time_list
      description: OTPTimeStage 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/OTPTimeStage'
      tags:
        - stages
    post:
      operationId: stages_otp_time_create
      description: OTPTimeStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OTPTimeStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/OTPTimeStage'
      tags:
        - stages
    parameters: []
  /stages/otp_time/{stage_uuid}/:
    get:
      operationId: stages_otp_time_read
      description: OTPTimeStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OTPTimeStage'
      tags:
        - stages
    put:
      operationId: stages_otp_time_update
      description: OTPTimeStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OTPTimeStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OTPTimeStage'
      tags:
        - stages
    patch:
      operationId: stages_otp_time_partial_update
      description: OTPTimeStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OTPTimeStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OTPTimeStage'
      tags:
        - stages
    delete:
      operationId: stages_otp_time_delete
      description: OTPTimeStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this OTP Time (TOTP) Setup Stage.
        required: true
        type: string
        format: uuid
  /stages/otp_validate/:
    get:
      operationId: stages_otp_validate_list
      description: OTPValidateStage 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/OTPValidateStage'
      tags:
        - stages
    post:
      operationId: stages_otp_validate_create
      description: OTPValidateStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OTPValidateStage'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/OTPValidateStage'
      tags:
        - stages
    parameters: []
  /stages/otp_validate/{stage_uuid}/:
    get:
      operationId: stages_otp_validate_read
      description: OTPValidateStage Viewset
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OTPValidateStage'
      tags:
        - stages
    put:
      operationId: stages_otp_validate_update
      description: OTPValidateStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OTPValidateStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OTPValidateStage'
      tags:
        - stages
    patch:
      operationId: stages_otp_validate_partial_update
      description: OTPValidateStage Viewset
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/OTPValidateStage'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/OTPValidateStage'
      tags:
        - stages
    delete:
      operationId: stages_otp_validate_delete
      description: OTPValidateStage Viewset
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - stages
    parameters:
      - name: stage_uuid
        in: path
        description: A UUID string identifying this OTP Validation 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: 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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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: A page number within the paginated result set.
          required: false
          type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              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:
  AdministrationMetrics:
    description: Login Metrics per 1h
    type: object
    properties:
      logins_per_1h:
        title: Logins per 1h
        type: string
        readOnly: true
      logins_failed_per_1h:
        title: Logins failed per 1h
        type: string
        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: integer
      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
      outdated:
        title: Outdated
        type: boolean
        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
      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
  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:
        title: User
        type: integer
      description:
        title: Description
        type: string
  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_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
  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
      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
  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
        enum:
          - login
          - login_failed
          - logout
          - user_write
          - suspicious_request
          - password_set
          - token_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_
      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
  EventTopPerUserSerialier:
    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
    required:
      - event
    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
  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
      __type__:
        title: 'type  '
        type: string
        readOnly: true
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
  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
  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
  FlowDiagram:
    description: response of the flow's /diagram/ action
    type: object
    properties:
      diagram:
        title: Diagram
        type: string
        readOnly: true
        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
      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
      _config:
        title: config
        type: object
  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
  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
      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
      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
      __type__:
        title: 'type  '
        type: string
        readOnly: true
  PolicyBinding:
    description: PolicyBinding Serializer
    required:
      - policy
      - target
      - order
    type: object
    properties:
      pk:
        title: Policy binding uuid
        type: string
        format: uuid
        readOnly: true
      policy:
        title: Policy
        type: string
        format: uuid
      policy_obj:
        $ref: '#/definitions/Policy'
      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
      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
      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
          - token_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.group_membership
          - 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.captcha
          - authentik.stages.consent
          - authentik.stages.dummy
          - authentik.stages.email
          - authentik.stages.prompt
          - authentik.stages.identification
          - authentik.stages.invitation
          - authentik.stages.user_delete
          - authentik.stages.user_login
          - authentik.stages.user_logout
          - authentik.stages.user_write
          - authentik.stages.otp_static
          - authentik.stages.otp_time
          - authentik.stages.otp_validate
          - authentik.stages.password
          - 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
      expression:
        title: Expression
        type: string
        minLength: 1
  GroupMembershipPolicy:
    description: Group Membership Policy Serializer
    type: object
    properties:
      pk:
        title: Policy uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        x-nullable: true
      group:
        title: Group
        type: string
        format: uuid
        x-nullable: true
  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
      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
      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
      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
      check_ip:
        title: Check ip
        type: boolean
      check_username:
        title: Check username
        type: boolean
      threshold:
        title: Threshold
        type: integer
        maximum: 2147483647
        minimum: -2147483648
  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
  OAuth2Provider:
    description: OAuth2Provider Serializer
    required:
      - name
      - authorization_flow
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      authorization_flow:
        title: Authorization flow
        description: Flow used when authorizing this provider.
        type: string
        format: uuid
      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
      property_mappings:
        type: array
        items:
          type: string
          format: uuid
        uniqueItems: true
      issuer_mode:
        title: Issuer mode
        description: Configure how the issuer field of the ID Token should be filled.
        type: string
        enum:
          - global
          - per_provider
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  ProxyProvider:
    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
      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
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  SAMLProvider:
    description: SAMLProvider Serializer
    required:
      - name
      - acs_url
    type: object
    properties:
      pk:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      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
      property_mappings:
        type: array
        items:
          type: string
          format: uuid
        uniqueItems: true
      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
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
  Config:
    description: Serialize authentik Config into DRF Object
    type: object
    properties:
      branding_logo:
        title: Branding logo
        type: string
        readOnly: true
      branding_title:
        title: Branding title
        type: string
        readOnly: true
      error_reporting_enabled:
        title: Error reporting enabled
        type: string
        readOnly: true
      error_reporting_environment:
        title: Error reporting environment
        type: string
        readOnly: true
      error_reporting_send_pii:
        title: Error reporting send pii
        type: string
        readOnly: true
  Message:
    description: Serialize Django Message into DRF Object
    type: object
    properties:
      message:
        title: Message
        type: string
        readOnly: true
      level:
        title: Level
        type: string
        readOnly: true
      tags:
        title: Tags
        type: string
        readOnly: true
      extra_tags:
        title: Extra tags
        type: string
        readOnly: true
      level_tag:
        title: Level tag
        type: string
        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
      verbose_name:
        title: Verbose name
        type: string
        readOnly: true
      verbose_name_plural:
        title: Verbose name plural
        type: string
        readOnly: true
      __type__:
        title: 'type  '
        type: string
        readOnly: true
  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
      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
      user_group_membership_field:
        title: User group membership field
        description: Field which contains Groups of user.
        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
  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
      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
  SAMLSource:
    description: SAMLSource Serializer
    required:
      - name
      - slug
      - sso_url
    type: object
    properties:
      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
      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
  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
      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
      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
  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
  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
      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
      - template
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
      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
      template:
        title: Template
        type: string
        enum:
          - stages/identification/login.html
          - stages/identification/recovery.html
      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
  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
      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
  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
  OTPStaticStage:
    description: OTPStaticStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        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
      token_count:
        title: Token count
        type: integer
        maximum: 2147483647
        minimum: -2147483648
  OTPTimeStage:
    description: OTPTimeStage Serializer
    required:
      - name
      - digits
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        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
      digits:
        title: Digits
        type: integer
        enum:
          - 6
          - 8
  OTPValidateStage:
    description: OTPValidateStage Serializer
    required:
      - name
    type: object
    properties:
      pk:
        title: Stage uuid
        type: string
        format: uuid
        readOnly: true
      name:
        title: Name
        type: string
        minLength: 1
  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
      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
          - data
          - data-time
          - separator
          - hidden
          - static
      required:
        title: Required
        type: boolean
      placeholder:
        title: Placeholder
        type: string
      order:
        title: Order
        type: integer
        maximum: 2147483647
        minimum: -2147483648
  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
      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
  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
      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
  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