Authentik Flows API

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

Business capability
Identity & Access Management BC-620.20

Operations 22

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /flows/bindings/ List flow stage bindings · Flows bindings list #
Ask an LLM
“Which stages are bound to my authentik flows, and in what order?”
“Can I list only the stage bindings of one flow?”
Tell an agent
List all flow stage bindings.
Show the stage bindings for flow {target}.
POST /flows/bindings/ Add a stage to a flow · Flows bindings create #
Ask an LLM
“How do I add a stage to a login flow at a specific position?”
“Can a stage binding re-evaluate policies when the stage is shown to the user?”
Tell an agent
Bind stage {stage} to flow {target} at order {order}.
Add stage {stage} to flow {target} at position {order} and re-evaluate policies: {re_evaluate_policies}.
GET /flows/bindings/{fsb_uuid}/ Get a flow stage binding · Flows bindings retrieve #
Ask an LLM
“What order and policy settings does a specific stage binding have?”
“How does this stage binding handle an invalid challenge response?”
Tell an agent
Show flow stage binding {fsb_uuid}.
Fetch the settings of stage binding {fsb_uuid}.
PUT /flows/bindings/{fsb_uuid}/ Replace a flow stage binding · Flows bindings update #
Ask an LLM
“Can I overwrite every field of a stage binding in one call?”
“What must I resend when fully replacing a flow stage binding?”
Tell an agent
Replace stage binding {fsb_uuid} so stage {stage} sits in flow {target} at order {order}.
Fully rewrite binding {fsb_uuid}: flow {target}, stage {stage}, order {order}, policy mode {policy_engine_mode}.
PATCH /flows/bindings/{fsb_uuid}/ Change part of a flow stage binding · Flows bindings partial update #
Ask an LLM
“Can I just move a stage to a different position in its flow?”
“Is it possible to only change how invalid responses are handled on a binding?”
Tell an agent
Only change the order of stage binding {fsb_uuid} to {order}.
Set just the invalid response action of binding {fsb_uuid} to {invalid_response_action}.
DELETE /flows/bindings/{fsb_uuid}/ Remove a stage from a flow · Flows bindings destroy #
Ask an LLM
“How do I take a stage out of a flow?”
“Does deleting a stage binding delete the stage itself?”
Tell an agent destructive · confirm first
Delete flow stage binding {fsb_uuid}.
Unbind the stage attached by binding {fsb_uuid}.
GET /flows/bindings/{fsb_uuid}/used_by/ See what uses a flow stage binding · Flows bindings used by list #
Ask an LLM
“What objects reference a particular stage binding?”
“Do any policies depend on this flow stage binding?”
Tell an agent
Show what references stage binding {fsb_uuid}.
List objects using flow stage binding {fsb_uuid}.
GET /flows/executor/{flow_slug}/ Get the next challenge in a running flow · Flows executor get #
Ask an LLM
“How does a custom login UI fetch the current challenge of an authentik flow?”
“What stage is the user on in the flow they're executing right now?”
Tell an agent
Get the next pending challenge for flow {flow_slug} with querystring {query}.
Fetch the current challenge of active flow {flow_slug}, passing query {query}.
POST /flows/executor/{flow_slug}/ Answer a flow challenge and advance · Flows executor solve #
Ask an LLM
“How do I submit a user's answer to a flow challenge and move to the next stage?”
“Can my own frontend drive an authentik flow stage by stage?”
Tell an agent
Submit the response to the current challenge of flow {flow_slug} with query {query}.
Solve the pending challenge in flow {flow_slug} and advance it, querystring {query}.
GET /flows/inspector/{flow_slug}/ Inspect a flow's current state · Flows inspector get #
Ask an LLM
“How can I debug where a user is stuck in a flow?”
“Can I see the plan and history of a flow while it runs?”
Tell an agent
Inspect the current state of flow {flow_slug}.
Open the flow inspector for {flow_slug}.
GET /flows/instances/ List flows · Flows instances list #
Ask an LLM
“Which flows exist in my authentik instance?”
“Can I list only the authentication flows by designation?”
Tell an agent
List all flows.
Show flows with designation {designation}.
POST /flows/instances/ Create a flow · Flows instances create #
Ask an LLM
“How do I create a new enrollment or authentication flow?”
“Can I choose what happens when a new flow denies access?”
Tell an agent
Create flow {name} with slug {slug}, title {title} and designation {designation}.
Set up a {designation} flow called {name} at slug {slug} titled {title} with layout {layout}.
GET /flows/instances/{slug}/ Get a flow · Flows instances retrieve #
Ask an LLM
“What designation and title does a given flow have?”
“Is compatibility mode enabled on this flow?”
Tell an agent
Show flow {slug}.
Fetch the settings of the flow at slug {slug}.
PUT /flows/instances/{slug}/ Replace a flow's settings · Flows instances update #
Ask an LLM
“Can I overwrite all of a flow's settings in one request?”
“What fields are required to fully replace a flow?”
Tell an agent
Replace flow {slug} with name {name}, new slug {new_slug}, title {title} and designation {designation}.
Fully rewrite flow {slug}: name {name}, slug {new_slug}, title {title}, designation {designation}, denied action {denied_action}.
PATCH /flows/instances/{slug}/ Change part of a flow · Flows instances partial update #
Ask an LLM
“Can I just change the title shown on a flow's pages?”
“Is it possible to only turn on compatibility mode for password managers on a flow?”
Tell an agent
Only change the title of flow {slug} to {title}.
Set just compatibility mode on flow {slug} to {compatibility_mode}.
DELETE /flows/instances/{slug}/ Delete a flow · Flows instances destroy #
Ask an LLM
“How do I delete a flow I no longer use?”
“Is removing a flow permanent?”
Tell an agent destructive · confirm first
Delete flow {slug}.
Remove the flow at slug {slug}.
GET /flows/instances/{slug}/diagram/ Get a flow's diagram · Flows instances diagram retrieve #
Ask an LLM
“Can I get a visual diagram of the stages in a flow?”
“What format is the flow diagram returned in?”
Tell an agent
Get the flowchart diagram for flow {slug}.
Draw the stage diagram of flow {slug}.
GET /flows/instances/{slug}/execute/ Execute a flow as the current user · Flows instances execute retrieve #
Ask an LLM
“How do I run a flow as myself to test it?”
“Can I get the link to start a flow for the current user?”
Tell an agent
Execute flow {slug} for the current user.
Run flow {slug} as me.
GET /flows/instances/{slug}/export/ Export a flow to YAML · Flows instances export retrieve #
Ask an LLM
“How do I export a flow so I can reuse it elsewhere?”
“Can a flow be downloaded as a .yaml file?”
Tell an agent
Export flow {slug} to a YAML file.
Download flow {slug} as .yaml.
GET /flows/instances/{slug}/used_by/ See what uses a flow · Flows instances used by list #
Ask an LLM
“Which providers, stages or brands reference a given flow?”
“What breaks if I delete this flow?”
Tell an agent
Show what references flow {slug}.
List objects that depend on flow {slug}.
POST /flows/instances/cache_clear/ Clear the flow cache · Flows instances cache clear create #
Ask an LLM
“How do I force authentik to rebuild cached flow plans?”
“Can I flush the flow cache after changing stages?”
Tell an agent
Clear the flow cache.
Flush all cached flow plans.
GET /flows/instances/cache_info/ Get flow cache info · Flows instances cache info retrieve #
Ask an LLM
“How many flows are currently cached?”
“Can I check the state of the flow cache?”
Tell an agent
Show flow cache info.
Report how many flow plans are cached.

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: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:


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