Authentik Stages API

Flow stages: identification, password, consent, prompt, email, captcha, mTLS, redirect, user write/login/logout/delete, account lockdown and every authenticator setup and validation stage.

Business capability
Identity & Access Management BC-620.20

Operations 210

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 /stages/account_lockdown/ List account lockdown stages · Stages account lockdown list #
Ask an LLM
“Which account lockdown stages are configured in my authentik instance?”
“Can I find the lockdown stages that revoke a user's tokens?”
Tell an agent
List all account lockdown stages.
Find account lockdown stages that deactivate the user, matching {name}.
POST /stages/account_lockdown/ Create an account lockdown stage · Stages account lockdown create #
Ask an LLM
“How do I add a stage that locks down a compromised account?”
“Can a new lockdown stage delete sessions and set an unusable password at once?”
Tell an agent
Create an account lockdown stage named {name}.
Set up a new lockdown stage {name} that revokes all tokens: {revoke_tokens}.
GET /stages/account_lockdown/{stage_uuid}/ Get an account lockdown stage · Stages account lockdown retrieve #
Ask an LLM
“What does a specific account lockdown stage do to the user when it runs?”
“Is the self-service completion flow set on this lockdown stage?”
Tell an agent
Show account lockdown stage {stage_uuid}.
Fetch the lockdown settings of stage {stage_uuid} so I can see if it deactivates users.
PUT /stages/account_lockdown/{stage_uuid}/ Replace an account lockdown stage's settings · Stages account lockdown update #
Ask an LLM
“Can I overwrite every setting on an existing account lockdown stage in one request?”
“What must I resend when fully replacing a lockdown stage's configuration?”
Tell an agent
Replace the whole configuration of lockdown stage {stage_uuid}, naming it {name}.
Fully rewrite lockdown stage {stage_uuid} as {name} with delete sessions set to {delete_sessions}.
PATCH /stages/account_lockdown/{stage_uuid}/ Change one setting on an account lockdown stage · Stages account lockdown partial update #
Ask an LLM
“Can I turn on token revocation for an existing lockdown stage without touching its other settings?”
“Is it possible to just change where users land after a self-service lockdown?”
Tell an agent
On lockdown stage {stage_uuid}, only set deactivate user to {deactivate_user}.
Point lockdown stage {stage_uuid} at completion flow {self_service_completion_flow}, leaving the rest as is.
DELETE /stages/account_lockdown/{stage_uuid}/ Delete an account lockdown stage · Stages account lockdown destroy #
Ask an LLM
“How can I remove an account lockdown stage I no longer need?”
“Is deleting a lockdown stage permanent?”
Tell an agent destructive · confirm first
Delete account lockdown stage {stage_uuid}.
Remove the lockdown stage {stage_uuid} from authentik.
GET /stages/account_lockdown/{stage_uuid}/used_by/ See what uses an account lockdown stage · Stages account lockdown used by list #
Ask an LLM
“Which flows depend on a given account lockdown stage?”
“What would break if I removed this lockdown stage?”
Tell an agent
Show everything that references lockdown stage {stage_uuid}.
List the objects bound to account lockdown stage {stage_uuid}.
GET /stages/all/ List every stage of any type · Stages all list #
Ask an LLM
“What stages exist across all types in my authentik install?”
“Can I search every stage by name regardless of its kind?”
Tell an agent
List all stages of every type.
Search all stages, whatever their type, for the name {name}.
GET /stages/all/{stage_uuid}/ Get any stage by its ID · Stages all retrieve #
Ask an LLM
“How do I look up a stage when I only have its UUID and not its type?”
“What kind of stage is a given stage ID?”
Tell an agent
Look up stage {stage_uuid} without knowing its type.
Tell me what type of stage {stage_uuid} is.
DELETE /stages/all/{stage_uuid}/ Delete a stage of any type · Stages all destroy #
Ask an LLM
“Can I delete a stage by ID without going through its type-specific endpoint?”
“Is there one endpoint that removes any kind of stage?”
Tell an agent destructive · confirm first
Delete stage {stage_uuid}, whatever type it is.
Remove the generic stage {stage_uuid} from the stage list.
GET /stages/all/{stage_uuid}/used_by/ See what uses a stage of any type · Stages all used by list #
Ask an LLM
“Which objects reference a stage when I don't know what type it is?”
“Is a given stage ID still bound to any flow?”
Tell an agent
Show what uses stage {stage_uuid}, regardless of type.
Check whether generic stage {stage_uuid} is referenced anywhere.
GET /stages/all/types/ List the stage types that can be created · Stages all types list #
Ask an LLM
“What kinds of stages can I create in authentik?”
“Which stage types are available to add to a flow?”
Tell an agent
List all creatable stage types.
Show me every stage type I'm allowed to create.
GET /stages/all/user_settings/ List stages a user can configure themselves · Stages all user settings list #
Ask an LLM
“Which stages can the current user set up from their own settings page?”
“What self-service stages are exposed to users?”
Tell an agent
List the stages the current user can configure.
Show the user-configurable settings stages.
GET /stages/authenticator/duo/ List Duo authenticator stages · Stages authenticator duo list #
Ask an LLM
“Which Duo MFA setup stages are configured?”
“Can I find Duo stages by their API hostname?”
Tell an agent
List all Duo authenticator stages.
Find Duo stages that use API hostname {api_hostname}.
POST /stages/authenticator/duo/ Create a Duo authenticator stage · Stages authenticator duo create #
Ask an LLM
“How do I connect Duo push MFA to authentik as a setup stage?”
“What Duo credentials do I need to create a Duo stage?”
Tell an agent
Create Duo stage {name} with client ID {client_id}, secret {client_secret} and host {api_hostname}.
Add a Duo authenticator stage {name} with admin integration key {admin_integration_key}, host {api_hostname}, client {client_id} and secret {client_secret}.
GET /stages/authenticator/duo/{stage_uuid}/ Get a Duo authenticator stage · Stages authenticator duo retrieve #
Ask an LLM
“What Duo hostname and client ID is a given Duo stage using?”
“Does this Duo stage have a configure flow set?”
Tell an agent
Show Duo stage {stage_uuid}.
Fetch the Duo connection details for stage {stage_uuid}.
PUT /stages/authenticator/duo/{stage_uuid}/ Replace a Duo authenticator stage's settings · Stages authenticator duo update #
Ask an LLM
“Can I overwrite all of a Duo stage's credentials and settings at once?”
“What fields are required when fully replacing a Duo stage?”
Tell an agent
Replace Duo stage {stage_uuid} entirely: name {name}, client {client_id}, secret {client_secret}, host {api_hostname}.
Rewrite the full config of Duo stage {stage_uuid} as {name} on host {api_hostname} using client {client_id} and secret {client_secret}.
PATCH /stages/authenticator/duo/{stage_uuid}/ Change one setting on a Duo stage · Stages authenticator duo partial update #
Ask an LLM
“Can I rotate just the Duo client secret on an existing stage?”
“Is it possible to change only the friendly name users see for Duo?”
Tell an agent
Update only the client secret of Duo stage {stage_uuid} to {client_secret}.
Set the friendly name of Duo stage {stage_uuid} to {friendly_name}.
DELETE /stages/authenticator/duo/{stage_uuid}/ Delete a Duo authenticator stage · Stages authenticator duo destroy #
Ask an LLM
“How can I remove a Duo MFA stage?”
“Is deleting a Duo authenticator stage reversible?”
Tell an agent destructive · confirm first
Delete Duo stage {stage_uuid}.
Remove the Duo authenticator stage {stage_uuid}.
POST /stages/authenticator/duo/{stage_uuid}/enrollment_status/ Check a user's Duo enrollment status · Stages authenticator duo enrollment status create #
Ask an LLM
“Has the user in the current session finished enrolling in Duo?”
“Can I check Duo enrollment progress during a flow?”
Tell an agent
Check the Duo enrollment status for the current session on stage {stage_uuid}.
See if the current user has completed Duo enrollment via stage {stage_uuid}.
POST /stages/authenticator/duo/{stage_uuid}/import_device_manual/ Import one Duo device for a user · Stages authenticator duo import device manual create #
Ask an LLM
“Can I link a specific Duo user's device to an authentik username by hand?”
“What do I need to manually import a single Duo device?”
Tell an agent
Import Duo user {duo_user_id}'s device for username {username} via stage {stage_uuid}.
Manually map Duo ID {duo_user_id} to authentik user {username} on Duo stage {stage_uuid}.
POST /stages/authenticator/duo/{stage_uuid}/import_devices_automatic/ Bulk import Duo devices automatically · Stages authenticator duo import devices automatic create #
Ask an LLM
“How do I pull all existing Duo devices into authentik automatically?”
“Can authentik sync every Duo enrollment in one go?”
Tell an agent
Automatically import all Duo devices through stage {stage_uuid}.
Run the automatic Duo device import for stage {stage_uuid}.
GET /stages/authenticator/duo/{stage_uuid}/used_by/ See what uses a Duo stage · Stages authenticator duo used by list #
Ask an LLM
“Which flows reference a particular Duo stage?”
“Is my Duo MFA stage bound to anything before I delete it?”
Tell an agent
Show what uses Duo stage {stage_uuid}.
List objects referencing the Duo authenticator stage {stage_uuid}.
GET /stages/authenticator/email/ List email authenticator stages · Stages authenticator email list #
Ask an LLM
“Which email one-time-code MFA stages are set up?”
“Can I find email authenticator stages that use a particular SMTP host?”
Tell an agent
List all email authenticator stages.
Find email OTP stages sending from {from_address}.
POST /stages/authenticator/email/ Create an email authenticator stage · Stages authenticator email create #
Ask an LLM
“How do I let users enroll email as a second factor?”
“Can a new email MFA stage use the global email settings instead of its own SMTP server?”
Tell an agent
Create an email authenticator stage named {name}.
Add email MFA stage {name} with subject {subject} and code expiry {token_expiry}.
GET /stages/authenticator/email/{stage_uuid}/ Get an email authenticator stage · Stages authenticator email retrieve #
Ask an LLM
“What SMTP settings is a given email MFA stage using?”
“How long are codes valid on this email authenticator stage?”
Tell an agent
Show email authenticator stage {stage_uuid}.
Fetch the SMTP and code settings of email MFA stage {stage_uuid}.
PUT /stages/authenticator/email/{stage_uuid}/ Replace an email authenticator stage's settings · Stages authenticator email update #
Ask an LLM
“Can I overwrite the entire configuration of an email MFA stage?”
“What happens to unspecified fields when I fully replace an email authenticator stage?”
Tell an agent
Replace email authenticator stage {stage_uuid} entirely, naming it {name}.
Fully rewrite email MFA stage {stage_uuid} as {name} using SMTP host {host} and port {port}.
PATCH /stages/authenticator/email/{stage_uuid}/ Change one setting on an email authenticator stage · Stages authenticator email partial update #
Ask an LLM
“Can I change only the email subject line for one-time codes?”
“Is it possible to switch an email MFA stage to the global email settings without resending everything?”
Tell an agent
Change just the subject of email MFA stage {stage_uuid} to {subject}.
Set use global settings to {use_global_settings} on email authenticator stage {stage_uuid}.
DELETE /stages/authenticator/email/{stage_uuid}/ Delete an email authenticator stage · Stages authenticator email destroy #
Ask an LLM
“How can I get rid of an email MFA stage?”
“Will deleting an email authenticator stage affect flows that use it?”
Tell an agent destructive · confirm first
Delete email authenticator stage {stage_uuid}.
Remove email OTP stage {stage_uuid}.
GET /stages/authenticator/email/{stage_uuid}/used_by/ See what uses an email authenticator stage · Stages authenticator email used by list #
Ask an LLM
“Which flows rely on a specific email MFA stage?”
“Is this email authenticator stage still in use anywhere?”
Tell an agent
Show what uses email authenticator stage {stage_uuid}.
List references to email OTP stage {stage_uuid}.
GET /stages/authenticator/endpoint_gdtc/ List Google Device Trust endpoint stages · Stages authenticator endpoint gdtc list #
Ask an LLM
“Which Google Device Trust connector stages are configured?”
“Can I filter endpoint GDTC stages by their configure flow?”
Tell an agent
List all endpoint GDTC authenticator stages.
Find Google Device Trust stages named {name}.
POST /stages/authenticator/endpoint_gdtc/ Create a Google Device Trust endpoint stage · Stages authenticator endpoint gdtc create #
Ask an LLM
“How do I add a Google Device Trust check to a login flow?”
“What credentials does a new endpoint GDTC stage require?”
Tell an agent
Create endpoint GDTC stage {name} with service account credentials {credentials}.
Add a Google Device Trust stage {name} shown to users as {friendly_name}, using credentials {credentials}.
GET /stages/authenticator/endpoint_gdtc/{stage_uuid}/ Get a Google Device Trust endpoint stage · Stages authenticator endpoint gdtc retrieve #
Ask an LLM
“What is configured on a specific Google Device Trust stage?”
“Which configure flow does this endpoint GDTC stage point to?”
Tell an agent
Show endpoint GDTC stage {stage_uuid}.
Fetch the details of Google Device Trust stage {stage_uuid}.
PUT /stages/authenticator/endpoint_gdtc/{stage_uuid}/ Replace a Google Device Trust stage's settings · Stages authenticator endpoint gdtc update #
Ask an LLM
“Can I overwrite a Google Device Trust stage's name and credentials together?”
“Does fully replacing an endpoint GDTC stage require resending the credentials?”
Tell an agent
Replace endpoint GDTC stage {stage_uuid} with name {name} and credentials {credentials}.
Fully rewrite Google Device Trust stage {stage_uuid}, calling it {name}, with credentials {credentials}.
PATCH /stages/authenticator/endpoint_gdtc/{stage_uuid}/ Change one setting on a Google Device Trust stage · Stages authenticator endpoint gdtc partial update #
Ask an LLM
“Can I swap only the service account credentials on a Google Device Trust stage?”
“Is it possible to rename an endpoint GDTC stage without touching its credentials?”
Tell an agent
Update just the credentials of endpoint GDTC stage {stage_uuid} to {credentials}.
Rename Google Device Trust stage {stage_uuid} to {name}.
DELETE /stages/authenticator/endpoint_gdtc/{stage_uuid}/ Delete a Google Device Trust endpoint stage · Stages authenticator endpoint gdtc destroy #
Ask an LLM
“How can I remove a Google Device Trust stage?”
“Is an endpoint GDTC stage gone for good once deleted?”
Tell an agent destructive · confirm first
Delete endpoint GDTC stage {stage_uuid}.
Remove Google Device Trust stage {stage_uuid}.
GET /stages/authenticator/endpoint_gdtc/{stage_uuid}/used_by/ See what uses a Google Device Trust stage · Stages authenticator endpoint gdtc used by list #
Ask an LLM
“Which flows reference my Google Device Trust stage?”
“Is an endpoint GDTC stage still bound to anything?”
Tell an agent
Show what uses endpoint GDTC stage {stage_uuid}.
List references to Google Device Trust stage {stage_uuid}.
GET /stages/authenticator/sms/ List SMS authenticator stages · Stages authenticator sms list #
Ask an LLM
“Which SMS MFA stages are configured?”
“Can I find SMS stages that only verify phone numbers during enrollment?”
Tell an agent
List all SMS authenticator stages.
Find SMS stages sending from number {from_number}.
POST /stages/authenticator/sms/ Create an SMS authenticator stage · Stages authenticator sms create #
Ask an LLM
“How do I let users enroll a phone number for text message codes?”
“What provider details does a new SMS MFA stage need?”
Tell an agent
Create SMS stage {name} using provider {provider}, sender {from_number}, account SID {account_sid} and auth token {auth}.
Add verify-only SMS stage {name} ({verify_only}) via {provider} from {from_number}, SID {account_sid}, token {auth}.
GET /stages/authenticator/sms/{stage_uuid}/ Get an SMS authenticator stage · Stages authenticator sms retrieve #
Ask an LLM
“Which SMS provider and sender number does a given SMS stage use?”
“Is this SMS MFA stage set to verify only?”
Tell an agent
Show SMS authenticator stage {stage_uuid}.
Fetch the provider settings of SMS stage {stage_uuid}.
PUT /stages/authenticator/sms/{stage_uuid}/ Replace an SMS authenticator stage's settings · Stages authenticator sms update #
Ask an LLM
“Can I overwrite every setting on an SMS MFA stage at once?”
“Which fields are mandatory when fully replacing an SMS stage?”
Tell an agent
Replace SMS stage {stage_uuid}: name {name}, provider {provider}, sender {from_number}, SID {account_sid}, token {auth}.
Fully rewrite SMS MFA stage {stage_uuid} as {name} on {provider}, number {from_number}, account {account_sid}, auth {auth}.
PATCH /stages/authenticator/sms/{stage_uuid}/ Change one setting on an SMS stage · Stages authenticator sms partial update #
Ask an LLM
“Can I change only the sender phone number on an SMS stage?”
“Is it possible to rotate just the SMS provider auth token?”
Tell an agent
Change the sender number of SMS stage {stage_uuid} to {from_number}.
Rotate only the auth token on SMS stage {stage_uuid} to {auth}.
DELETE /stages/authenticator/sms/{stage_uuid}/ Delete an SMS authenticator stage · Stages authenticator sms destroy #
Ask an LLM
“How can I remove an SMS MFA stage?”
“Can a deleted SMS authenticator stage be restored?”
Tell an agent destructive · confirm first
Delete SMS authenticator stage {stage_uuid}.
Remove text message MFA stage {stage_uuid}.
GET /stages/authenticator/sms/{stage_uuid}/used_by/ See what uses an SMS stage · Stages authenticator sms used by list #
Ask an LLM
“Which flows use a specific SMS MFA stage?”
“Is my SMS authenticator stage referenced anywhere?”
Tell an agent
Show what uses SMS stage {stage_uuid}.
List objects bound to SMS authenticator stage {stage_uuid}.
GET /stages/authenticator/static/ List static recovery code stages · Stages authenticator static list #
Ask an LLM
“Which backup code stages are configured?”
“Can I find static token stages by how many codes they generate?”
Tell an agent
List all static authenticator stages.
Find recovery code stages that issue {token_count} codes.
POST /stages/authenticator/static/ Create a static recovery code stage · Stages authenticator static create #
Ask an LLM
“How do I give users one-time backup codes?”
“Can I choose how many recovery codes are generated and how long each is?”
Tell an agent
Create a static authenticator stage named {name}.
Add backup code stage {name} generating {token_count} codes of length {token_length}.
GET /stages/authenticator/static/{stage_uuid}/ Get a static recovery code stage · Stages authenticator static retrieve #
Ask an LLM
“How many backup codes does a given static stage create?”
“What is the code length on this recovery code stage?”
Tell an agent
Show static authenticator stage {stage_uuid}.
Fetch the backup code settings of stage {stage_uuid}.
PUT /stages/authenticator/static/{stage_uuid}/ Replace a static recovery code stage's settings · Stages authenticator static update #
Ask an LLM
“Can I overwrite a backup code stage's full configuration?”
“What gets reset if I fully replace a static authenticator stage?”
Tell an agent
Replace static stage {stage_uuid} entirely with name {name}.
Fully rewrite recovery code stage {stage_uuid} as {name} with {token_count} codes.
PATCH /stages/authenticator/static/{stage_uuid}/ Change one setting on a static code stage · Stages authenticator static partial update #
Ask an LLM
“Can I change only the number of backup codes a stage generates?”
“Is it possible to lengthen recovery codes without changing anything else?”
Tell an agent
Set the code count of static stage {stage_uuid} to {token_count}.
Change just the token length on backup code stage {stage_uuid} to {token_length}.
DELETE /stages/authenticator/static/{stage_uuid}/ Delete a static recovery code stage · Stages authenticator static destroy #
Ask an LLM
“How can I remove a backup code stage?”
“Is deleting a static authenticator stage permanent?”
Tell an agent destructive · confirm first
Delete static authenticator stage {stage_uuid}.
Remove recovery code stage {stage_uuid}.
GET /stages/authenticator/static/{stage_uuid}/used_by/ See what uses a static code stage · Stages authenticator static used by list #
Ask an LLM
“Which flows reference a particular backup code stage?”
“Is this static authenticator stage bound to any flow?”
Tell an agent
Show what uses static stage {stage_uuid}.
List references to recovery code stage {stage_uuid}.
GET /stages/authenticator/totp/ List TOTP authenticator stages · Stages authenticator totp list #
Ask an LLM
“Which authenticator app (TOTP) stages exist?”
“Can I find TOTP stages that use 8-digit codes?”
Tell an agent
List all TOTP authenticator stages.
Find TOTP stages with {digits} digit codes.
POST /stages/authenticator/totp/ Create a TOTP authenticator stage · Stages authenticator totp create #
Ask an LLM
“How do I let users enroll an authenticator app?”
“Can I pick 6 or 8 digit codes for a new TOTP stage?”
Tell an agent
Create TOTP stage {name} with {digits} digit codes.
Add authenticator app stage {name} using {digits} digits, labelled {friendly_name}.
GET /stages/authenticator/totp/{stage_uuid}/ Get a TOTP authenticator stage · Stages authenticator totp retrieve #
Ask an LLM
“How many digits does a given TOTP stage use?”
“What configure flow is set on this authenticator app stage?”
Tell an agent
Show TOTP stage {stage_uuid}.
Fetch the settings of authenticator app stage {stage_uuid}.
PUT /stages/authenticator/totp/{stage_uuid}/ Replace a TOTP stage's settings · Stages authenticator totp update #
Ask an LLM
“Can I overwrite all of a TOTP stage's settings in one call?”
“Do I need to resend the digit count when fully replacing a TOTP stage?”
Tell an agent
Replace TOTP stage {stage_uuid} with name {name} and {digits} digits.
Fully rewrite authenticator app stage {stage_uuid} as {name}, {digits}-digit codes.
PATCH /stages/authenticator/totp/{stage_uuid}/ Change one setting on a TOTP stage · Stages authenticator totp partial update #
Ask an LLM
“Can I switch only the TOTP code length on an existing stage?”
“Is it possible to change just the configure flow of a TOTP stage?”
Tell an agent
Set only the digits of TOTP stage {stage_uuid} to {digits}.
Point authenticator app stage {stage_uuid} at configure flow {configure_flow}.
DELETE /stages/authenticator/totp/{stage_uuid}/ Delete a TOTP authenticator stage · Stages authenticator totp destroy #
Ask an LLM
“How can I remove an authenticator app stage?”
“Is deleting a TOTP stage irreversible?”
Tell an agent destructive · confirm first
Delete TOTP stage {stage_uuid}.
Remove authenticator app stage {stage_uuid}.
GET /stages/authenticator/totp/{stage_uuid}/used_by/ See what uses a TOTP stage · Stages authenticator totp used by list #
Ask an LLM
“Which flows use a particular TOTP stage?”
“Is my authenticator app stage referenced anywhere?”
Tell an agent
Show what uses TOTP stage {stage_uuid}.
List objects bound to authenticator app stage {stage_uuid}.
GET /stages/authenticator/validate/ List MFA validation stages · Stages authenticator validate list #
Ask an LLM
“Which stages validate a user's MFA device at login?”
“Can I find validation stages by what they do when a user has no device?”
Tell an agent
List all authenticator validation stages.
Find MFA validation stages whose not-configured action is {not_configured_action}.
POST /stages/authenticator/validate/ Create an MFA validation stage · Stages authenticator validate create #
Ask an LLM
“How do I require users to prove a second factor during login?”
“Can a new validation stage skip MFA if a device was used recently?”
Tell an agent
Create an authenticator validation stage named {name}.
Add MFA check stage {name} allowing device classes {device_classes}, skipped within {last_auth_threshold}.
GET /stages/authenticator/validate/{stage_uuid}/ Get an MFA validation stage · Stages authenticator validate retrieve #
Ask an LLM
“Which device classes does a given MFA validation stage accept?”
“What throttling applies to OTP codes on this validation stage?”
Tell an agent
Show authenticator validation stage {stage_uuid}.
Fetch the accepted devices and WebAuthn rules of MFA check stage {stage_uuid}.
PUT /stages/authenticator/validate/{stage_uuid}/ Replace an MFA validation stage's settings · Stages authenticator validate update #
Ask an LLM
“Can I overwrite a validation stage's entire MFA policy at once?”
“What is lost if I fully replace an authenticator validation stage without all fields?”
Tell an agent
Replace MFA validation stage {stage_uuid} entirely, naming it {name}.
Fully rewrite validation stage {stage_uuid} as {name} with device classes {device_classes}.
PATCH /stages/authenticator/validate/{stage_uuid}/ Change one setting on an MFA validation stage · Stages authenticator validate partial update #
Ask an LLM
“Can I enforce WebAuthn user verification on an existing validation stage without other changes?”
“Is it possible to adjust only the SMS code throttling factor?”
Tell an agent
Set WebAuthn user verification on validation stage {stage_uuid} to {webauthn_user_verification}.
Change only the SMS OTP throttling factor of MFA check stage {stage_uuid} to {sms_otp_throttling_factor}.
DELETE /stages/authenticator/validate/{stage_uuid}/ Delete an MFA validation stage · Stages authenticator validate destroy #
Ask an LLM
“How can I remove an MFA validation stage from authentik?”
“Will deleting a validation stage stop MFA checks in its flows?”
Tell an agent destructive · confirm first
Delete authenticator validation stage {stage_uuid}.
Remove MFA check stage {stage_uuid}.
GET /stages/authenticator/validate/{stage_uuid}/used_by/ See what uses an MFA validation stage · Stages authenticator validate used by list #
Ask an LLM
“Which flows depend on a particular MFA validation stage?”
“Is this authenticator validation stage referenced by anything?”
Tell an agent
Show what uses validation stage {stage_uuid}.
List references to MFA check stage {stage_uuid}.
GET /stages/authenticator/webauthn/ List WebAuthn passkey setup stages · Stages authenticator webauthn list #
Ask an LLM
“Which passkey and security key enrollment stages are configured?”
“Can I find WebAuthn stages that require a resident key?”
Tell an agent
List all WebAuthn authenticator stages.
Find passkey stages with authenticator attachment {authenticator_attachment}.
POST /stages/authenticator/webauthn/ Create a WebAuthn passkey setup stage · Stages authenticator webauthn create #
Ask an LLM
“How do I let users register a passkey or security key?”
“Can a new WebAuthn stage restrict which device types are allowed?”
Tell an agent
Create a WebAuthn authenticator stage named {name}.
Add passkey enrollment stage {name} requiring user verification {user_verification} and resident key {resident_key_requirement}.
GET /stages/authenticator/webauthn/{stage_uuid}/ Get a WebAuthn passkey setup stage · Stages authenticator webauthn retrieve #
Ask an LLM
“What user verification level does a given WebAuthn stage require?”
“Which device types are allowed on this passkey stage?”
Tell an agent
Show WebAuthn stage {stage_uuid}.
Fetch the passkey requirements of stage {stage_uuid}.
PUT /stages/authenticator/webauthn/{stage_uuid}/ Replace a WebAuthn stage's settings · Stages authenticator webauthn update #
Ask an LLM
“Can I overwrite a passkey stage's whole configuration at once?”
“What resets when I fully replace a WebAuthn authenticator stage?”
Tell an agent
Replace WebAuthn stage {stage_uuid} entirely with name {name}.
Fully rewrite passkey stage {stage_uuid} as {name} with max attempts {max_attempts}.
PATCH /stages/authenticator/webauthn/{stage_uuid}/ Change one setting on a WebAuthn stage · Stages authenticator webauthn partial update #
Ask an LLM
“Can I restrict an existing passkey stage to certain device types only?”
“Is it possible to change just the max registration attempts on a WebAuthn stage?”
Tell an agent
Limit WebAuthn stage {stage_uuid} to device types {device_type_restrictions}.
Change only the authenticator attachment of passkey stage {stage_uuid} to {authenticator_attachment}.
DELETE /stages/authenticator/webauthn/{stage_uuid}/ Delete a WebAuthn passkey setup stage · Stages authenticator webauthn destroy #
Ask an LLM
“How can I remove a passkey enrollment stage?”
“Is a deleted WebAuthn stage recoverable?”
Tell an agent destructive · confirm first
Delete WebAuthn stage {stage_uuid}.
Remove passkey enrollment stage {stage_uuid}.
GET /stages/authenticator/webauthn/{stage_uuid}/used_by/ See what uses a WebAuthn stage · Stages authenticator webauthn used by list #
Ask an LLM
“Which flows use a specific passkey enrollment stage?”
“Is this WebAuthn stage bound to any flow?”
Tell an agent
Show what uses WebAuthn stage {stage_uuid}.
List references to passkey enrollment stage {stage_uuid}.
GET /stages/authenticator/webauthn_device_types/ List known WebAuthn device types · Stages authenticator webauthn device types list #
Ask an LLM
“Which security key and passkey models does authentik recognize?”
“Can I look up a WebAuthn device type by its description?”
Tell an agent
List known WebAuthn device types.
Search WebAuthn device types described as {description}.
GET /stages/authenticator/webauthn_device_types/{aaguid}/ Get a WebAuthn device type by AAGUID · Stages authenticator webauthn device types retrieve #
Ask an LLM
“What authenticator model does a given AAGUID belong to?”
“Can I get the name and icon for a WebAuthn AAGUID?”
Tell an agent
Look up WebAuthn device type {aaguid}.
Tell me which authenticator has AAGUID {aaguid}.
GET /stages/captcha/ List captcha stages · Stages captcha list #
Ask an LLM
“Which captcha stages are configured to block bots?”
“Can I find a captcha stage by its public site key?”
Tell an agent
List all captcha stages.
Find captcha stages with public key {public_key}.
POST /stages/captcha/ Create a captcha stage · Stages captcha create #
Ask an LLM
“How do I add a captcha check to a login or enrollment flow?”
“Can a new captcha stage enforce a minimum score threshold?”
Tell an agent
Create captcha stage {name} with public key {public_key} and private key {private_key}.
Add a score-based captcha stage {name} (keys {public_key}/{private_key}) requiring at least {score_min_threshold}.
GET /stages/captcha/{stage_uuid}/ Get a captcha stage · Stages captcha retrieve #
Ask an LLM
“What score thresholds does a given captcha stage apply?”
“Which JS and API URLs is this captcha stage pointed at?”
Tell an agent
Show captcha stage {stage_uuid}.
Fetch the provider URLs and thresholds of captcha stage {stage_uuid}.
PUT /stages/captcha/{stage_uuid}/ Replace a captcha stage's settings · Stages captcha update #
Ask an LLM
“Can I overwrite a captcha stage's keys and settings in one request?”
“Which fields must I resend when fully replacing a captcha stage?”
Tell an agent
Replace captcha stage {stage_uuid}: name {name}, public key {public_key}, private key {private_key}.
Fully rewrite captcha stage {stage_uuid} as {name} using keys {public_key} and {private_key} and API URL {api_url}.
PATCH /stages/captcha/{stage_uuid}/ Change one setting on a captcha stage · Stages captcha partial update #
Ask an LLM
“Can I raise only the minimum captcha score without re-entering the keys?”
“Is it possible to make an existing captcha stage show an error on a bad score?”
Tell an agent
Set the minimum score of captcha stage {stage_uuid} to {score_min_threshold}.
Turn error on invalid score to {error_on_invalid_score} for captcha stage {stage_uuid}.
DELETE /stages/captcha/{stage_uuid}/ Delete a captcha stage · Stages captcha destroy #
Ask an LLM
“How can I remove a captcha stage?”
“Does deleting a captcha stage take bot protection out of its flows?”
Tell an agent destructive · confirm first
Delete captcha stage {stage_uuid}.
Remove the bot-check stage {stage_uuid}.
GET /stages/captcha/{stage_uuid}/used_by/ See what uses a captcha stage · Stages captcha used by list #
Ask an LLM
“Which flows include a particular captcha stage?”
“Is this captcha stage still referenced anywhere?”
Tell an agent
Show what uses captcha stage {stage_uuid}.
List objects bound to the bot-check stage {stage_uuid}.
GET /stages/deny/ List deny stages · Stages deny list #
Ask an LLM
“Which deny stages block users from continuing a flow?”
“Can I find deny stages by the message they show?”
Tell an agent
List all deny stages.
Find deny stages showing the message {deny_message}.
POST /stages/deny/ Create a deny stage · Stages deny create #
Ask an LLM
“How do I stop certain users from getting past a point in a flow?”
“Can a new deny stage show a custom message?”
Tell an agent
Create a deny stage named {name}.
Add deny stage {name} that tells users {deny_message}.
GET /stages/deny/{stage_uuid}/ Get a deny stage · Stages deny retrieve #
Ask an LLM
“What message does a specific deny stage display?”
“Can I see the details of one deny stage?”
Tell an agent
Show deny stage {stage_uuid}.
Fetch the denial message of stage {stage_uuid}.
PUT /stages/deny/{stage_uuid}/ Replace a deny stage's settings · Stages deny update #
Ask an LLM
“Can I overwrite a deny stage's name and message in one request?”
“Does fully replacing a deny stage clear the message if I leave it out?”
Tell an agent
Replace deny stage {stage_uuid} with name {name}.
Fully rewrite deny stage {stage_uuid} as {name} with message {deny_message}.
PATCH /stages/deny/{stage_uuid}/ Change a deny stage's message · Stages deny partial update #
Ask an LLM
“Can I change only the text a deny stage shows?”
“Is it possible to rename a deny stage without editing its message?”
Tell an agent
Change the deny message of stage {stage_uuid} to {deny_message}.
Rename deny stage {stage_uuid} to {name}.
DELETE /stages/deny/{stage_uuid}/ Delete a deny stage · Stages deny destroy #
Ask an LLM
“How can I remove a deny stage?”
“Will users stop being blocked once a deny stage is deleted?”
Tell an agent destructive · confirm first
Delete deny stage {stage_uuid}.
Remove the blocking stage {stage_uuid}.
GET /stages/deny/{stage_uuid}/used_by/ See what uses a deny stage · Stages deny used by list #
Ask an LLM
“Which flows include a particular deny stage?”
“Is this deny stage bound anywhere?”
Tell an agent
Show what uses deny stage {stage_uuid}.
List objects referencing blocking stage {stage_uuid}.
GET /stages/dummy/ List dummy test stages · Stages dummy list #
Ask an LLM
“Which dummy stages exist for testing flows?”
“Can I find dummy stages that are set to throw an error?”
Tell an agent
List all dummy stages.
Find dummy stages with throw error set to {throw_error}.
POST /stages/dummy/ Create a dummy test stage · Stages dummy create #
Ask an LLM
“How do I add a placeholder stage to test a flow?”
“Can a new dummy stage be made to raise an error on purpose?”
Tell an agent
Create a dummy stage named {name}.
Add test stage {name} with throw error {throw_error}.
GET /stages/dummy/{stage_uuid}/ Get a dummy test stage · Stages dummy retrieve #
Ask an LLM
“Is a given dummy stage configured to throw errors?”
“What are the settings of one dummy stage?”
Tell an agent
Show dummy stage {stage_uuid}.
Fetch the test stage {stage_uuid}.
PUT /stages/dummy/{stage_uuid}/ Replace a dummy stage's settings · Stages dummy update #
Ask an LLM
“Can I overwrite a dummy stage's full configuration?”
“What must I send to fully replace a dummy test stage?”
Tell an agent
Replace dummy stage {stage_uuid} with name {name}.
Fully rewrite test stage {stage_uuid} as {name}, throw error {throw_error}.
PATCH /stages/dummy/{stage_uuid}/ Toggle error throwing on a dummy stage · Stages dummy partial update #
Ask an LLM
“Can I flip only the throw-error switch on a dummy stage?”
“Is it possible to rename a dummy stage and leave the rest?”
Tell an agent
Set throw error on dummy stage {stage_uuid} to {throw_error}.
Rename test placeholder stage {stage_uuid} to {name}.
DELETE /stages/dummy/{stage_uuid}/ Delete a dummy test stage · Stages dummy destroy #
Ask an LLM
“How can I clean up a dummy stage after testing?”
“Is deleting a dummy stage permanent?”
Tell an agent destructive · confirm first
Delete dummy stage {stage_uuid}.
Remove test placeholder stage {stage_uuid}.
GET /stages/dummy/{stage_uuid}/used_by/ See what uses a dummy stage · Stages dummy used by list #
Ask an LLM
“Which flows still include a dummy test stage?”
“Is my dummy stage referenced anywhere?”
Tell an agent
Show what uses dummy stage {stage_uuid}.
List references to test placeholder stage {stage_uuid}.
GET /stages/email/ List email verification stages · Stages email list #
Ask an LLM
“Which stages send verification or recovery emails?”
“Can I find email stages that activate the user once they click the link?”
Tell an agent
List all email stages.
Find email stages using email template {template}.
POST /stages/email/ Create an email verification stage · Stages email create #
Ask an LLM
“How do I send users a verification link during enrollment?”
“Can a new email stage limit how many recovery attempts a user makes?”
Tell an agent
Create an email stage named {name}.
Add email stage {name} with template {template}, activating users on success: {activate_user_on_success}.
GET /stages/email/{stage_uuid}/ Get an email verification stage · Stages email retrieve #
Ask an LLM
“What SMTP server and template does a given email stage use?”
“Does this email stage activate users after they verify?”
Tell an agent
Show email stage {stage_uuid}.
Fetch the template and SMTP details of verification email stage {stage_uuid}.
PUT /stages/email/{stage_uuid}/ Replace an email verification stage's settings · Stages email update #
Ask an LLM
“Can I overwrite a verification email stage's entire setup in one call?”
“What is reset when I fully replace an email stage?”
Tell an agent
Replace verification email stage {stage_uuid} with name {name}.
Fully rewrite email stage {stage_uuid} as {name}, sending from {from_address} with subject {subject}.
PATCH /stages/email/{stage_uuid}/ Change one setting on an email verification stage · Stages email partial update #
Ask an LLM
“Can I change only the sender address of a verification email stage?”
“Is it possible to tighten just the recovery attempt limit?”
Tell an agent
Change the from address of email stage {stage_uuid} to {from_address}.
Set recovery max attempts on verification email stage {stage_uuid} to {recovery_max_attempts}.
DELETE /stages/email/{stage_uuid}/ Delete an email verification stage · Stages email destroy #
Ask an LLM
“How can I remove a verification email stage?”
“Will deleting an email stage stop recovery emails in its flows?”
Tell an agent destructive · confirm first
Delete email stage {stage_uuid}.
Remove verification email stage {stage_uuid}.
GET /stages/email/{stage_uuid}/used_by/ See what uses an email verification stage · Stages email used by list #
Ask an LLM
“Which flows send email through a particular email stage?”
“Is this verification email stage referenced anywhere?”
Tell an agent
Show what uses email stage {stage_uuid}.
List objects bound to verification email stage {stage_uuid}.
GET /stages/email/templates/ List available email templates · Stages email templates list #
Ask an LLM
“What email templates can I choose from, including custom ones?”
“Are my custom email templates picked up by authentik?”
Tell an agent
List all available email templates.
Show the built-in and custom email templates.
GET /stages/endpoints/ List endpoint device stages · Stages endpoints list #
Ask an LLM
“Which endpoint device check stages are configured?”
“Can I search endpoint stages by name?”
Tell an agent
List all endpoint stages.
Find endpoint device stages named {name}.
POST /stages/endpoints/ Create an endpoint device stage · Stages endpoints create #
Ask an LLM
“How do I check a user's device through an endpoint connector during login?”
“Which connector does a new endpoint stage need?”
Tell an agent
Create endpoint stage {name} using connector {connector}.
Add endpoint device stage {name} on connector {connector} in mode {mode}.
GET /stages/endpoints/{stage_uuid}/ Get an endpoint device stage · Stages endpoints retrieve #
Ask an LLM
“Which connector and mode does a given endpoint stage use?”
“Can I see the details of one endpoint device stage?”
Tell an agent
Show endpoint stage {stage_uuid}.
Fetch the connector setup of endpoint device stage {stage_uuid}.
PUT /stages/endpoints/{stage_uuid}/ Replace an endpoint device stage's settings · Stages endpoints update #
Ask an LLM
“Can I overwrite an endpoint stage's name and connector together?”
“Do I have to resend the connector when fully replacing an endpoint stage?”
Tell an agent
Replace endpoint stage {stage_uuid} with name {name} and connector {connector}.
Fully rewrite endpoint device stage {stage_uuid} as {name} on {connector}, mode {mode}.
PATCH /stages/endpoints/{stage_uuid}/ Change one setting on an endpoint stage · Stages endpoints partial update #
Ask an LLM
“Can I switch only the connector on an endpoint stage?”
“Is it possible to change just the mode of an endpoint device stage?”
Tell an agent
Switch endpoint stage {stage_uuid} to connector {connector}.
Change only the mode of device check stage {stage_uuid} to {mode}.
DELETE /stages/endpoints/{stage_uuid}/ Delete an endpoint device stage · Stages endpoints destroy #
Ask an LLM
“How can I remove an endpoint device stage?”
“Is deleting an endpoint stage permanent?”
Tell an agent destructive · confirm first
Delete endpoint stage {stage_uuid}.
Remove the device check stage {stage_uuid}.
GET /stages/endpoints/{stage_uuid}/used_by/ See what uses an endpoint stage · Stages endpoints used by list #
Ask an LLM
“Which flows include a particular endpoint device stage?”
“Is my endpoint stage bound to any flow?”
Tell an agent
Show what uses endpoint stage {stage_uuid}.
List references to device check stage {stage_uuid}.
GET /stages/identification/ List identification stages · Stages identification list #
Ask an LLM
“Which username/email identification stages exist?”
“Can I find identification stages that link a given enrollment flow?”
Tell an agent
List all identification stages.
Find identification stages linking recovery flow {recovery_flow}.
POST /stages/identification/ Create an identification stage · Stages identification create #
Ask an LLM
“How do I build the first login screen that asks for a username or email?”
“Can a new identification stage show the password field on the same page?”
Tell an agent
Create an identification stage named {name}.
Add identification stage {name} matching on {user_fields} with password stage {password_stage}.
GET /stages/identification/{stage_uuid}/ Get an identification stage · Stages identification retrieve #
Ask an LLM
“Which user fields does a given identification stage match on?”
“Does this identification stage offer remember me or passkey login?”
Tell an agent
Show identification stage {stage_uuid}.
Fetch the matching fields and linked flows of login identification stage {stage_uuid}.
PUT /stages/identification/{stage_uuid}/ Replace an identification stage's settings · Stages identification update #
Ask an LLM
“Can I overwrite an identification stage's full configuration at once?”
“What do I lose by fully replacing an identification stage without every field?”
Tell an agent
Replace identification stage {stage_uuid} with name {name}.
Fully rewrite login identification stage {stage_uuid} as {name}, showing sources {sources}.
PATCH /stages/identification/{stage_uuid}/ Change one setting on an identification stage · Stages identification partial update #
Ask an LLM
“Can I turn on case-insensitive username matching without other changes?”
“Is it possible to add a passkey option to an existing identification stage?”
Tell an agent
Set case insensitive matching on identification stage {stage_uuid} to {case_insensitive_matching}.
Attach WebAuthn stage {webauthn_stage} to login identification stage {stage_uuid}.
DELETE /stages/identification/{stage_uuid}/ Delete an identification stage · Stages identification destroy #
Ask an LLM
“How can I remove an identification stage?”
“Will deleting an identification stage break my login flow?”
Tell an agent destructive · confirm first
Delete identification stage {stage_uuid}.
Remove login identification stage {stage_uuid}.
GET /stages/identification/{stage_uuid}/used_by/ See what uses an identification stage · Stages identification used by list #
Ask an LLM
“Which flows start with a particular identification stage?”
“Is this identification stage referenced anywhere?”
Tell an agent
Show what uses identification stage {stage_uuid}.
List objects bound to login identification stage {stage_uuid}.
GET /stages/invitation/invitations/ List invitations · Stages invitation invitations list #
Ask an LLM
“Which invitations have been issued?”
“Can I see the invitations a particular admin created?”
Tell an agent
List all invitations.
Show invitations created by {created_by__username}.
POST /stages/invitation/invitations/ Create an invitation · Stages invitation invitations create #
Ask an LLM
“How do I invite someone to sign up?”
“Can I make an invitation single-use with an expiry date?”
Tell an agent
Create an invitation named {name}.
Create single-use invite {name} ({single_use}) expiring {expires} for flow {flow}.
GET /stages/invitation/invitations/{invite_uuid}/ Get an invitation · Stages invitation invitations retrieve #
Ask an LLM
“When does a specific invitation expire?”
“Is a given invitation single-use and what data does it prefill?”
Tell an agent
Show invitation {invite_uuid}.
Fetch the expiry and fixed data of invite {invite_uuid}.
PUT /stages/invitation/invitations/{invite_uuid}/ Replace an invitation's details · Stages invitation invitations update #
Ask an LLM
“Can I overwrite every field on an existing invitation?”
“What happens to the expiry if I fully replace an invitation without it?”
Tell an agent
Replace invitation {invite_uuid} with name {name}.
Fully rewrite invite {invite_uuid} as {name} with fixed data {fixed_data}.
PATCH /stages/invitation/invitations/{invite_uuid}/ Change one detail of an invitation · Stages invitation invitations partial update #
Ask an LLM
“Can I extend just the expiry of an invitation?”
“Is it possible to make an existing invite single-use without changing anything else?”
Tell an agent
Extend invitation {invite_uuid} to expire at {expires}.
Set single use to {single_use} on invite {invite_uuid}.
DELETE /stages/invitation/invitations/{invite_uuid}/ Revoke an invitation · Stages invitation invitations destroy #
Ask an LLM
“How can I cancel an invitation before it's used?”
“Does deleting an invitation stop its link from working?”
Tell an agent destructive · confirm first
Delete invitation {invite_uuid}.
Revoke invite {invite_uuid} so nobody can use it.
POST /stages/invitation/invitations/{invite_uuid}/send_email/ Email an invitation link · Stages invitation invitations send email create #
Ask an LLM
“How do I email an invitation link to new users?”
“Can I CC or BCC people when sending an invitation?”
Tell an agent
Email invitation {invite_uuid} to {email_addresses}.
Send invite {invite_uuid} to {email_addresses}, CC {cc_addresses}, using template {template}.
GET /stages/invitation/invitations/{invite_uuid}/used_by/ See what uses an invitation · Stages invitation invitations used by list #
Ask an LLM
“Which objects reference a particular invitation?”
“Is this invite linked to anything else?”
Tell an agent
Show what uses invitation {invite_uuid}.
List objects referencing invite {invite_uuid}.
GET /stages/invitation/stages/ List invitation stages · Stages invitation stages list #
Ask an LLM
“Which stages check for an invitation during enrollment?”
“Can I find invitation stages that let the flow continue without an invite?”
Tell an agent
List all invitation stages.
Find invitation stages with continue without invitation set to {continue_flow_without_invitation}.
POST /stages/invitation/stages/ Create an invitation stage · Stages invitation stages create #
Ask an LLM
“How do I require an invitation to enroll?”
“Can a new invitation stage skip ahead instead of cancelling when no invite is given?”
Tell an agent
Create an invitation stage named {name}.
Add invite-check stage {name} that continues without an invitation: {continue_flow_without_invitation}.
GET /stages/invitation/stages/{stage_uuid}/ Get an invitation stage · Stages invitation stages retrieve #
Ask an LLM
“Does a given invitation stage cancel the flow when there's no invite?”
“What are the settings of one invitation stage?”
Tell an agent
Show invitation stage {stage_uuid}.
Fetch invite-check stage {stage_uuid}.
PUT /stages/invitation/stages/{stage_uuid}/ Replace an invitation stage's settings · Stages invitation stages update #
Ask an LLM
“Can I overwrite an invitation stage's configuration completely?”
“What must I include to fully replace an invitation stage?”
Tell an agent
Replace invitation stage {stage_uuid} with name {name}.
Fully rewrite invite-check stage {stage_uuid} as {name}, continue without invite {continue_flow_without_invitation}.
PATCH /stages/invitation/stages/{stage_uuid}/ Toggle invite-optional on an invitation stage · Stages invitation stages partial update #
Ask an LLM
“Can I make invitations optional on an existing invitation stage?”
“Is it possible to rename an invitation stage only?”
Tell an agent
Set continue flow without invitation on stage {stage_uuid} to {continue_flow_without_invitation}.
Rename invite-check stage {stage_uuid} to {name}.
DELETE /stages/invitation/stages/{stage_uuid}/ Delete an invitation stage · Stages invitation stages destroy #
Ask an LLM
“How can I remove an invitation stage?”
“Will enrollment stop requiring invites if I delete the invitation stage?”
Tell an agent destructive · confirm first
Delete invitation stage {stage_uuid}.
Remove invite-check stage {stage_uuid}.
GET /stages/invitation/stages/{stage_uuid}/used_by/ See what uses an invitation stage · Stages invitation stages used by list #
Ask an LLM
“Which enrollment flows use a particular invitation stage?”
“Is this invitation stage referenced anywhere?”
Tell an agent
Show what uses invitation stage {stage_uuid}.
List objects bound to invite-check stage {stage_uuid}.
GET /stages/mtls/ List mutual TLS stages · Stages mtls list #
Ask an LLM
“Which client certificate (mTLS) login stages are configured?”
“Can I find mTLS stages that trust a particular certificate authority?”
Tell an agent
List all mutual TLS stages.
Find mTLS stages validating against CA {certificate_authorities}.
POST /stages/mtls/ Create a mutual TLS stage · Stages mtls create #
Ask an LLM
“How do I let users sign in with a client certificate?”
“Which certificate attribute maps to which user attribute in a new mTLS stage?”
Tell an agent
Create mTLS stage {name} in mode {mode}, matching cert {cert_attribute} to user {user_attribute}.
Add client certificate stage {name} ({mode}) trusting CAs {certificate_authorities}, mapping {cert_attribute} to {user_attribute}.
GET /stages/mtls/{stage_uuid}/ Get a mutual TLS stage · Stages mtls retrieve #
Ask an LLM
“Which certificate attribute does a given mTLS stage use to find the user?”
“Is this client certificate stage optional or required?”
Tell an agent
Show mutual TLS stage {stage_uuid}.
Fetch the CA and attribute mapping of client certificate stage {stage_uuid}.
PUT /stages/mtls/{stage_uuid}/ Replace a mutual TLS stage's settings · Stages mtls update #
Ask an LLM
“Can I overwrite an mTLS stage's mode and attribute mapping in one go?”
“Which fields are required to fully replace a client certificate stage?”
Tell an agent
Replace mTLS stage {stage_uuid}: name {name}, mode {mode}, cert {cert_attribute}, user {user_attribute}.
Fully rewrite client certificate stage {stage_uuid} as {name}, {mode}, mapping {cert_attribute} onto {user_attribute}.
PATCH /stages/mtls/{stage_uuid}/ Change one setting on a mutual TLS stage · Stages mtls partial update #
Ask an LLM
“Can I swap only the trusted certificate authorities on an mTLS stage?”
“Is it possible to make a client certificate optional without other edits?”
Tell an agent
Set the trusted CAs of mTLS stage {stage_uuid} to {certificate_authorities}.
Change only the mode of client certificate stage {stage_uuid} to {mode}.
DELETE /stages/mtls/{stage_uuid}/ Delete a mutual TLS stage · Stages mtls destroy #
Ask an LLM
“How can I remove a client certificate stage?”
“Is deleting an mTLS stage permanent?”
Tell an agent destructive · confirm first
Delete mutual TLS stage {stage_uuid}.
Remove client certificate stage {stage_uuid}.
GET /stages/mtls/{stage_uuid}/used_by/ See what uses a mutual TLS stage · Stages mtls used by list #
Ask an LLM
“Which flows include a particular mTLS stage?”
“Is this client certificate stage referenced anywhere?”
Tell an agent
Show what uses mutual TLS stage {stage_uuid}.
List objects bound to client certificate stage {stage_uuid}.
GET /stages/password/ List password stages · Stages password list #
Ask an LLM
“Which password entry stages are configured?”
“Can I find password stages that offer a show password button?”
Tell an agent
List all password stages.
Find password stages that cancel after {failed_attempts_before_cancel} failed attempts.
POST /stages/password/ Create a password stage · Stages password create #
Ask an LLM
“How do I add a password check to a login flow?”
“Which backends can a new password stage test the password against?”
Tell an agent
Create password stage {name} checking backends {backends}.
Add password stage {name} on backends {backends} allowing {failed_attempts_before_cancel} attempts.
GET /stages/password/{stage_uuid}/ Get a password stage · Stages password retrieve #
Ask an LLM
“Which backends does a given password stage check?”
“How many tries do users get on this password stage?”
Tell an agent
Show password stage {stage_uuid}.
Fetch the backends and attempt limit of password stage {stage_uuid}.
PUT /stages/password/{stage_uuid}/ Replace a password stage's settings · Stages password update #
Ask an LLM
“Can I overwrite a password stage's backends and options together?”
“What must I resend when fully replacing a password stage?”
Tell an agent
Replace password stage {stage_uuid} with name {name} and backends {backends}.
Fully rewrite password stage {stage_uuid} as {name} on {backends} with show password {allow_show_password}.
PATCH /stages/password/{stage_uuid}/ Change one setting on a password stage · Stages password partial update #
Ask an LLM
“Can I change only the number of allowed password attempts?”
“Is it possible to enable the show password button on an existing stage?”
Tell an agent
Set failed attempts before cancel on password stage {stage_uuid} to {failed_attempts_before_cancel}.
Turn allow show password to {allow_show_password} on password check stage {stage_uuid}.
DELETE /stages/password/{stage_uuid}/ Delete a password stage · Stages password destroy #
Ask an LLM
“How can I remove a password stage?”
“Will deleting a password stage break flows that use it?”
Tell an agent destructive · confirm first
Delete password stage {stage_uuid}.
Remove the password check stage {stage_uuid}.
GET /stages/password/{stage_uuid}/used_by/ See what uses a password stage · Stages password used by list #
Ask an LLM
“Which flows reference a particular password stage?”
“Is my password stage bound to any identification stage or flow?”
Tell an agent
Show what uses password stage {stage_uuid}.
List objects bound to password check stage {stage_uuid}.
GET /stages/prompt/prompts/ List prompt form fields · Stages prompt prompts list #
Ask an LLM
“Which form fields (prompts) are defined for prompt stages?”
“Can I find prompt fields by their field key or type?”
Tell an agent
List all prompt fields.
Find prompt fields with field key {field_key}.
POST /stages/prompt/prompts/ Create a prompt form field · Stages prompt prompts create #
Ask an LLM
“How do I add a custom form field to an enrollment form?”
“Can a new prompt field be prefilled from an expression?”
Tell an agent
Create prompt field {name} with key {field_key}, label {label} and type {type}.
Add required form field {name} (key {field_key}, label {label}, type {type}), required {required}.
GET /stages/prompt/prompts/{prompt_uuid}/ Get a prompt form field · Stages prompt prompts retrieve #
Ask an LLM
“What type and label does a specific prompt field have?”
“Is a given form field required?”
Tell an agent
Show prompt field {prompt_uuid}.
Fetch the key, label and placeholder of form field {prompt_uuid}.
PUT /stages/prompt/prompts/{prompt_uuid}/ Replace a prompt form field · Stages prompt prompts update #
Ask an LLM
“Can I overwrite every property of an existing prompt field at once?”
“Which values are mandatory when fully replacing a form field?”
Tell an agent
Replace prompt field {prompt_uuid}: name {name}, key {field_key}, label {label}, type {type}.
Fully rewrite form field {prompt_uuid} as {name} keyed {field_key}, labelled {label}, of type {type}, order {order}.
PATCH /stages/prompt/prompts/{prompt_uuid}/ Change one property of a prompt field · Stages prompt prompts partial update #
Ask an LLM
“Can I change only the label of a form field?”
“Is it possible to make an existing prompt field required without resending it all?”
Tell an agent
Change the label of prompt field {prompt_uuid} to {label}.
Set required to {required} on form field {prompt_uuid}.
DELETE /stages/prompt/prompts/{prompt_uuid}/ Delete a prompt form field · Stages prompt prompts destroy #
Ask an LLM
“How can I remove a form field from my prompts?”
“Is a deleted prompt field removed from every prompt stage?”
Tell an agent destructive · confirm first
Delete prompt field {prompt_uuid}.
Remove form field {prompt_uuid}.
GET /stages/prompt/prompts/{prompt_uuid}/used_by/ See what uses a prompt field · Stages prompt prompts used by list #
Ask an LLM
“Which prompt stages include a particular form field?”
“Is this prompt field used anywhere?”
Tell an agent
Show what uses prompt field {prompt_uuid}.
List stages that include form field {prompt_uuid}.
POST /stages/prompt/prompts/preview/ Preview a prompt field as a flow would · Stages prompt prompts preview create #
Ask an LLM
“Can I see how a form field will render before saving it?”
“What challenge would a flow receive for a given prompt definition?”
Tell an agent
Preview prompt {name} with key {field_key}, label {label} and type {type}.
Render a preview challenge for unsaved field {name} ({field_key}, {label}, {type}) with placeholder {placeholder}.
GET /stages/prompt/stages/ List prompt stages · Stages prompt stages list #
Ask an LLM
“Which form (prompt) stages exist?”
“Can I find prompt stages that include a particular field?”
Tell an agent
List all prompt stages.
Find prompt stages containing field {fields}.
POST /stages/prompt/stages/ Create a prompt stage · Stages prompt stages create #
Ask an LLM
“How do I show users a form with several fields during a flow?”
“Can a new prompt stage run validation policies on submitted values?”
Tell an agent
Create prompt stage {name} with fields {fields}.
Add form stage {name} showing {fields} and validated by {validation_policies}.
GET /stages/prompt/stages/{stage_uuid}/ Get a prompt stage · Stages prompt stages retrieve #
Ask an LLM
“Which fields does a given prompt stage display?”
“What validation policies are attached to this form stage?”
Tell an agent
Show prompt stage {stage_uuid}.
Fetch the fields and validation of form stage {stage_uuid}.
PUT /stages/prompt/stages/{stage_uuid}/ Replace a prompt stage's settings · Stages prompt stages update #
Ask an LLM
“Can I overwrite a prompt stage's full field list and name together?”
“Must I resend all fields when fully replacing a form stage?”
Tell an agent
Replace prompt stage {stage_uuid} with name {name} and fields {fields}.
Fully rewrite form stage {stage_uuid} as {name} with fields {fields} and policies {validation_policies}.
PATCH /stages/prompt/stages/{stage_uuid}/ Change one setting on a prompt stage · Stages prompt stages partial update #
Ask an LLM
“Can I change only which fields a prompt stage shows?”
“Is it possible to attach validation policies to an existing form stage alone?”
Tell an agent
Set the fields of prompt stage {stage_uuid} to {fields}.
Attach validation policies {validation_policies} to form stage {stage_uuid}.
DELETE /stages/prompt/stages/{stage_uuid}/ Delete a prompt stage · Stages prompt stages destroy #
Ask an LLM
“How can I remove a prompt stage?”
“Does deleting a form stage also delete its fields?”
Tell an agent destructive · confirm first
Delete prompt stage {stage_uuid}.
Remove form stage {stage_uuid}.
GET /stages/prompt/stages/{stage_uuid}/used_by/ See what uses a prompt stage · Stages prompt stages used by list #
Ask an LLM
“Which flows include a particular prompt stage?”
“Is this form stage referenced anywhere?”
Tell an agent
Show what uses prompt stage {stage_uuid}.
List objects bound to form stage {stage_uuid}.
GET /stages/redirect/ List redirect stages · Stages redirect list #
Ask an LLM
“Which redirect stages send users elsewhere mid-flow?”
“Can I search redirect stages by name?”
Tell an agent
List all redirect stages.
Find redirect stages named {name}.
POST /stages/redirect/ Create a redirect stage · Stages redirect create #
Ask an LLM
“How do I send users to another URL or flow from inside a flow?”
“Can a new redirect stage keep the flow context when jumping to another flow?”
Tell an agent
Create redirect stage {name} in mode {mode} pointing to {target_static}.
Add redirect stage {name} ({mode}) to flow {target_flow}, keep context {keep_context}.
GET /stages/redirect/{stage_uuid}/ Get a redirect stage · Stages redirect retrieve #
Ask an LLM
“Where does a given redirect stage send users?”
“Does this redirect stage target a static URL or a flow?”
Tell an agent
Show redirect stage {stage_uuid}.
Fetch the redirect target of stage {stage_uuid}.
PUT /stages/redirect/{stage_uuid}/ Replace a redirect stage's settings · Stages redirect update #
Ask an LLM
“Can I overwrite a redirect stage's mode and target together?”
“What must I resend when fully replacing a redirect stage?”
Tell an agent
Replace redirect stage {stage_uuid} with name {name} and mode {mode}.
Fully rewrite redirect stage {stage_uuid} as {name}, mode {mode}, URL {target_static}.
PATCH /stages/redirect/{stage_uuid}/ Change a redirect stage's target · Stages redirect partial update #
Ask an LLM
“Can I change only the URL a redirect stage points to?”
“Is it possible to switch a redirect stage to a different flow without other edits?”
Tell an agent
Point redirect stage {stage_uuid} at URL {target_static}.
Change only the target flow of redirecting stage {stage_uuid} to {target_flow}.
DELETE /stages/redirect/{stage_uuid}/ Delete a redirect stage · Stages redirect destroy #
Ask an LLM
“How can I remove a redirect stage?”
“Is deleting a redirect stage permanent?”
Tell an agent destructive · confirm first
Delete redirect stage {stage_uuid}.
Remove the redirecting stage {stage_uuid}.
GET /stages/redirect/{stage_uuid}/used_by/ See what uses a redirect stage · Stages redirect used by list #
Ask an LLM
“Which flows include a particular redirect stage?”
“Is this redirect stage bound anywhere?”
Tell an agent
Show what uses redirect stage {stage_uuid}.
List references to redirecting stage {stage_uuid}.
GET /stages/source/ List source stages · Stages source list #
Ask an LLM
“Which stages hand users off to an external identity source?”
“Can I find source stages that use a particular source?”
Tell an agent
List all source stages.
Find source stages using source {source}.
POST /stages/source/ Create a source stage · Stages source create #
Ask an LLM
“How do I send users through an external source in the middle of a flow and bring them back?”
“Can a new source stage limit how long users have to return?”
Tell an agent
Create source stage {name} using source {source}.
Add source hand-off stage {name} for {source} with resume timeout {resume_timeout}.
GET /stages/source/{stage_uuid}/ Get a source stage · Stages source retrieve #
Ask an LLM
“Which external source does a given source stage use?”
“How long can users take to return on this source stage?”
Tell an agent
Show source stage {stage_uuid}.
Fetch the source and resume timeout of stage {stage_uuid}.
PUT /stages/source/{stage_uuid}/ Replace a source stage's settings · Stages source update #
Ask an LLM
“Can I overwrite a source stage's source and timeout together?”
“What is required to fully replace a source stage?”
Tell an agent
Replace source stage {stage_uuid} with name {name} and source {source}.
Fully rewrite source hand-off stage {stage_uuid} as {name} on {source}, timeout {resume_timeout}.
PATCH /stages/source/{stage_uuid}/ Change one setting on a source stage · Stages source partial update #
Ask an LLM
“Can I change only the resume timeout of a source stage?”
“Is it possible to choose which match failures resume the flow without other edits?”
Tell an agent
Set the resume timeout of source stage {stage_uuid} to {resume_timeout}.
Resume source hand-off stage {stage_uuid} on match failures {resume_on_match_failures}.
DELETE /stages/source/{stage_uuid}/ Delete a source stage · Stages source destroy #
Ask an LLM
“How can I remove a source stage?”
“Is a deleted source stage recoverable?”
Tell an agent destructive · confirm first
Delete source stage {stage_uuid}.
Remove source hand-off stage {stage_uuid}.
GET /stages/source/{stage_uuid}/used_by/ See what uses a source stage · Stages source used by list #
Ask an LLM
“Which flows include a particular source stage?”
“Is this source stage referenced anywhere?”
Tell an agent
Show what uses source stage {stage_uuid}.
List objects bound to source hand-off stage {stage_uuid}.
GET /stages/user_delete/ List user delete stages · Stages user delete list #
Ask an LLM
“Which stages delete the user who reaches them?”
“Can I search user delete stages by name?”
Tell an agent
List all user delete stages.
Find account deletion stages named {name}.
POST /stages/user_delete/ Create a user delete stage · Stages user delete create #
Ask an LLM
“How do I let users delete their own account through a flow?”
“What does a new user delete stage need besides a name?”
Tell an agent
Create a user delete stage named {name}.
Add account deletion stage {name}.
GET /stages/user_delete/{stage_uuid}/ Get a user delete stage · Stages user delete retrieve #
Ask an LLM
“What are the details of a specific user delete stage?”
“Can I confirm a stage is an account deletion stage by its ID?”
Tell an agent
Show user delete stage {stage_uuid}.
Fetch account deletion stage {stage_uuid}.
PUT /stages/user_delete/{stage_uuid}/ Replace a user delete stage · Stages user delete update #
Ask an LLM
“Can I fully replace a user delete stage's configuration?”
“What does a full replace of an account deletion stage require?”
Tell an agent
Replace user delete stage {stage_uuid} with name {name}.
Overwrite account deletion stage {stage_uuid} so it is called {name}.
PATCH /stages/user_delete/{stage_uuid}/ Rename a user delete stage · Stages user delete partial update #
Ask an LLM
“Can I just rename a user delete stage?”
“Is a partial edit of an account deletion stage possible?”
Tell an agent
Rename user delete stage {stage_uuid} to {name}.
Patch account deletion stage {stage_uuid} with the new name {name}.
DELETE /stages/user_delete/{stage_uuid}/ Delete a user delete stage · Stages user delete destroy #
Ask an LLM
“How can I remove a user delete stage from authentik?”
“Does removing the account deletion stage stop self-service deletion?”
Tell an agent destructive · confirm first
Delete user delete stage {stage_uuid}.
Remove the account deletion stage {stage_uuid}.
GET /stages/user_delete/{stage_uuid}/used_by/ See what uses a user delete stage · Stages user delete used by list #
Ask an LLM
“Which flows include a user delete stage?”
“Is this account deletion stage bound to any flow?”
Tell an agent
Show what uses user delete stage {stage_uuid}.
List references to account deletion stage {stage_uuid}.
GET /stages/user_login/ List user login stages · Stages user login list #
Ask an LLM
“Which stages create the user's session at the end of login?”
“Can I find login stages that terminate other sessions?”
Tell an agent
List all user login stages.
Find session-creating login stages with session duration {session_duration}.
POST /stages/user_login/ Create a user login stage · Stages user login create #
Ask an LLM
“How do I control how long user sessions last after login?”
“Can a new login stage bind sessions to the user's network or GeoIP location?”
Tell an agent
Create a user login stage named {name}.
Add login stage {name} with session duration {session_duration}, terminating other sessions {terminate_other_sessions}.
GET /stages/user_login/{stage_uuid}/ Get a user login stage · Stages user login retrieve #
Ask an LLM
“How long do sessions last on a given user login stage?”
“Is remember me enabled on this login stage?”
Tell an agent
Show user login stage {stage_uuid}.
Fetch the session and binding settings of login stage {stage_uuid}.
PUT /stages/user_login/{stage_uuid}/ Replace a user login stage's settings · Stages user login update #
Ask an LLM
“Can I overwrite all session settings of a login stage at once?”
“What resets when I fully replace a user login stage?”
Tell an agent
Replace user login stage {stage_uuid} with name {name}.
Fully rewrite login stage {stage_uuid} as {name} with network binding {network_binding}.
PATCH /stages/user_login/{stage_uuid}/ Change one session setting on a login stage · Stages user login partial update #
Ask an LLM
“Can I change only the session length on a login stage?”
“Is it possible to enable remember device without editing other settings?”
Tell an agent
Set session duration of login stage {stage_uuid} to {session_duration}.
Set remember device on user login stage {stage_uuid} to {remember_device}.
DELETE /stages/user_login/{stage_uuid}/ Delete a user login stage · Stages user login destroy #
Ask an LLM
“How can I remove a user login stage?”
“Will users still get a session if I delete the login stage?”
Tell an agent destructive · confirm first
Delete user login stage {stage_uuid}.
Remove the session-creating stage {stage_uuid}.
GET /stages/user_login/{stage_uuid}/used_by/ See what uses a user login stage · Stages user login used by list #
Ask an LLM
“Which flows end with a particular user login stage?”
“Is this login stage referenced anywhere?”
Tell an agent
Show what uses user login stage {stage_uuid}.
List objects bound to session-creating stage {stage_uuid}.
GET /stages/user_logout/ List user logout stages · Stages user logout list #
Ask an LLM
“Which stages log the user out?”
“Can I search logout stages by name?”
Tell an agent
List all user logout stages.
Find sign-out stages named {name}.
POST /stages/user_logout/ Create a user logout stage · Stages user logout create #
Ask an LLM
“How do I end a user's session as part of a flow?”
“Does a new logout stage need anything besides a name?”
Tell an agent
Create a user logout stage named {name}.
Add sign-out stage {name}.
GET /stages/user_logout/{stage_uuid}/ Get a user logout stage · Stages user logout retrieve #
Ask an LLM
“What are the details of one user logout stage?”
“Can I look up a sign-out stage by ID?”
Tell an agent
Show user logout stage {stage_uuid}.
Fetch sign-out stage {stage_uuid}.
PUT /stages/user_logout/{stage_uuid}/ Replace a user logout stage · Stages user logout update #
Ask an LLM
“Can I fully replace a logout stage's configuration?”
“What does a full overwrite of a sign-out stage need?”
Tell an agent
Replace user logout stage {stage_uuid} with name {name}.
Overwrite sign-out stage {stage_uuid} so it is called {name}.
PATCH /stages/user_logout/{stage_uuid}/ Rename a user logout stage · Stages user logout partial update #
Ask an LLM
“Can I just rename a logout stage?”
“Is a partial edit of a sign-out stage supported?”
Tell an agent
Rename user logout stage {stage_uuid} to {name}.
Patch sign-out stage {stage_uuid} with the new name {name}.
DELETE /stages/user_logout/{stage_uuid}/ Delete a user logout stage · Stages user logout destroy #
Ask an LLM
“How can I remove a user logout stage?”
“Is deleting a sign-out stage reversible?”
Tell an agent destructive · confirm first
Delete user logout stage {stage_uuid}.
Remove the sign-out stage {stage_uuid}.
GET /stages/user_logout/{stage_uuid}/used_by/ See what uses a user logout stage · Stages user logout used by list #
Ask an LLM
“Which flows include a user logout stage?”
“Is this sign-out stage bound to any flow?”
Tell an agent
Show what uses user logout stage {stage_uuid}.
List references to sign-out stage {stage_uuid}.
GET /stages/user_write/ List user write stages · Stages user write list #
Ask an LLM
“Which stages create or update users from flow data?”
“Can I find user write stages that create users as inactive?”
Tell an agent
List all user write stages.
Find user write stages with creation mode {user_creation_mode}.
POST /stages/user_write/ Create a user write stage · Stages user write create #
Ask an LLM
“How do I save a new user account at the end of an enrollment flow?”
“Can a new user write stage add created users to a group automatically?”
Tell an agent
Create a user write stage named {name}.
Add user-saving stage {name} that puts new users in group {create_users_group} as type {user_type}.
GET /stages/user_write/{stage_uuid}/ Get a user write stage · Stages user write retrieve #
Ask an LLM
“Which group and path template does a given user write stage use?”
“Does this user write stage create accounts as inactive?”
Tell an agent
Show user write stage {stage_uuid}.
Fetch the creation settings of user-saving stage {stage_uuid}.
PUT /stages/user_write/{stage_uuid}/ Replace a user write stage's settings · Stages user write update #
Ask an LLM
“Can I overwrite a user write stage's entire configuration?”
“What is reset if I fully replace a user write stage without every field?”
Tell an agent
Replace user write stage {stage_uuid} with name {name}.
Fully rewrite user-saving stage {stage_uuid} as {name} with path template {user_path_template}.
PATCH /stages/user_write/{stage_uuid}/ Change one setting on a user write stage · Stages user write partial update #
Ask an LLM
“Can I make a user write stage create inactive accounts without other changes?”
“Is it possible to change only the group new users are added to?”
Tell an agent
Set create users as inactive on user write stage {stage_uuid} to {create_users_as_inactive}.
Change the new-user group of user-saving stage {stage_uuid} to {create_users_group}.
DELETE /stages/user_write/{stage_uuid}/ Delete a user write stage · Stages user write destroy #
Ask an LLM
“How can I remove a user write stage?”
“Will enrollment stop saving users if I delete the user write stage?”
Tell an agent destructive · confirm first
Delete user write stage {stage_uuid}.
Remove user-saving stage {stage_uuid}.
GET /stages/user_write/{stage_uuid}/used_by/ See what uses a user write stage · Stages user write used by list #
Ask an LLM
“Which flows include a particular user write stage?”
“Is this user write stage referenced anywhere?”
Tell an agent
Show what uses user write stage {stage_uuid}.
List objects bound to user-saving stage {stage_uuid}.

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-stages-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-stages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: authentik Stages 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 (317 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/authentik/refs/heads/main/openapi/authentik-stages-api-openapi.yml