Authentik Flows API

Flow instances, flow bindings and the flow executor that drives authentication, enrollment, recovery and unenrollment.

Operations 22

GET /flows/bindings/ #
POST /flows/bindings/ #
GET /flows/bindings/{fsb_uuid}/ #
PUT /flows/bindings/{fsb_uuid}/ #
PATCH /flows/bindings/{fsb_uuid}/ #
DELETE /flows/bindings/{fsb_uuid}/ #
GET /flows/bindings/{fsb_uuid}/used_by/ #
GET /flows/executor/{flow_slug}/ #
POST /flows/executor/{flow_slug}/ #
GET /flows/inspector/{flow_slug}/ #
GET /flows/instances/ #
POST /flows/instances/ #
GET /flows/instances/{slug}/ #
PUT /flows/instances/{slug}/ #
PATCH /flows/instances/{slug}/ #
DELETE /flows/instances/{slug}/ #
GET /flows/instances/{slug}/diagram/ #
GET /flows/instances/{slug}/execute/ #
GET /flows/instances/{slug}/export/ #
GET /flows/instances/{slug}/used_by/ #
POST /flows/instances/cache_clear/ #
GET /flows/instances/cache_info/ #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/authentik-flows-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

authentik-flows-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: authentik Flows API
  version: 2026.11.0-rc1
  description: Making authentication simple.
  contact:
    email: hello@goauthentik.io
  license:
    name: MIT
    url: https://github.com/goauthentik/authentik/blob/main/LICENSE
  x-source-url: https://api.goauthentik.io/schema.yml
  x-last-validated: '2026-09-04'
