Skip to content

Create a draft Flow.

POST
/api/admin/flows
Code sample: Shell / cURL
curl --request POST \
--url https://auth.example.com/api/admin/flows \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "display_name": "Login Flow", "slug": "login-flow", "kind": "login", "description": "Login flow for browser users.", "editor": { "nodes": [ { "id": "entry", "type": "entry", "position": { "x": 0, "y": 0 } }, { "id": "complete", "type": "complete", "position": { "x": 0, "y": 160 } } ], "edges": [] } }'

Creates a draft Flow. The Flow is not published by this endpoint; use the publish endpoint to create an immutable runtime snapshot.

Media type application/json
object
slug
string
name
string
>= 1 characters
display_name
required
string
>= 1 characters
description
string | null
template_id
string | null
kind

Built-in Flow kind or a custom kind prefixed with custom:.

string
/^(login|registration|approve|account|custom:[a-z0-9][a-z0-9_-]{0,63})$/
editor
object
nodes
required
Array<object>
object
id
required
string
type
required
string
title
string
position
object
x
number
y
number
key
additional properties
config
object
key
additional properties
data
object
key
additional properties
key
additional properties
edges
required
Array<object>
object
id
required
string
source
required
string
target
required
string
source_handle
string
target_handle
string
label
string
data
object
key
additional properties
key
additional properties
viewport
object
x
number
y
number
zoom
number
key
additional properties
key
additional properties
runtime
object
flow_kind
required

Built-in Flow kind or a custom kind prefixed with custom:.

string
/^(login|registration|approve|account|custom:[a-z0-9][a-z0-9_-]{0,63})$/
flow_id
string
flow_version_id
string
ui
required
object
steps
required
Array<object>
object
key
additional properties
key
additional properties
capabilities
Array<object>
object
key
additional properties
runtime_bindings
object
key
additional properties
protocol_context
object
key
additional properties
key
additional properties
status
string
Allowed values: draft disabled
key
additional properties
Example
{
"display_name": "Login Flow",
"slug": "login-flow",
"kind": "login",
"description": "Login flow for browser users.",
"editor": {
"nodes": [
{
"id": "entry",
"type": "entry",
"position": {
"x": 0,
"y": 0
}
},
{
"id": "complete",
"type": "complete",
"position": {
"x": 0,
"y": 160
}
}
],
"edges": []
}
}

Flow create or copy response.

Media type application/json
object
flow
required
object
id
required
string
tenant_id
required
string
slug
required
string
name
required
string
display_name
required
string
description
required
string | null
template_id
required
string | null
kind
required

Built-in Flow kind or a custom kind prefixed with custom:.

string
/^(login|registration|approve|account|custom:[a-z0-9][a-z0-9_-]{0,63})$/
status
required
string
Allowed values: draft published disabled
editor
required
One of:
object
nodes
required
Array<object>
object
id
required
string
type
required
string
title
string
position
object
x
number
y
number
key
additional properties
config
object
key
additional properties
data
object
key
additional properties
key
additional properties
edges
required
Array<object>
object
id
required
string
source
required
string
target
required
string
source_handle
string
target_handle
string
label
string
data
object
key
additional properties
key
additional properties
viewport
object
x
number
y
number
zoom
number
key
additional properties
key
additional properties
runtime
required
One of:
object
flow_kind
required

Built-in Flow kind or a custom kind prefixed with custom:.

string
/^(login|registration|approve|account|custom:[a-z0-9][a-z0-9_-]{0,63})$/
flow_id
string
flow_version_id
string
ui
required
object
steps
required
Array<object>
object
key
additional properties
key
additional properties
capabilities
Array<object>
object
key
additional properties
runtime_bindings
object
key
additional properties
protocol_context
object
key
additional properties
key
additional properties
published_version_id
required
string | null
is_active
required
boolean
is_builtin
required
boolean
created_by
required
string | null
created_at
required
integer format: int64
updated_by
required
string | null
updated_at
required
integer format: int64
key
additional properties
validation
required
object
valid
required
boolean
errors
required
Array<object>
object
level
required
string
Allowed values: error warning
code
required
string
message
required
string
path
string
node_id
string | null
edge_id
string | null
ref
object
key
additional properties
key
additional properties
warnings
required
Array<object>
object
level
required
string
Allowed values: error warning
code
required
string
message
required
string
path
string
node_id
string | null
edge_id
string | null
ref
object
key
additional properties
key
additional properties
issues
required
Array<object>
object
level
required
string
Allowed values: error warning
code
required
string
message
required
string
path
string
node_id
string | null
edge_id
string | null
ref
object
key
additional properties
key
additional properties
key
additional properties
key
additional properties
Example
{
"flow": {
"id": "flow_01HR0X",
"tenant_id": "default",
"slug": "login-flow",
"name": "Login Flow",
"display_name": "Login Flow",
"description": "Login flow.",
"kind": "login",
"status": "draft",
"editor": {
"nodes": [],
"edges": []
},
"runtime": {
"flow_kind": "login",
"flow_id": "flow_01HR0X",
"ui": {
"steps": []
}
},
"published_version_id": null,
"is_active": true,
"is_builtin": false,
"created_by": "admin_123",
"created_at": 1770000000,
"updated_by": "admin_123",
"updated_at": 1770000000
},
"validation": {
"valid": true,
"errors": [],
"warnings": [],
"issues": []
}
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}