servers:
- url: /api/v3
tags:
- name: flows
paths:
  /flows/bindings/:
    get:
      operationId: flows_bindings_list
      description: FlowStageBinding Viewset
      parameters:
      - in: query
        name: evaluate_on_plan
        schema:
          type: boolean
      - in: query
        name: fsb_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: invalid_response_action
        schema:
          allOf:
          - $ref: '#/components/schemas/InvalidResponseActionEnum'
          description: 'Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context.


            '
      - in: query
        name: order
        schema:
          type: integer
      - $ref: '#/components/parameters/QueryPaginationOrdering'
      - $ref: '#/components/parameters/QueryPaginationPage'
      - $ref: '#/components/parameters/QueryPaginationPageSize'
      - in: query
        name: pbm_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: policies
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - in: query
        name: policy_engine_mode
        schema:
          $ref: '#/components/schemas/PolicyEngineMode'
      - in: query
        name: re_evaluate_policies
        schema:
          type: boolean
      - $ref: '#/components/parameters/QuerySearch'
      - in: query
        name: stage
        schema:
          type: string
          format: uuid
      - in: query
        name: target
        schema:
          type: string
          format: uuid
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFlowStageBindingList'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    post:
      operationId: flows_bindings_create
      description: FlowStageBinding Viewset
      tags:
      - flows
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlowStageBindingRequest'
        required: true
      security:
      - authentik: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowStageBinding'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/bindings/{fsb_uuid}/:
    get:
      operationId: flows_bindings_retrieve
      description: FlowStageBinding Viewset
      parameters:
      - in: path
        name: fsb_uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Flow Stage Binding.
        required: true
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowStageBinding'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    put:
      operationId: flows_bindings_update
      description: FlowStageBinding Viewset
      parameters:
      - in: path
        name: fsb_uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Flow Stage Binding.
        required: true
      tags:
      - flows
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlowStageBindingRequest'
        required: true
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowStageBinding'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    patch:
      operationId: flows_bindings_partial_update
      description: FlowStageBinding Viewset
      parameters:
      - in: path
        name: fsb_uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Flow Stage Binding.
        required: true
      tags:
      - flows
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedFlowStageBindingRequest'
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowStageBinding'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    delete:
      operationId: flows_bindings_destroy
      description: FlowStageBinding Viewset
      parameters:
      - in: path
        name: fsb_uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Flow Stage Binding.
        required: true
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '204':
          description: No response body
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/bindings/{fsb_uuid}/used_by/:
    get:
      operationId: flows_bindings_used_by_list
      description: Get a list of all objects that use this object
      parameters:
      - in: path
        name: fsb_uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Flow Stage Binding.
        required: true
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UsedBy'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/executor/{flow_slug}/:
    get:
      operationId: flows_executor_get
      description: Get the next pending challenge from the currently active flow.
      parameters:
      - in: path
        name: flow_slug
        schema:
          type: string
        required: true
      - in: query
        name: query
        schema:
          type: string
        description: Querystring as received
        required: true
      tags:
      - flows
      security:
      - authentik: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChallengeTypes'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    post:
      operationId: flows_executor_solve
      description: Solve the previously retrieved challenge and advanced to the next stage.
      parameters:
      - in: path
        name: flow_slug
        schema:
          type: string
        required: true
      - in: query
        name: query
        schema:
          type: string
        description: Querystring as received
        required: true
      tags:
      - flows
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlowChallengeResponseRequest'
      security:
      - authentik: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChallengeTypes'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/inspector/{flow_slug}/:
    get:
      operationId: flows_inspector_get
      description: Get current flow state and record it
      parameters:
      - in: path
        name: flow_slug
        schema:
          type: string
        required: true
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowInspection'
          description: ''
        '400':
          description: No flow plan in session.
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/instances/:
    get:
      operationId: flows_instances_list
      description: Flow Viewset
      parameters:
      - in: query
        name: denied_action
        schema:
          allOf:
          - $ref: '#/components/schemas/DeniedActionEnum'
          description: 'Configure what should happen when a flow denies access to a user.


            '
      - in: query
        name: designation
        schema:
          allOf:
          - $ref: '#/components/schemas/FlowDesignationEnum'
          description: 'Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik.


            '
      - in: query
        name: flow_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/QueryName'
      - $ref: '#/components/parameters/QueryPaginationOrdering'
      - $ref: '#/components/parameters/QueryPaginationPage'
      - $ref: '#/components/parameters/QueryPaginationPageSize'
      - $ref: '#/components/parameters/QuerySearch'
      - in: query
        name: slug
        schema:
          type: string
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFlowList'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    post:
      operationId: flows_instances_create
      description: Flow Viewset
      tags:
      - flows
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlowRequest'
        required: true
      security:
      - authentik: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Flow'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/instances/{slug}/:
    get:
      operationId: flows_instances_retrieve
      description: Flow Viewset
      parameters:
      - in: path
        name: slug
        schema:
          type: string
          description: Visible in the URL.
        required: true
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Flow'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    put:
      operationId: flows_instances_update
      description: Flow Viewset
      parameters:
      - in: path
        name: slug
        schema:
          type: string
          description: Visible in the URL.
        required: true
      tags:
      - flows
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlowRequest'
        required: true
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Flow'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    patch:
      operationId: flows_instances_partial_update
      description: Flow Viewset
      parameters:
      - in: path
        name: slug
        schema:
          type: string
          description: Visible in the URL.
        required: true
      tags:
      - flows
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedFlowRequest'
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Flow'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    delete:
      operationId: flows_instances_destroy
      description: Flow Viewset
      parameters:
      - in: path
        name: slug
        schema:
          type: string
          description: Visible in the URL.
        required: true
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '204':
          description: No response body
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/instances/{slug}/diagram/:
    get:
      operationId: flows_instances_diagram_retrieve
      description: Return diagram for flow with slug `slug`, in the format used by flowchart.js
      parameters:
      - in: path
        name: slug
        schema:
          type: string
          description: Visible in the URL.
        required: true
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowDiagram'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/instances/{slug}/execute/:
    get:
      operationId: flows_instances_execute_retrieve
      description: Execute flow for current user
      parameters:
      - in: path
        name: slug
        schema:
          type: string
          description: Visible in the URL.
        required: true
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
          description: ''
        '400':
          description: Flow not applicable
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/instances/{slug}/export/:
    get:
      operationId: flows_instances_export_retrieve
      description: Export flow to .yaml file
      parameters:
      - in: path
        name: slug
        schema:
          type: string
          description: Visible in the URL.
        required: true
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
                format: binary
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/instances/{slug}/used_by/:
    get:
      operationId: flows_instances_used_by_list
      description: Get a list of all objects that use this object
      parameters:
      - in: path
        name: slug
        schema:
          type: string
          description: Visible in the URL.
        required: true
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UsedBy'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/instances/cache_clear/:
    post:
      operationId: flows_instances_cache_clear_create
      description: Clear flow cache
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '204':
          description: Successfully cleared cache
        '400':
          description: Bad request
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /flows/instances/cache_info/:
    get:
      operationId: flows_instances_cache_info_retrieve
      description: Info about cached flows
      tags:
      - flows
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cache'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
components:
  schemas:
    FlowErrorChallenge:
      type: object
      description: 'Challenge class when an unhandled error occurs during a stage. Normal users

        are shown an error message, superusers are shown a full stacktrace.'
      properties:
        flow_info:
          $ref: '#/components/schemas/ContextualFlowInfo'
        component:
          type: string
          default: ak-stage-flow-error
        response_errors:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ErrorDetail'
        request_id:
          type: string
        error:
          type: string
        traceback:
          type: string
      required:
      - request_id
    Stage:
      type: object
      description: Stage Serializer
      properties:
        pk:
          type: string
          format: uuid
          readOnly: true
          title: Stage uuid
        name:
          type: string
        component:
          type: string
          description: Get object type so that we know how to edit the object
          readOnly: true
        verbose_name:
          type: string
          description: Return object's verbose_name
          readOnly: true
        verbose_name_plural:
          type: string
          description: Return object's plural verbose_name
          readOnly: true
        meta_model_name:
          type: string
          description: Return internal model name
          readOnly: true
        flow_set:
          type: array
          items:
            $ref: '#/components/schemas/FlowSet'
          readOnly: true
      required:
      - component
      - flow_set
      - meta_model_name
      - name
      - pk
      - verbose_name
      - verbose_name_plural
    ShellChallenge:
      type: object
      description: challenge type to render HTML as-is
      properties:
        flow_info:
          $ref: '#/components/schemas/ContextualFlowInfo'
        component:
          type: string
          default: xak-flow-shell
        response_errors:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ErrorDetail'
        body:
          type: string
      required:
      - body
    UserLoginChallengeResponseRequest:
      type: object
      description: User login challenge
      properties:
        component:
          type: string
          minLength: 1
          default: ak-stage-user-login
        remember_me:
          type: boolean
      required:
      - remember_me
    Link:
      type: object
      description: Returns a single link
      properties:
        link:
          type: string
      required:
      - link
    ConsentChallengeResponseRequest:
      type: object
      description: Consent challenge response, any valid response request is valid
      properties:
        component:
          type: string
          minLength: 1
          default: ak-stage-consent
        token:
          type: string
          minLength: 1
      required:
      - token
    FlowLayoutEnum:
      enum:
      - stacked
      - content_left
      - content_right
      - sidebar_left
      - sidebar_right
      - sidebar_left_frame_background
      - sidebar_right_frame_background
      type: string
    SelectableStage:
      type: object
      description: Serializer for stages which can be selected by users
      properties:
        pk:
          type: string
          format: uuid
        name:
          type: string
        verbose_name:
          type: string
        meta_model_name:
          type: string
      required:
      - meta_model_name
      - name
      - pk
      - verbose_name
    PaginatedFlowList:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        results:
          type: array
          items:
            $ref: '#/components/schemas/Flow'
        autocomplete:
          $ref: '#/components/schemas/Autocomplete'
      required:
      - autocomplete
      - pagination
      - results
    IframeLogoutChallenge:
      type: object
      description: Challenge for iframe logout
      properties:
        flow_info:
          $ref: '#/components/schemas/ContextualFlowInfo'
        component:
          type: string
          default: ak-provider-iframe-logout
        response_errors:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ErrorDetail'
        logout_urls:
          type: array
          items:
            $ref: '#/components/schemas/LogoutURL'
    FrameChallenge:
      type: object
      description: Challenge type to render a frame
      properties:
        flow_info:
          $ref: '#/components/schemas/ContextualFlowInfo'
        component:
          type: string
          default: xak-flow-frame
        response_errors:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ErrorDetail'
        url:
          type: string
        loading_overlay:
          type: boolean
          default: false
        loading_text:
          type: string
      required:
      - loading_text
      - url
    ThemedUrls:
      type: object
      description: Themed URLs - maps theme names to URLs for light and dark themes
      properties:
        light:
          type:
          - string
          - 'null'
        dark:
          type:
          - string
          - 'null'
    SAMLBindingsEnum:
      enum:
      - redirect
      - post
      type: string
    DummyChallenge:
      type: object
      description: Dummy challenge
      properties:
        flow_info:
          $ref: '#/components/schemas/ContextualFlowInfo'
        component:
          type: string
          default: ak-stage-dummy
        response_errors:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ErrorDetail'
        name:
          type: string
      required:
      - name
    Cache:
      type: object
      description: Generic cache stats for an object
      properties:
        count:
          type: integer
          readOnly: true
      required:
      - count
    TelegramLoginChallenge:
      type: object
      description: Base login challenge for Identification stage
      properties:
        flow_info:
          $ref: '#/components/schemas/ContextualFlowInfo'
        component:
          type: string
          default: ak-source-telegram
        response_errors:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ErrorDetail'
        bot_username:
          type: string
          description: Telegram bot username
        request_message_access:
          type: boolean
      required:
      - bot_username
      - request_message_access
    TelegramChallengeResponseRequest:
      type: object
      description: Base class for all challenge responses
      properties:
        id:
          type: integer
        first_name:
          type: string
          minLength: 1
          maxLength: 255
        last_name:
          type: string
          minLength: 1
          maxLength: 255
        username:
          type: string
          minLength: 1
          maxLength: 255
        photo_url:
          type: string
          format: uri
          minLength: 1
        auth_date:
          type: integer
        hash:
          type: string
          minLength: 1
          maxLength: 64
        component:
          type: string
          minLength: 1
          default: ak-source-telegram
      required:
      - auth_date
      - hash
      - id
    FlowInspection:
      type: object
      description: Serializer for inspect endpoint
      properties:
        plans:
          type: array
          items:
            $ref: '#/components/schemas/FlowInspectorPlan'
        current_plan:
          $ref: '#/components/schemas/FlowInspectorPlan'
        is_completed:
          type: boolean
      required:
      - is_completed
      - plans
    Autocomplete:
      type: object
      additionalProperties: {}
    PromptChoice:
      type: object
      description: Serializer for a single Choice field
      properties:
        value:
          type: string
        label:
          type: string
      required:
      - label
      - value
    AuthenticatorDuoChallengeResponseRequest:
      type: object
      description: Pseudo class for duo response
      properties:
        component:
          type: string
          minLength: 1
          default: ak-stage-authenticator-duo
    EmailChallengeResponseRequest:
      type: object
      description: 'Email challenge resposen. No fields. This challenge is

        always declared invalid to give the user a chance to retry'
      properties:
        component:
          type: string
          minLength: 1
          default: ak-stage-email
    SessionEndChallenge:
      type: object
      description: Challenge for ending a session
      properties:
        flow_info:
          $ref: '#/components/schemas/ContextualFlowInfo'
        component:
          type: string
          default: ak-stage-session-end
        response_errors:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ErrorDetail'
        pending_user:
          type: string
        pending_user_avatar:
          type: string
        application_name:
          type: string
        application_launch_url:
          type: string
        invalidation_flow_url:
          type: string
        overview_url:
          type: string
        brand_name:
          type: string
      required:
      - brand_name
      - pending_user
      - pending_user_avatar
    PatchedFlowStageBindingRequest:
      type: object
      description: FlowStageBinding Serializer
      properties:
        target:
          type: string
          format: uuid
        stage:
          type: string
          format: uuid
        evaluate_on_plan:
          type: boolean
          description: Evaluate policies during the Flow planning process.
        re_evaluate_policies:
          type: boolean
          description: Evaluate policies when the Stage is presented to the user.
        order:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        policy_engine_mode:
          $ref: '#/components/schemas/PolicyEngineMode'
        invalid_response_action:
          allOf:
          - $ref: '#/components/schemas/InvalidResponseActionEnum'
          description: Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context.
    FlowStageBinding:
      type: object
      description: FlowStageBinding Serializer
      properties:
        pk:
          type: string
          format: uuid
          readOnly: true
          title: Fsb uuid
        policybindingmodel_ptr_id:
          type: string
          format: uuid
          readOnly: true
        target:
          type: string
          format: uuid
        stage:
          type: string
          format: uuid
        stage_obj:
          allOf:
          - $ref: '#/components/schemas/Stage'
          readOnly: true
        evaluate_on_plan:
          type: boolean
          description: Evaluate policies during the Flow planning process.
        re_evaluate_policies:
          type: boolean
          description: Evaluate policies when the Stage is presented to the user.
        order:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        policy_engine_mode:
          $ref: '#/components/schemas/PolicyEngineMode'
        invalid_response_action:
          allOf:
          - $ref: '#/components/schemas/InvalidResponseActionEnum'
          description: Configure how the flow executor should handle an invalid response to a challenge. RETRY returns the error message and a similar challenge to the executor. RESTART restarts the flow from the beginning, and RESTART_WITH_CONTEXT restarts the flow while keeping the current context.
      required:
      - order
      - pk
      - policybindingmodel_ptr_id
      - stage
      - stage_obj
      - target
    IdentificationChallengeResponseRequest:
      type: object
      description: Identification challenge
      properties:
        component:
          type: string
          minLength: 1
          default: ak-stage-identification
        uid_field:
          type:
          - string
          - 'null'
        password:
          type:
          - string
          - 'null'
        captcha_token:
          type:
          - string
          - 'null'
        passkey:
          type:
          - object
          - 'null'
          additionalProperties: {}
    AuthenticatorValidationChallenge:
      type: object
      description: Authenticator challenge
      properties:
        flow_info:
          $ref: '#/components/schemas/ContextualFlowInfo'
        component:
          type: string
          default: ak-stage-authenticator-validate
        response_errors:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ErrorDetail'
        pending_user:
          type: string
        pending_user_avatar:
          type: string
        device_challenges:
          type: array
          items:
            $ref: '#/components/schemas/DeviceChallenge'
        configuration_stages:
          type: array
          items:
            $ref: '#/components/schemas/SelectableStage'
      required:
      - configuration_stages
      - device_challenges
      - pending_user
  

# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/authentik/refs/heads/main/openapi/authentik-flows-api-openapi.yml