@zitadel/api 0.0.0 → 0.1.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/endpoints/zitadelNextGen.d.mts +2 -2
- package/dist/generated/endpoints/zitadelNextGen.d.ts +17 -7
- package/dist/generated/endpoints/zitadelNextGen.d.ts.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.mjs +69 -16
- package/dist/generated/endpoints/zitadelNextGen.mjs.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.msw.d.mts +8 -5
- package/dist/generated/endpoints/zitadelNextGen.msw.d.mts.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.msw.d.ts +7 -4
- package/dist/generated/endpoints/zitadelNextGen.msw.d.ts.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.msw.mjs +248 -228
- package/dist/generated/endpoints/zitadelNextGen.msw.mjs.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.zod.d.mts +140 -106
- package/dist/generated/endpoints/zitadelNextGen.zod.d.mts.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.zod.d.ts +137 -103
- package/dist/generated/endpoints/zitadelNextGen.zod.d.ts.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.zod.mjs +105 -83
- package/dist/generated/endpoints/zitadelNextGen.zod.mjs.map +1 -1
- package/dist/generated/model/createFlowDefinition201.d.ts +11 -144
- package/dist/generated/model/createFlowDefinition201.d.ts.map +1 -1
- package/dist/generated/model/createFlowDefinition201FlowDefinition.d.ts +56 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinition.d.ts.map +1 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionAudience.d.ts +21 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionAudience.d.ts.map +1 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItem.d.ts +71 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItem.d.ts.map +1 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemActions.d.ts +29 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemActions.d.ts.map +1 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemComplete.d.ts +19 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemComplete.d.ts.map +1 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemGates.d.ts +35 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemGates.d.ts.map +1 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemGatesConfig.d.ts +16 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemGatesConfig.d.ts.map +1 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemGatesKind.d.ts +18 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemGatesKind.d.ts.map +1 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemOnSuccess.d.ts +19 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemOnSuccess.d.ts.map +1 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemSsoProvidersItem.d.ts +19 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemSsoProvidersItem.d.ts.map +1 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemTransitions.d.ts +35 -0
- package/dist/generated/model/createFlowDefinition201FlowDefinitionStepsItemTransitions.d.ts.map +1 -0
- package/dist/generated/model/deleteFlowDefinitionParams.d.ts +15 -0
- package/dist/generated/model/deleteFlowDefinitionParams.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200.d.ts +11 -144
- package/dist/generated/model/getFlowDefinition200.d.ts.map +1 -1
- package/dist/generated/model/getFlowDefinition200FlowDefinition.d.ts +56 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinition.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionAudience.d.ts +21 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionAudience.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItem.d.ts +71 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItem.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemActions.d.ts +29 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemActions.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemComplete.d.ts +19 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemComplete.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemGates.d.ts +35 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemGates.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemGatesConfig.d.ts +16 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemGatesConfig.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemGatesKind.d.ts +18 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemGatesKind.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemOnSuccess.d.ts +19 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemOnSuccess.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem.d.ts +19 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemTransitions.d.ts +35 -0
- package/dist/generated/model/getFlowDefinition200FlowDefinitionStepsItemTransitions.d.ts.map +1 -0
- package/dist/generated/model/getFlowDefinitionParams.d.ts +15 -0
- package/dist/generated/model/getFlowDefinitionParams.d.ts.map +1 -0
- package/dist/generated/model/getMyUser200.d.ts +11 -0
- package/dist/generated/model/getMyUser200.d.ts.map +1 -0
- package/dist/generated/model/{getFlowDefinition404.d.ts → getMyUser401.d.ts} +4 -4
- package/dist/generated/model/getMyUser401.d.ts.map +1 -0
- package/dist/generated/model/{getFlowDefinition404Details.d.ts → getMyUser401Details.d.ts} +2 -2
- package/dist/generated/model/getMyUser401Details.d.ts.map +1 -0
- package/dist/generated/model/getMyUser404.d.ts +26 -0
- package/dist/generated/model/getMyUser404.d.ts.map +1 -0
- package/dist/generated/model/{deleteFlowDefinition404.d.ts → getMyUserDefault.d.ts} +4 -4
- package/dist/generated/model/getMyUserDefault.d.ts.map +1 -0
- package/dist/generated/model/{deleteFlowDefinition404Details.d.ts → getMyUserDefaultDetails.d.ts} +2 -2
- package/dist/generated/model/getMyUserDefaultDetails.d.ts.map +1 -0
- package/dist/generated/model/index.d.mts +2 -2
- package/dist/generated/model/index.d.ts +52 -4
- package/dist/generated/model/index.d.ts.map +1 -1
- package/dist/generated/model/index.mjs +37 -1
- package/dist/generated/model/index.mjs.map +1 -1
- package/dist/generated/model/listFlowDefinitions200FlowDefinitionsItem.d.ts +1 -1
- package/dist/generated/model/listFlowDefinitions200FlowDefinitionsItem.d.ts.map +1 -1
- package/dist/generated/model/listFlowDefinitionsParams.d.ts +1 -1
- package/dist/generated/model/setUserPassword400.d.ts +20 -0
- package/dist/generated/model/setUserPassword400.d.ts.map +1 -0
- package/dist/generated/model/setUserPassword400Details.d.ts +14 -0
- package/dist/generated/model/setUserPassword400Details.d.ts.map +1 -0
- package/dist/generated/model/setUserPassword404.d.ts +20 -0
- package/dist/generated/model/setUserPassword404.d.ts.map +1 -0
- package/dist/generated/model/setUserPassword404Details.d.ts +14 -0
- package/dist/generated/model/setUserPassword404Details.d.ts.map +1 -0
- package/dist/generated/model/setUserPassword500.d.ts +20 -0
- package/dist/generated/model/setUserPassword500.d.ts.map +1 -0
- package/dist/generated/model/setUserPassword500Details.d.ts +14 -0
- package/dist/generated/model/setUserPassword500Details.d.ts.map +1 -0
- package/dist/generated/model/setUserPasswordBody.d.ts +19 -0
- package/dist/generated/model/setUserPasswordBody.d.ts.map +1 -0
- package/dist/generated/model/setUserPasswordDefault.d.ts +20 -0
- package/dist/generated/model/setUserPasswordDefault.d.ts.map +1 -0
- package/dist/generated/model/setUserPasswordDefaultDetails.d.ts +14 -0
- package/dist/generated/model/setUserPasswordDefaultDetails.d.ts.map +1 -0
- package/dist/generated/model/setUserPasswordParams.d.ts +15 -0
- package/dist/generated/model/setUserPasswordParams.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200.d.ts +11 -144
- package/dist/generated/model/updateFlowDefinition200.d.ts.map +1 -1
- package/dist/generated/model/updateFlowDefinition200FlowDefinition.d.ts +56 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinition.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionAudience.d.ts +21 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionAudience.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItem.d.ts +71 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItem.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemActions.d.ts +29 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemActions.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemComplete.d.ts +19 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemComplete.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGates.d.ts +35 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGates.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGatesConfig.d.ts +16 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGatesConfig.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGatesKind.d.ts +18 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGatesKind.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemOnSuccess.d.ts +19 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemOnSuccess.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem.d.ts +19 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemTransitions.d.ts +35 -0
- package/dist/generated/model/updateFlowDefinition200FlowDefinitionStepsItemTransitions.d.ts.map +1 -0
- package/dist/generated/model/updateFlowDefinitionParams.d.ts +15 -0
- package/dist/generated/model/updateFlowDefinitionParams.d.ts.map +1 -0
- package/dist/{index-DlEenfQJ.d.mts → index-DyBulyp9.d.mts} +1685 -938
- package/dist/index-DyBulyp9.d.mts.map +1 -0
- package/dist/runtime/api-factory.d.mts +1 -1
- package/dist/runtime/config.d.mts +6 -3
- package/dist/runtime/config.d.mts.map +1 -1
- package/dist/runtime/config.d.ts +6 -3
- package/dist/runtime/config.d.ts.map +1 -1
- package/dist/runtime/config.mjs +42 -11
- package/dist/runtime/config.mjs.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/{zitadelNextGen-C-fBEgnH.d.mts → zitadelNextGen-D6pDH5nq.d.mts} +20 -10
- package/dist/zitadelNextGen-D6pDH5nq.d.mts.map +1 -0
- package/package.json +1 -1
- package/src/generated/endpoints/zitadelNextGen.msw.ts +82 -34
- package/src/generated/endpoints/zitadelNextGen.ts +111 -16
- package/src/generated/endpoints/zitadelNextGen.zod.ts +452 -384
- package/src/generated/model/createFlowDefinition201.ts +11 -144
- package/src/generated/model/createFlowDefinition201FlowDefinition.ts +58 -0
- package/src/generated/model/createFlowDefinition201FlowDefinitionAudience.ts +21 -0
- package/src/generated/model/createFlowDefinition201FlowDefinitionStepsItem.ts +71 -0
- package/src/generated/model/createFlowDefinition201FlowDefinitionStepsItemActions.ts +29 -0
- package/src/generated/model/createFlowDefinition201FlowDefinitionStepsItemComplete.ts +21 -0
- package/src/generated/model/createFlowDefinition201FlowDefinitionStepsItemGates.ts +35 -0
- package/src/generated/model/createFlowDefinition201FlowDefinitionStepsItemGatesConfig.ts +14 -0
- package/src/generated/model/createFlowDefinition201FlowDefinitionStepsItemGatesKind.ts +20 -0
- package/src/generated/model/createFlowDefinition201FlowDefinitionStepsItemOnSuccess.ts +21 -0
- package/src/generated/model/createFlowDefinition201FlowDefinitionStepsItemSsoProvidersItem.ts +19 -0
- package/src/generated/model/createFlowDefinition201FlowDefinitionStepsItemTransitions.ts +35 -0
- package/src/generated/model/deleteFlowDefinitionParams.ts +15 -0
- package/src/generated/model/getFlowDefinition200.ts +11 -144
- package/src/generated/model/getFlowDefinition200FlowDefinition.ts +58 -0
- package/src/generated/model/getFlowDefinition200FlowDefinitionAudience.ts +21 -0
- package/src/generated/model/getFlowDefinition200FlowDefinitionStepsItem.ts +71 -0
- package/src/generated/model/getFlowDefinition200FlowDefinitionStepsItemActions.ts +29 -0
- package/src/generated/model/getFlowDefinition200FlowDefinitionStepsItemComplete.ts +21 -0
- package/src/generated/model/getFlowDefinition200FlowDefinitionStepsItemGates.ts +35 -0
- package/src/generated/model/getFlowDefinition200FlowDefinitionStepsItemGatesConfig.ts +14 -0
- package/src/generated/model/getFlowDefinition200FlowDefinitionStepsItemGatesKind.ts +20 -0
- package/src/generated/model/getFlowDefinition200FlowDefinitionStepsItemOnSuccess.ts +21 -0
- package/src/generated/model/getFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem.ts +19 -0
- package/src/generated/model/getFlowDefinition200FlowDefinitionStepsItemTransitions.ts +35 -0
- package/src/generated/model/getFlowDefinitionParams.ts +15 -0
- package/src/generated/model/getMyUser200.ts +9 -0
- package/src/generated/model/{getFlowDefinition404.ts → getMyUser401.ts} +3 -3
- package/src/generated/model/{getFlowDefinition404Details.ts → getMyUser401Details.ts} +1 -1
- package/src/generated/model/getMyUser404.ts +24 -0
- package/src/generated/model/{deleteFlowDefinition404.ts → getMyUserDefault.ts} +3 -3
- package/src/generated/model/{deleteFlowDefinition404Details.ts → getMyUserDefaultDetails.ts} +1 -1
- package/src/generated/model/index.ts +52 -4
- package/src/generated/model/listFlowDefinitions200FlowDefinitionsItem.ts +1 -1
- package/src/generated/model/listFlowDefinitionsParams.ts +1 -1
- package/src/generated/model/setUserPassword400.ts +20 -0
- package/src/generated/model/setUserPassword400Details.ts +12 -0
- package/src/generated/model/setUserPassword404.ts +20 -0
- package/src/generated/model/setUserPassword404Details.ts +12 -0
- package/src/generated/model/setUserPassword500.ts +20 -0
- package/src/generated/model/setUserPassword500Details.ts +12 -0
- package/src/generated/model/setUserPasswordBody.ts +19 -0
- package/src/generated/model/setUserPasswordDefault.ts +20 -0
- package/src/generated/model/setUserPasswordDefaultDetails.ts +12 -0
- package/src/generated/model/setUserPasswordParams.ts +15 -0
- package/src/generated/model/updateFlowDefinition200.ts +11 -144
- package/src/generated/model/updateFlowDefinition200FlowDefinition.ts +58 -0
- package/src/generated/model/updateFlowDefinition200FlowDefinitionAudience.ts +21 -0
- package/src/generated/model/updateFlowDefinition200FlowDefinitionStepsItem.ts +71 -0
- package/src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemActions.ts +29 -0
- package/src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemComplete.ts +21 -0
- package/src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGates.ts +35 -0
- package/src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGatesConfig.ts +14 -0
- package/src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGatesKind.ts +20 -0
- package/src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemOnSuccess.ts +21 -0
- package/src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem.ts +19 -0
- package/src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemTransitions.ts +35 -0
- package/src/generated/model/updateFlowDefinitionParams.ts +15 -0
- package/src/runtime/config.spec.ts +41 -0
- package/src/runtime/config.ts +46 -18
- package/dist/generated/endpoints/zitadelNextGen.d.mts.map +0 -1
- package/dist/generated/model/createSession201SessionFactors.d.ts +0 -18
- package/dist/generated/model/createSession201SessionFactors.d.ts.map +0 -1
- package/dist/generated/model/deleteFlowDefinition404.d.ts.map +0 -1
- package/dist/generated/model/deleteFlowDefinition404Details.d.ts.map +0 -1
- package/dist/generated/model/exchangeHandoff200SessionFactors.d.ts +0 -18
- package/dist/generated/model/exchangeHandoff200SessionFactors.d.ts.map +0 -1
- package/dist/generated/model/getFlowDefinition404.d.ts.map +0 -1
- package/dist/generated/model/getFlowDefinition404Details.d.ts.map +0 -1
- package/dist/generated/model/getMySession200Factors.d.ts +0 -18
- package/dist/generated/model/getMySession200Factors.d.ts.map +0 -1
- package/dist/generated/model/getSession200Factors.d.ts +0 -18
- package/dist/generated/model/getSession200Factors.d.ts.map +0 -1
- package/dist/generated/model/index.d.mts.map +0 -1
- package/dist/generated/model/listSessions200SessionsItemFactors.d.ts +0 -18
- package/dist/generated/model/listSessions200SessionsItemFactors.d.ts.map +0 -1
- package/dist/index-DlEenfQJ.d.mts.map +0 -1
- package/dist/zitadelNextGen-C-fBEgnH.d.mts.map +0 -1
|
@@ -585,6 +585,41 @@ export const GetUserByIDQueryParams = zod.strictObject({
|
|
|
585
585
|
|
|
586
586
|
export const GetUserByIDResponse = zod.record(zod.string(), zod.unknown());
|
|
587
587
|
|
|
588
|
+
/**
|
|
589
|
+
* @summary Set user password
|
|
590
|
+
*/
|
|
591
|
+
export const setUserPasswordPathUserIdRegExp = new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
592
|
+
|
|
593
|
+
export const SetUserPasswordParams = zod.object({
|
|
594
|
+
user_id: zod.string().regex(setUserPasswordPathUserIdRegExp),
|
|
595
|
+
});
|
|
596
|
+
|
|
597
|
+
export const setUserPasswordQueryProjectIdRegExp = new RegExp("^[a-zA-Z0-9_-]+$");
|
|
598
|
+
|
|
599
|
+
export const SetUserPasswordQueryParams = zod.strictObject({
|
|
600
|
+
project_id: zod
|
|
601
|
+
.string()
|
|
602
|
+
.regex(setUserPasswordQueryProjectIdRegExp)
|
|
603
|
+
.describe("The unique identifier of the project"),
|
|
604
|
+
});
|
|
605
|
+
|
|
606
|
+
export const SetUserPasswordBody = zod
|
|
607
|
+
.object({
|
|
608
|
+
password: zod.string().describe("The new password for the user."),
|
|
609
|
+
isChangeRequired: zod
|
|
610
|
+
.boolean()
|
|
611
|
+
.optional()
|
|
612
|
+
.describe(
|
|
613
|
+
"Whether the user is required to change their password on the next login.\nIf not provided, it will default to false.\n",
|
|
614
|
+
),
|
|
615
|
+
})
|
|
616
|
+
.describe("Request to update the user's password.");
|
|
617
|
+
|
|
618
|
+
/**
|
|
619
|
+
* @summary Get my user information
|
|
620
|
+
*/
|
|
621
|
+
export const GetMyUserResponse = zod.record(zod.string(), zod.unknown());
|
|
622
|
+
|
|
588
623
|
/**
|
|
589
624
|
* Resolves a flow definition based on purpose + audience context and returns
|
|
590
625
|
the first capability step. Creates a new session implicitly unless
|
|
@@ -941,6 +976,15 @@ export const SubmitFlowStepParams = zod.object({
|
|
|
941
976
|
),
|
|
942
977
|
});
|
|
943
978
|
|
|
979
|
+
export const SubmitFlowStepHeader = zod.strictObject({
|
|
980
|
+
Origin: zod
|
|
981
|
+
.url()
|
|
982
|
+
.optional()
|
|
983
|
+
.describe(
|
|
984
|
+
"Standard browser `Origin` header. When a step issues a passkey\nchallenge, the server derives the WebAuthn relying-party id and the\nallowed origin from this value. Browsers send it automatically on the\nfetch POST; no client action is required.\n",
|
|
985
|
+
),
|
|
986
|
+
});
|
|
987
|
+
|
|
944
988
|
export const SubmitFlowStepBody = zod.object({
|
|
945
989
|
session_token: zod
|
|
946
990
|
.string()
|
|
@@ -3137,7 +3181,7 @@ export const ListFlowDefinitionsQueryParams = zod.strictObject({
|
|
|
3137
3181
|
project_id: zod
|
|
3138
3182
|
.string()
|
|
3139
3183
|
.regex(listFlowDefinitionsQueryProjectIdRegExp)
|
|
3140
|
-
.describe("The
|
|
3184
|
+
.describe("The project id to filter by."),
|
|
3141
3185
|
purpose: zod
|
|
3142
3186
|
.enum(["login", "register", "recovery", "profiling", "reauth", "link_account"])
|
|
3143
3187
|
.optional()
|
|
@@ -3162,6 +3206,7 @@ export const ListFlowDefinitionsResponse = zod.object({
|
|
|
3162
3206
|
.describe("Identifier of the project this flow definition belongs to."),
|
|
3163
3207
|
schema_uri: zod
|
|
3164
3208
|
.url()
|
|
3209
|
+
.optional()
|
|
3165
3210
|
.describe(
|
|
3166
3211
|
"URI of the flow definition schema this definition was authored against.\nIf the schema_uri was not provided in the request, the flow definition is validated against the latest version of the schema, and the response includes the schema_uri of the latest version.\n",
|
|
3167
3212
|
),
|
|
@@ -3191,30 +3236,232 @@ export const GetFlowDefinitionParams = zod.object({
|
|
|
3191
3236
|
id: zod.string().describe("The id returned by the POST \/flow_definitions endpoint.\n"),
|
|
3192
3237
|
});
|
|
3193
3238
|
|
|
3194
|
-
export const
|
|
3195
|
-
|
|
3196
|
-
export const
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3239
|
+
export const getFlowDefinitionQueryProjectIdRegExp = new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3240
|
+
|
|
3241
|
+
export const GetFlowDefinitionQueryParams = zod.strictObject({
|
|
3242
|
+
project_id: zod
|
|
3243
|
+
.string()
|
|
3244
|
+
.regex(getFlowDefinitionQueryProjectIdRegExp)
|
|
3245
|
+
.describe("The project id to filter by."),
|
|
3246
|
+
});
|
|
3247
|
+
|
|
3248
|
+
export const getFlowDefinitionResponseFlowDefinitionNameRegExp = new RegExp("^[a-z][a-z0-9-]\*$");
|
|
3249
|
+
export const getFlowDefinitionResponseFlowDefinitionStepsItemFieldsDefault = [];
|
|
3250
|
+
export const getFlowDefinitionResponseFlowDefinitionStepsItemActionsPrimaryDefault = false;
|
|
3251
|
+
export const getFlowDefinitionResponseFlowDefinitionStepsItemActionsDefault = {} as const;
|
|
3252
|
+
export const getFlowDefinitionResponseFlowDefinitionStepsItemGatesDefault = {} as const;
|
|
3253
|
+
export const getFlowDefinitionResponseFlowDefinitionStepsItemSsoProvidersDefault = [];
|
|
3254
|
+
|
|
3255
|
+
export const GetFlowDefinitionResponse = zod.object({
|
|
3256
|
+
id: zod.string().describe("Unique identifier for the flow definition."),
|
|
3257
|
+
project_id: zod.string().describe("Identifier of the project this flow definition belongs to."),
|
|
3258
|
+
status: zod.string().describe("Status of the flow definition."),
|
|
3259
|
+
flow_definition: zod
|
|
3260
|
+
.object({
|
|
3261
|
+
name: zod
|
|
3262
|
+
.string()
|
|
3263
|
+
.regex(getFlowDefinitionResponseFlowDefinitionNameRegExp)
|
|
3264
|
+
.describe(
|
|
3265
|
+
"Stable identifier for this flow, used as the target of cross-flow\n`switch` and `pivot` transitions. Renaming is not supported — the\n`name` is part of the public contract another definition may\nreference. Acts as the human display label as well; no separate slug.\n",
|
|
3266
|
+
),
|
|
3267
|
+
user_schema: zod
|
|
3268
|
+
.url()
|
|
3269
|
+
.describe(
|
|
3270
|
+
"User schema this flow operates on. Step `fields` reference properties\ndefined in this schema. The engine resolves field types, validation,\nand implicit outcomes from schema annotations at runtime.\n",
|
|
3271
|
+
),
|
|
3272
|
+
purposes: zod
|
|
3273
|
+
.record(zod.string(), zod.string())
|
|
3274
|
+
.describe(
|
|
3275
|
+
"Maps each purpose this definition handles to its entry-point step.\nKeys are purpose names; values must match a `name` in `steps`. A\ndefinition can serve multiple purposes (e.g. a combined login\/register\nflow) by listing one entry per purpose.\n",
|
|
3276
|
+
),
|
|
3277
|
+
audience: zod
|
|
3278
|
+
.object({
|
|
3279
|
+
team_ids: zod
|
|
3280
|
+
.array(zod.string())
|
|
3281
|
+
.optional()
|
|
3282
|
+
.describe(
|
|
3283
|
+
"Restrict to specific teams (organizations). Empty means no team restriction.",
|
|
3284
|
+
),
|
|
3285
|
+
app_ids: zod
|
|
3286
|
+
.array(zod.string())
|
|
3287
|
+
.optional()
|
|
3288
|
+
.describe("Restrict to specific applications. Empty means no app restriction."),
|
|
3289
|
+
})
|
|
3290
|
+
.optional()
|
|
3291
|
+
.describe(
|
|
3292
|
+
'Scopes which teams or apps this flow definition applies to. Empty or\nomitted fields mean \"no restriction\"; when both are empty the definition\nmatches every request in the project. The engine picks the most specific\nmatching definition: app > team > project-wide.\n',
|
|
3293
|
+
),
|
|
3294
|
+
steps: zod
|
|
3295
|
+
.array(
|
|
3296
|
+
zod
|
|
3297
|
+
.object({
|
|
3298
|
+
name: zod
|
|
3299
|
+
.string()
|
|
3300
|
+
.describe(
|
|
3301
|
+
"Unique step identifier within this flow. Used as transition targets\nand returned in the API response as `step.name`.\n",
|
|
3302
|
+
),
|
|
3303
|
+
fields: zod
|
|
3304
|
+
.array(zod.string())
|
|
3305
|
+
.default(getFlowDefinitionResponseFlowDefinitionStepsItemFieldsDefault)
|
|
3306
|
+
.describe(
|
|
3307
|
+
"Schema property names to collect from the user. Each entry references\na property in the flow's user schema. The engine resolves field type,\nvalidation rules, and implicit outcomes from schema annotations\n(e.g. a property with `x-unique` set implies a `user_not_found`\ntransition outcome).\n",
|
|
3308
|
+
),
|
|
3309
|
+
actions: zod
|
|
3310
|
+
.record(
|
|
3311
|
+
zod.string(),
|
|
3312
|
+
zod
|
|
3313
|
+
.object({
|
|
3314
|
+
primary: zod
|
|
3315
|
+
.boolean()
|
|
3316
|
+
.default(
|
|
3317
|
+
getFlowDefinitionResponseFlowDefinitionStepsItemActionsPrimaryDefault,
|
|
3318
|
+
)
|
|
3319
|
+
.describe(
|
|
3320
|
+
"Marks this as the default\/primary action. The runtime template uses\nthis hint to choose visual emphasis. At most one action per step\nshould be primary; this is not enforced here.\n",
|
|
3321
|
+
),
|
|
3322
|
+
text_key: zod
|
|
3323
|
+
.string()
|
|
3324
|
+
.optional()
|
|
3325
|
+
.describe(
|
|
3326
|
+
"Optional localization key override for the action's label. When\nomitted, the engine derives a key from the step and action names.\nDisplay text is resolved client-side from a locale dictionary, never\nby the engine.\n",
|
|
3327
|
+
),
|
|
3328
|
+
})
|
|
3329
|
+
.describe(
|
|
3330
|
+
"Configuration for a user-invokable action on a step. Keyed by action name\nin the parent dictionary. The action name is sent back in the submit\nrequest as `action`.\n",
|
|
3331
|
+
),
|
|
3332
|
+
)
|
|
3333
|
+
.default(getFlowDefinitionResponseFlowDefinitionStepsItemActionsDefault)
|
|
3334
|
+
.describe(
|
|
3335
|
+
"Actions the user can take. Keyed by action name.\nThe action name is what the frontend sends back in the submit request.\nIf omitted, the engine provides a default `submit` action.\n",
|
|
3336
|
+
),
|
|
3337
|
+
gates: zod
|
|
3338
|
+
.record(
|
|
3339
|
+
zod.string(),
|
|
3340
|
+
zod
|
|
3341
|
+
.object({
|
|
3342
|
+
kind: zod
|
|
3343
|
+
.enum(["captcha"])
|
|
3344
|
+
.describe(
|
|
3345
|
+
"The gate category. Only `captcha` is currently defined. Authenticator\nceremonies (e.g. passkey) are modelled as credential auth_attempts via\n`x-credential` on a field, not as gates.\n",
|
|
3346
|
+
),
|
|
3347
|
+
provider: zod
|
|
3348
|
+
.string()
|
|
3349
|
+
.describe(
|
|
3350
|
+
"Provider identifier within the gate kind — e.g. `altcha`, `turnstile`,\n`hcaptcha`. The engine looks up an implementation in its provider\nregistry.\n",
|
|
3351
|
+
),
|
|
3352
|
+
config: zod
|
|
3353
|
+
.record(zod.string(), zod.unknown())
|
|
3354
|
+
.optional()
|
|
3355
|
+
.describe(
|
|
3356
|
+
"Provider-specific configuration consumed by the implementation when\nissuing the per-render challenge. Opaque to the engine.\n",
|
|
3357
|
+
),
|
|
3358
|
+
})
|
|
3359
|
+
.describe(
|
|
3360
|
+
"A security challenge that must be satisfied before this step's submission\nis accepted. The engine may also inject gates at runtime based on policy\nor risk evaluation.\n",
|
|
3361
|
+
),
|
|
3362
|
+
)
|
|
3363
|
+
.default(getFlowDefinitionResponseFlowDefinitionStepsItemGatesDefault)
|
|
3364
|
+
.describe(
|
|
3365
|
+
'Security gates that must be satisfied before submission. Keyed by gate\nname. Each gate selects a kind (e.g. \"captcha\") and provider-specific\nconfiguration. The engine may also inject gates dynamically based on\npolicy.\n',
|
|
3366
|
+
),
|
|
3367
|
+
sso_providers: zod
|
|
3368
|
+
.array(
|
|
3369
|
+
zod
|
|
3370
|
+
.object({
|
|
3371
|
+
id: zod.string().describe("Provider instance identifier."),
|
|
3372
|
+
name: zod.string().describe("Display name for the provider."),
|
|
3373
|
+
template: zod
|
|
3374
|
+
.string()
|
|
3375
|
+
.describe("Template hint for rendering (logo, colors)."),
|
|
3376
|
+
})
|
|
3377
|
+
.describe("An available SSO identity provider."),
|
|
3378
|
+
)
|
|
3379
|
+
.default(getFlowDefinitionResponseFlowDefinitionStepsItemSsoProvidersDefault)
|
|
3380
|
+
.describe("Available SSO identity providers for this step."),
|
|
3381
|
+
on_success: zod
|
|
3382
|
+
.enum(["create_user"])
|
|
3383
|
+
.optional()
|
|
3384
|
+
.describe(
|
|
3385
|
+
"Server-side mutation to execute when this step completes successfully.\nRuns after field validation passes, before the transition fires.\n\n- create_user: creates the user record (registration flows)\n",
|
|
3386
|
+
),
|
|
3387
|
+
complete: zod
|
|
3388
|
+
.enum(["redirect", "show"])
|
|
3389
|
+
.optional()
|
|
3390
|
+
.describe(
|
|
3391
|
+
"Marks this as a terminal step. Tells the frontend what to do:\n- redirect: navigate to redirect_uri (OIDC\/SAML callback done)\n- show: render as a success\/info screen\n",
|
|
3392
|
+
),
|
|
3393
|
+
transitions: zod
|
|
3394
|
+
.record(
|
|
3395
|
+
zod.string(),
|
|
3396
|
+
zod.object({
|
|
3397
|
+
target: zod
|
|
3398
|
+
.string()
|
|
3399
|
+
.describe(
|
|
3400
|
+
"Step name within this flow (when `action` is null), or the name\nof another flow (when `action` is `switch` or `pivot`).\n",
|
|
3401
|
+
),
|
|
3402
|
+
action: zod
|
|
3403
|
+
.union([zod.enum(["switch", "pivot"]), zod.null()])
|
|
3404
|
+
.optional()
|
|
3405
|
+
.describe(
|
|
3406
|
+
"How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n",
|
|
3407
|
+
),
|
|
3408
|
+
}),
|
|
3409
|
+
)
|
|
3410
|
+
.optional()
|
|
3411
|
+
.describe(
|
|
3412
|
+
"Maps action\/outcome names to their transition descriptor.\n\nKeys match action names from the `actions` dict. Additional keys\ncome from implicit outcomes based on schema annotations\n(e.g. `user_not_found` from `x-unique` fields) and engine\nevents (e.g. `sso`, `callback`).\n",
|
|
3413
|
+
),
|
|
3414
|
+
})
|
|
3415
|
+
.describe(
|
|
3416
|
+
"A step in a flow definition. This is the admin-authored configuration,\nnot the runtime payload sent to the frontend.\n\nSteps are schema-driven: `fields` references properties from the flow's\nuser schema, and the engine resolves field metadata (type, validation,\nimplicit outcomes) from schema annotations at runtime.\n\nA step with only `complete` set is a terminal step. All other steps are\nrendered to the frontend as capability payloads.\n",
|
|
3417
|
+
),
|
|
3418
|
+
)
|
|
3419
|
+
.min(1)
|
|
3420
|
+
.describe(
|
|
3421
|
+
"Ordered list of steps in this flow. The order is for human readability —\nactual step sequencing is determined by transitions.\n",
|
|
3422
|
+
),
|
|
3423
|
+
})
|
|
3424
|
+
.describe(
|
|
3425
|
+
"A flow definition is the server-side configuration that describes a complete\nauthentication or identity flow. It is NOT sent to the frontend — the flow\nengine evaluates it and produces FlowResponse payloads (steps with capability\ndictionaries) for the client.\n\nFlow definitions are created by administrators and stored in the project\/team\nconfiguration hierarchy. The engine selects the matching definition based on\nthe purpose + audience when a flow is created via POST \/flow.\n",
|
|
3426
|
+
),
|
|
3427
|
+
created_at: zod.iso.datetime({ offset: true }),
|
|
3428
|
+
updated_at: zod.iso.datetime({ offset: true }),
|
|
3429
|
+
});
|
|
3430
|
+
|
|
3431
|
+
/**
|
|
3432
|
+
* Update a flow definition by id
|
|
3433
|
+
* @summary Update a flow definition by id
|
|
3434
|
+
*/
|
|
3435
|
+
export const UpdateFlowDefinitionParams = zod.object({
|
|
3436
|
+
id: zod.string().describe("The id returned by the POST \/flow_definitions endpoint.\n"),
|
|
3437
|
+
});
|
|
3438
|
+
|
|
3439
|
+
export const updateFlowDefinitionQueryProjectIdRegExp = new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3440
|
+
|
|
3441
|
+
export const UpdateFlowDefinitionQueryParams = zod.strictObject({
|
|
3442
|
+
project_id: zod
|
|
3443
|
+
.string()
|
|
3444
|
+
.regex(updateFlowDefinitionQueryProjectIdRegExp)
|
|
3445
|
+
.describe("The project id to filter by."),
|
|
3446
|
+
});
|
|
3447
|
+
|
|
3448
|
+
export const updateFlowDefinitionBodyStepsItemFieldsDefault = [];
|
|
3449
|
+
export const updateFlowDefinitionBodyStepsItemActionsPrimaryDefault = false;
|
|
3450
|
+
export const updateFlowDefinitionBodyStepsItemActionsDefault = {} as const;
|
|
3451
|
+
export const updateFlowDefinitionBodyStepsItemGatesDefault = {} as const;
|
|
3452
|
+
export const updateFlowDefinitionBodyStepsItemSsoProvidersDefault = [];
|
|
3200
3453
|
|
|
3201
|
-
export const
|
|
3454
|
+
export const UpdateFlowDefinitionBody = zod
|
|
3202
3455
|
.object({
|
|
3203
|
-
name: zod
|
|
3204
|
-
.string()
|
|
3205
|
-
.regex(getFlowDefinitionResponseOneNameRegExp)
|
|
3206
|
-
.describe(
|
|
3207
|
-
"Stable identifier for this flow, used as the target of cross-flow\n`switch` and `pivot` transitions. Renaming is not supported — the\n`name` is part of the public contract another definition may\nreference. Acts as the human display label as well; no separate slug.\n",
|
|
3208
|
-
),
|
|
3209
3456
|
user_schema: zod
|
|
3210
3457
|
.url()
|
|
3211
|
-
.
|
|
3212
|
-
|
|
3213
|
-
),
|
|
3458
|
+
.optional()
|
|
3459
|
+
.describe("User schema this flow operates on. Replaces the current value if provided.\n"),
|
|
3214
3460
|
purposes: zod
|
|
3215
3461
|
.record(zod.string(), zod.string())
|
|
3462
|
+
.optional()
|
|
3216
3463
|
.describe(
|
|
3217
|
-
"
|
|
3464
|
+
"Replaces the full purpose-to-entry-step map if provided. Keys are\npurpose names; values must match a `name` in `steps`.\n",
|
|
3218
3465
|
),
|
|
3219
3466
|
audience: zod
|
|
3220
3467
|
.object({
|
|
@@ -3242,7 +3489,7 @@ export const GetFlowDefinitionResponse = zod
|
|
|
3242
3489
|
),
|
|
3243
3490
|
fields: zod
|
|
3244
3491
|
.array(zod.string())
|
|
3245
|
-
.default(
|
|
3492
|
+
.default(updateFlowDefinitionBodyStepsItemFieldsDefault)
|
|
3246
3493
|
.describe(
|
|
3247
3494
|
"Schema property names to collect from the user. Each entry references\na property in the flow's user schema. The engine resolves field type,\nvalidation rules, and implicit outcomes from schema annotations\n(e.g. a property with `x-unique` set implies a `user_not_found`\ntransition outcome).\n",
|
|
3248
3495
|
),
|
|
@@ -3253,7 +3500,7 @@ export const GetFlowDefinitionResponse = zod
|
|
|
3253
3500
|
.object({
|
|
3254
3501
|
primary: zod
|
|
3255
3502
|
.boolean()
|
|
3256
|
-
.default(
|
|
3503
|
+
.default(updateFlowDefinitionBodyStepsItemActionsPrimaryDefault)
|
|
3257
3504
|
.describe(
|
|
3258
3505
|
"Marks this as the default\/primary action. The runtime template uses\nthis hint to choose visual emphasis. At most one action per step\nshould be primary; this is not enforced here.\n",
|
|
3259
3506
|
),
|
|
@@ -3268,7 +3515,7 @@ export const GetFlowDefinitionResponse = zod
|
|
|
3268
3515
|
"Configuration for a user-invokable action on a step. Keyed by action name\nin the parent dictionary. The action name is sent back in the submit\nrequest as `action`.\n",
|
|
3269
3516
|
),
|
|
3270
3517
|
)
|
|
3271
|
-
.default(
|
|
3518
|
+
.default(updateFlowDefinitionBodyStepsItemActionsDefault)
|
|
3272
3519
|
.describe(
|
|
3273
3520
|
"Actions the user can take. Keyed by action name.\nThe action name is what the frontend sends back in the submit request.\nIf omitted, the engine provides a default `submit` action.\n",
|
|
3274
3521
|
),
|
|
@@ -3298,7 +3545,7 @@ export const GetFlowDefinitionResponse = zod
|
|
|
3298
3545
|
"A security challenge that must be satisfied before this step's submission\nis accepted. The engine may also inject gates at runtime based on policy\nor risk evaluation.\n",
|
|
3299
3546
|
),
|
|
3300
3547
|
)
|
|
3301
|
-
.default(
|
|
3548
|
+
.default(updateFlowDefinitionBodyStepsItemGatesDefault)
|
|
3302
3549
|
.describe(
|
|
3303
3550
|
'Security gates that must be satisfied before submission. Keyed by gate\nname. Each gate selects a kind (e.g. \"captcha\") and provider-specific\nconfiguration. The engine may also inject gates dynamically based on\npolicy.\n',
|
|
3304
3551
|
),
|
|
@@ -3312,7 +3559,7 @@ export const GetFlowDefinitionResponse = zod
|
|
|
3312
3559
|
})
|
|
3313
3560
|
.describe("An available SSO identity provider."),
|
|
3314
3561
|
)
|
|
3315
|
-
.default(
|
|
3562
|
+
.default(updateFlowDefinitionBodyStepsItemSsoProvidersDefault)
|
|
3316
3563
|
.describe("Available SSO identity providers for this step."),
|
|
3317
3564
|
on_success: zod
|
|
3318
3565
|
.enum(["create_user"])
|
|
@@ -3353,387 +3600,199 @@ export const GetFlowDefinitionResponse = zod
|
|
|
3353
3600
|
),
|
|
3354
3601
|
)
|
|
3355
3602
|
.min(1)
|
|
3603
|
+
.optional()
|
|
3356
3604
|
.describe(
|
|
3357
|
-
"
|
|
3605
|
+
"Replaces the full steps array if provided. Partial step lists are not\nsupported — supply all steps when updating this field.\n",
|
|
3358
3606
|
),
|
|
3359
3607
|
})
|
|
3360
3608
|
.describe(
|
|
3361
|
-
"
|
|
3362
|
-
)
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3609
|
+
"Partial update for a flow definition. Only provided fields are replaced;\nomitted fields retain their current server-side values.\n\nCollection fields (`steps`, `purposes`) are treated atomically: if\nprovided, the entire array\/object is replaced. If omitted, the current\nvalue is preserved unchanged.\n\n`name` is a stable identifier and cannot be changed after creation.\n",
|
|
3610
|
+
);
|
|
3611
|
+
|
|
3612
|
+
export const updateFlowDefinitionResponseFlowDefinitionNameRegExp = new RegExp(
|
|
3613
|
+
"^[a-z][a-z0-9-]\*$",
|
|
3614
|
+
);
|
|
3615
|
+
export const updateFlowDefinitionResponseFlowDefinitionStepsItemFieldsDefault = [];
|
|
3616
|
+
export const updateFlowDefinitionResponseFlowDefinitionStepsItemActionsPrimaryDefault = false;
|
|
3617
|
+
export const updateFlowDefinitionResponseFlowDefinitionStepsItemActionsDefault = {} as const;
|
|
3618
|
+
export const updateFlowDefinitionResponseFlowDefinitionStepsItemGatesDefault = {} as const;
|
|
3619
|
+
export const updateFlowDefinitionResponseFlowDefinitionStepsItemSsoProvidersDefault = [];
|
|
3620
|
+
|
|
3621
|
+
export const UpdateFlowDefinitionResponse = zod.object({
|
|
3622
|
+
id: zod.string().describe("Unique identifier for the flow definition."),
|
|
3623
|
+
project_id: zod.string().describe("Identifier of the project this flow definition belongs to."),
|
|
3624
|
+
status: zod.string().describe("Status of the flow definition."),
|
|
3625
|
+
flow_definition: zod
|
|
3626
|
+
.object({
|
|
3627
|
+
name: zod
|
|
3367
3628
|
.string()
|
|
3368
|
-
.
|
|
3369
|
-
|
|
3629
|
+
.regex(updateFlowDefinitionResponseFlowDefinitionNameRegExp)
|
|
3630
|
+
.describe(
|
|
3631
|
+
"Stable identifier for this flow, used as the target of cross-flow\n`switch` and `pivot` transitions. Renaming is not supported — the\n`name` is part of the public contract another definition may\nreference. Acts as the human display label as well; no separate slug.\n",
|
|
3632
|
+
),
|
|
3633
|
+
user_schema: zod
|
|
3370
3634
|
.url()
|
|
3371
3635
|
.describe(
|
|
3372
|
-
"
|
|
3636
|
+
"User schema this flow operates on. Step `fields` reference properties\ndefined in this schema. The engine resolves field types, validation,\nand implicit outcomes from schema annotations at runtime.\n",
|
|
3373
3637
|
),
|
|
3374
|
-
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
|
|
3378
|
-
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
|
|
3424
|
-
|
|
3425
|
-
|
|
3426
|
-
|
|
3427
|
-
|
|
3428
|
-
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
.array(zod.string())
|
|
3432
|
-
.default(updateFlowDefinitionBodyStepsItemFieldsDefault)
|
|
3433
|
-
.describe(
|
|
3434
|
-
"Schema property names to collect from the user. Each entry references\na property in the flow's user schema. The engine resolves field type,\nvalidation rules, and implicit outcomes from schema annotations\n(e.g. a property with `x-unique` set implies a `user_not_found`\ntransition outcome).\n",
|
|
3435
|
-
),
|
|
3436
|
-
actions: zod
|
|
3437
|
-
.record(
|
|
3438
|
-
zod.string(),
|
|
3439
|
-
zod
|
|
3440
|
-
.object({
|
|
3441
|
-
primary: zod
|
|
3442
|
-
.boolean()
|
|
3443
|
-
.default(updateFlowDefinitionBodyStepsItemActionsPrimaryDefault)
|
|
3444
|
-
.describe(
|
|
3445
|
-
"Marks this as the default\/primary action. The runtime template uses\nthis hint to choose visual emphasis. At most one action per step\nshould be primary; this is not enforced here.\n",
|
|
3446
|
-
),
|
|
3447
|
-
text_key: zod
|
|
3448
|
-
.string()
|
|
3449
|
-
.optional()
|
|
3450
|
-
.describe(
|
|
3451
|
-
"Optional localization key override for the action's label. When\nomitted, the engine derives a key from the step and action names.\nDisplay text is resolved client-side from a locale dictionary, never\nby the engine.\n",
|
|
3452
|
-
),
|
|
3453
|
-
})
|
|
3454
|
-
.describe(
|
|
3455
|
-
"Configuration for a user-invokable action on a step. Keyed by action name\nin the parent dictionary. The action name is sent back in the submit\nrequest as `action`.\n",
|
|
3456
|
-
),
|
|
3457
|
-
)
|
|
3458
|
-
.default(updateFlowDefinitionBodyStepsItemActionsDefault)
|
|
3459
|
-
.describe(
|
|
3460
|
-
"Actions the user can take. Keyed by action name.\nThe action name is what the frontend sends back in the submit request.\nIf omitted, the engine provides a default `submit` action.\n",
|
|
3461
|
-
),
|
|
3462
|
-
gates: zod
|
|
3463
|
-
.record(
|
|
3464
|
-
zod.string(),
|
|
3465
|
-
zod
|
|
3466
|
-
.object({
|
|
3467
|
-
kind: zod
|
|
3468
|
-
.enum(["captcha"])
|
|
3469
|
-
.describe(
|
|
3470
|
-
"The gate category. Only `captcha` is currently defined. Authenticator\nceremonies (e.g. passkey) are modelled as credential auth_attempts via\n`x-credential` on a field, not as gates.\n",
|
|
3471
|
-
),
|
|
3472
|
-
provider: zod
|
|
3473
|
-
.string()
|
|
3474
|
-
.describe(
|
|
3475
|
-
"Provider identifier within the gate kind — e.g. `altcha`, `turnstile`,\n`hcaptcha`. The engine looks up an implementation in its provider\nregistry.\n",
|
|
3476
|
-
),
|
|
3477
|
-
config: zod
|
|
3478
|
-
.record(zod.string(), zod.unknown())
|
|
3479
|
-
.optional()
|
|
3480
|
-
.describe(
|
|
3481
|
-
"Provider-specific configuration consumed by the implementation when\nissuing the per-render challenge. Opaque to the engine.\n",
|
|
3482
|
-
),
|
|
3483
|
-
})
|
|
3484
|
-
.describe(
|
|
3485
|
-
"A security challenge that must be satisfied before this step's submission\nis accepted. The engine may also inject gates at runtime based on policy\nor risk evaluation.\n",
|
|
3486
|
-
),
|
|
3487
|
-
)
|
|
3488
|
-
.default(updateFlowDefinitionBodyStepsItemGatesDefault)
|
|
3489
|
-
.describe(
|
|
3490
|
-
'Security gates that must be satisfied before submission. Keyed by gate\nname. Each gate selects a kind (e.g. \"captcha\") and provider-specific\nconfiguration. The engine may also inject gates dynamically based on\npolicy.\n',
|
|
3491
|
-
),
|
|
3492
|
-
sso_providers: zod
|
|
3493
|
-
.array(
|
|
3494
|
-
zod
|
|
3495
|
-
.object({
|
|
3496
|
-
id: zod.string().describe("Provider instance identifier."),
|
|
3497
|
-
name: zod.string().describe("Display name for the provider."),
|
|
3498
|
-
template: zod.string().describe("Template hint for rendering (logo, colors)."),
|
|
3499
|
-
})
|
|
3500
|
-
.describe("An available SSO identity provider."),
|
|
3501
|
-
)
|
|
3502
|
-
.default(updateFlowDefinitionBodyStepsItemSsoProvidersDefault)
|
|
3503
|
-
.describe("Available SSO identity providers for this step."),
|
|
3504
|
-
on_success: zod
|
|
3505
|
-
.enum(["create_user"])
|
|
3506
|
-
.optional()
|
|
3507
|
-
.describe(
|
|
3508
|
-
"Server-side mutation to execute when this step completes successfully.\nRuns after field validation passes, before the transition fires.\n\n- create_user: creates the user record (registration flows)\n",
|
|
3509
|
-
),
|
|
3510
|
-
complete: zod
|
|
3511
|
-
.enum(["redirect", "show"])
|
|
3512
|
-
.optional()
|
|
3513
|
-
.describe(
|
|
3514
|
-
"Marks this as a terminal step. Tells the frontend what to do:\n- redirect: navigate to redirect_uri (OIDC\/SAML callback done)\n- show: render as a success\/info screen\n",
|
|
3515
|
-
),
|
|
3516
|
-
transitions: zod
|
|
3517
|
-
.record(
|
|
3518
|
-
zod.string(),
|
|
3519
|
-
zod.object({
|
|
3520
|
-
target: zod
|
|
3521
|
-
.string()
|
|
3638
|
+
purposes: zod
|
|
3639
|
+
.record(zod.string(), zod.string())
|
|
3640
|
+
.describe(
|
|
3641
|
+
"Maps each purpose this definition handles to its entry-point step.\nKeys are purpose names; values must match a `name` in `steps`. A\ndefinition can serve multiple purposes (e.g. a combined login\/register\nflow) by listing one entry per purpose.\n",
|
|
3642
|
+
),
|
|
3643
|
+
audience: zod
|
|
3644
|
+
.object({
|
|
3645
|
+
team_ids: zod
|
|
3646
|
+
.array(zod.string())
|
|
3647
|
+
.optional()
|
|
3648
|
+
.describe(
|
|
3649
|
+
"Restrict to specific teams (organizations). Empty means no team restriction.",
|
|
3650
|
+
),
|
|
3651
|
+
app_ids: zod
|
|
3652
|
+
.array(zod.string())
|
|
3653
|
+
.optional()
|
|
3654
|
+
.describe("Restrict to specific applications. Empty means no app restriction."),
|
|
3655
|
+
})
|
|
3656
|
+
.optional()
|
|
3657
|
+
.describe(
|
|
3658
|
+
'Scopes which teams or apps this flow definition applies to. Empty or\nomitted fields mean \"no restriction\"; when both are empty the definition\nmatches every request in the project. The engine picks the most specific\nmatching definition: app > team > project-wide.\n',
|
|
3659
|
+
),
|
|
3660
|
+
steps: zod
|
|
3661
|
+
.array(
|
|
3662
|
+
zod
|
|
3663
|
+
.object({
|
|
3664
|
+
name: zod
|
|
3665
|
+
.string()
|
|
3666
|
+
.describe(
|
|
3667
|
+
"Unique step identifier within this flow. Used as transition targets\nand returned in the API response as `step.name`.\n",
|
|
3668
|
+
),
|
|
3669
|
+
fields: zod
|
|
3670
|
+
.array(zod.string())
|
|
3671
|
+
.default(updateFlowDefinitionResponseFlowDefinitionStepsItemFieldsDefault)
|
|
3672
|
+
.describe(
|
|
3673
|
+
"Schema property names to collect from the user. Each entry references\na property in the flow's user schema. The engine resolves field type,\nvalidation rules, and implicit outcomes from schema annotations\n(e.g. a property with `x-unique` set implies a `user_not_found`\ntransition outcome).\n",
|
|
3674
|
+
),
|
|
3675
|
+
actions: zod
|
|
3676
|
+
.record(
|
|
3677
|
+
zod.string(),
|
|
3678
|
+
zod
|
|
3679
|
+
.object({
|
|
3680
|
+
primary: zod
|
|
3681
|
+
.boolean()
|
|
3682
|
+
.default(
|
|
3683
|
+
updateFlowDefinitionResponseFlowDefinitionStepsItemActionsPrimaryDefault,
|
|
3684
|
+
)
|
|
3685
|
+
.describe(
|
|
3686
|
+
"Marks this as the default\/primary action. The runtime template uses\nthis hint to choose visual emphasis. At most one action per step\nshould be primary; this is not enforced here.\n",
|
|
3687
|
+
),
|
|
3688
|
+
text_key: zod
|
|
3689
|
+
.string()
|
|
3690
|
+
.optional()
|
|
3691
|
+
.describe(
|
|
3692
|
+
"Optional localization key override for the action's label. When\nomitted, the engine derives a key from the step and action names.\nDisplay text is resolved client-side from a locale dictionary, never\nby the engine.\n",
|
|
3693
|
+
),
|
|
3694
|
+
})
|
|
3522
3695
|
.describe(
|
|
3523
|
-
"
|
|
3696
|
+
"Configuration for a user-invokable action on a step. Keyed by action name\nin the parent dictionary. The action name is sent back in the submit\nrequest as `action`.\n",
|
|
3524
3697
|
),
|
|
3525
|
-
|
|
3526
|
-
|
|
3527
|
-
|
|
3698
|
+
)
|
|
3699
|
+
.default(updateFlowDefinitionResponseFlowDefinitionStepsItemActionsDefault)
|
|
3700
|
+
.describe(
|
|
3701
|
+
"Actions the user can take. Keyed by action name.\nThe action name is what the frontend sends back in the submit request.\nIf omitted, the engine provides a default `submit` action.\n",
|
|
3702
|
+
),
|
|
3703
|
+
gates: zod
|
|
3704
|
+
.record(
|
|
3705
|
+
zod.string(),
|
|
3706
|
+
zod
|
|
3707
|
+
.object({
|
|
3708
|
+
kind: zod
|
|
3709
|
+
.enum(["captcha"])
|
|
3710
|
+
.describe(
|
|
3711
|
+
"The gate category. Only `captcha` is currently defined. Authenticator\nceremonies (e.g. passkey) are modelled as credential auth_attempts via\n`x-credential` on a field, not as gates.\n",
|
|
3712
|
+
),
|
|
3713
|
+
provider: zod
|
|
3714
|
+
.string()
|
|
3715
|
+
.describe(
|
|
3716
|
+
"Provider identifier within the gate kind — e.g. `altcha`, `turnstile`,\n`hcaptcha`. The engine looks up an implementation in its provider\nregistry.\n",
|
|
3717
|
+
),
|
|
3718
|
+
config: zod
|
|
3719
|
+
.record(zod.string(), zod.unknown())
|
|
3720
|
+
.optional()
|
|
3721
|
+
.describe(
|
|
3722
|
+
"Provider-specific configuration consumed by the implementation when\nissuing the per-render challenge. Opaque to the engine.\n",
|
|
3723
|
+
),
|
|
3724
|
+
})
|
|
3528
3725
|
.describe(
|
|
3529
|
-
"
|
|
3726
|
+
"A security challenge that must be satisfied before this step's submission\nis accepted. The engine may also inject gates at runtime based on policy\nor risk evaluation.\n",
|
|
3530
3727
|
),
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
user_schema: zod
|
|
3568
|
-
.url()
|
|
3569
|
-
.describe(
|
|
3570
|
-
"User schema this flow operates on. Step `fields` reference properties\ndefined in this schema. The engine resolves field types, validation,\nand implicit outcomes from schema annotations at runtime.\n",
|
|
3571
|
-
),
|
|
3572
|
-
purposes: zod
|
|
3573
|
-
.record(zod.string(), zod.string())
|
|
3574
|
-
.describe(
|
|
3575
|
-
"Maps each purpose this definition handles to its entry-point step.\nKeys are purpose names; values must match a `name` in `steps`. A\ndefinition can serve multiple purposes (e.g. a combined login\/register\nflow) by listing one entry per purpose.\n",
|
|
3576
|
-
),
|
|
3577
|
-
audience: zod
|
|
3578
|
-
.object({
|
|
3579
|
-
team_ids: zod
|
|
3580
|
-
.array(zod.string())
|
|
3581
|
-
.optional()
|
|
3582
|
-
.describe("Restrict to specific teams (organizations). Empty means no team restriction."),
|
|
3583
|
-
app_ids: zod
|
|
3584
|
-
.array(zod.string())
|
|
3585
|
-
.optional()
|
|
3586
|
-
.describe("Restrict to specific applications. Empty means no app restriction."),
|
|
3587
|
-
})
|
|
3588
|
-
.optional()
|
|
3589
|
-
.describe(
|
|
3590
|
-
'Scopes which teams or apps this flow definition applies to. Empty or\nomitted fields mean \"no restriction\"; when both are empty the definition\nmatches every request in the project. The engine picks the most specific\nmatching definition: app > team > project-wide.\n',
|
|
3591
|
-
),
|
|
3592
|
-
steps: zod
|
|
3593
|
-
.array(
|
|
3594
|
-
zod
|
|
3595
|
-
.object({
|
|
3596
|
-
name: zod
|
|
3597
|
-
.string()
|
|
3598
|
-
.describe(
|
|
3599
|
-
"Unique step identifier within this flow. Used as transition targets\nand returned in the API response as `step.name`.\n",
|
|
3600
|
-
),
|
|
3601
|
-
fields: zod
|
|
3602
|
-
.array(zod.string())
|
|
3603
|
-
.default(updateFlowDefinitionResponseOneStepsItemFieldsDefault)
|
|
3604
|
-
.describe(
|
|
3605
|
-
"Schema property names to collect from the user. Each entry references\na property in the flow's user schema. The engine resolves field type,\nvalidation rules, and implicit outcomes from schema annotations\n(e.g. a property with `x-unique` set implies a `user_not_found`\ntransition outcome).\n",
|
|
3606
|
-
),
|
|
3607
|
-
actions: zod
|
|
3608
|
-
.record(
|
|
3609
|
-
zod.string(),
|
|
3610
|
-
zod
|
|
3611
|
-
.object({
|
|
3612
|
-
primary: zod
|
|
3613
|
-
.boolean()
|
|
3614
|
-
.default(updateFlowDefinitionResponseOneStepsItemActionsPrimaryDefault)
|
|
3615
|
-
.describe(
|
|
3616
|
-
"Marks this as the default\/primary action. The runtime template uses\nthis hint to choose visual emphasis. At most one action per step\nshould be primary; this is not enforced here.\n",
|
|
3617
|
-
),
|
|
3618
|
-
text_key: zod
|
|
3619
|
-
.string()
|
|
3620
|
-
.optional()
|
|
3621
|
-
.describe(
|
|
3622
|
-
"Optional localization key override for the action's label. When\nomitted, the engine derives a key from the step and action names.\nDisplay text is resolved client-side from a locale dictionary, never\nby the engine.\n",
|
|
3623
|
-
),
|
|
3624
|
-
})
|
|
3625
|
-
.describe(
|
|
3626
|
-
"Configuration for a user-invokable action on a step. Keyed by action name\nin the parent dictionary. The action name is sent back in the submit\nrequest as `action`.\n",
|
|
3627
|
-
),
|
|
3628
|
-
)
|
|
3629
|
-
.default(updateFlowDefinitionResponseOneStepsItemActionsDefault)
|
|
3630
|
-
.describe(
|
|
3631
|
-
"Actions the user can take. Keyed by action name.\nThe action name is what the frontend sends back in the submit request.\nIf omitted, the engine provides a default `submit` action.\n",
|
|
3632
|
-
),
|
|
3633
|
-
gates: zod
|
|
3634
|
-
.record(
|
|
3635
|
-
zod.string(),
|
|
3636
|
-
zod
|
|
3637
|
-
.object({
|
|
3638
|
-
kind: zod
|
|
3639
|
-
.enum(["captcha"])
|
|
3640
|
-
.describe(
|
|
3641
|
-
"The gate category. Only `captcha` is currently defined. Authenticator\nceremonies (e.g. passkey) are modelled as credential auth_attempts via\n`x-credential` on a field, not as gates.\n",
|
|
3642
|
-
),
|
|
3643
|
-
provider: zod
|
|
3728
|
+
)
|
|
3729
|
+
.default(updateFlowDefinitionResponseFlowDefinitionStepsItemGatesDefault)
|
|
3730
|
+
.describe(
|
|
3731
|
+
'Security gates that must be satisfied before submission. Keyed by gate\nname. Each gate selects a kind (e.g. \"captcha\") and provider-specific\nconfiguration. The engine may also inject gates dynamically based on\npolicy.\n',
|
|
3732
|
+
),
|
|
3733
|
+
sso_providers: zod
|
|
3734
|
+
.array(
|
|
3735
|
+
zod
|
|
3736
|
+
.object({
|
|
3737
|
+
id: zod.string().describe("Provider instance identifier."),
|
|
3738
|
+
name: zod.string().describe("Display name for the provider."),
|
|
3739
|
+
template: zod
|
|
3740
|
+
.string()
|
|
3741
|
+
.describe("Template hint for rendering (logo, colors)."),
|
|
3742
|
+
})
|
|
3743
|
+
.describe("An available SSO identity provider."),
|
|
3744
|
+
)
|
|
3745
|
+
.default(updateFlowDefinitionResponseFlowDefinitionStepsItemSsoProvidersDefault)
|
|
3746
|
+
.describe("Available SSO identity providers for this step."),
|
|
3747
|
+
on_success: zod
|
|
3748
|
+
.enum(["create_user"])
|
|
3749
|
+
.optional()
|
|
3750
|
+
.describe(
|
|
3751
|
+
"Server-side mutation to execute when this step completes successfully.\nRuns after field validation passes, before the transition fires.\n\n- create_user: creates the user record (registration flows)\n",
|
|
3752
|
+
),
|
|
3753
|
+
complete: zod
|
|
3754
|
+
.enum(["redirect", "show"])
|
|
3755
|
+
.optional()
|
|
3756
|
+
.describe(
|
|
3757
|
+
"Marks this as a terminal step. Tells the frontend what to do:\n- redirect: navigate to redirect_uri (OIDC\/SAML callback done)\n- show: render as a success\/info screen\n",
|
|
3758
|
+
),
|
|
3759
|
+
transitions: zod
|
|
3760
|
+
.record(
|
|
3761
|
+
zod.string(),
|
|
3762
|
+
zod.object({
|
|
3763
|
+
target: zod
|
|
3644
3764
|
.string()
|
|
3645
3765
|
.describe(
|
|
3646
|
-
"
|
|
3766
|
+
"Step name within this flow (when `action` is null), or the name\nof another flow (when `action` is `switch` or `pivot`).\n",
|
|
3647
3767
|
),
|
|
3648
|
-
|
|
3649
|
-
.
|
|
3768
|
+
action: zod
|
|
3769
|
+
.union([zod.enum(["switch", "pivot"]), zod.null()])
|
|
3650
3770
|
.optional()
|
|
3651
3771
|
.describe(
|
|
3652
|
-
"
|
|
3772
|
+
"How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n",
|
|
3653
3773
|
),
|
|
3654
|
-
})
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
),
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
.object({
|
|
3667
|
-
id: zod.string().describe("Provider instance identifier."),
|
|
3668
|
-
name: zod.string().describe("Display name for the provider."),
|
|
3669
|
-
template: zod.string().describe("Template hint for rendering (logo, colors)."),
|
|
3670
|
-
})
|
|
3671
|
-
.describe("An available SSO identity provider."),
|
|
3672
|
-
)
|
|
3673
|
-
.default(updateFlowDefinitionResponseOneStepsItemSsoProvidersDefault)
|
|
3674
|
-
.describe("Available SSO identity providers for this step."),
|
|
3675
|
-
on_success: zod
|
|
3676
|
-
.enum(["create_user"])
|
|
3677
|
-
.optional()
|
|
3678
|
-
.describe(
|
|
3679
|
-
"Server-side mutation to execute when this step completes successfully.\nRuns after field validation passes, before the transition fires.\n\n- create_user: creates the user record (registration flows)\n",
|
|
3680
|
-
),
|
|
3681
|
-
complete: zod
|
|
3682
|
-
.enum(["redirect", "show"])
|
|
3683
|
-
.optional()
|
|
3684
|
-
.describe(
|
|
3685
|
-
"Marks this as a terminal step. Tells the frontend what to do:\n- redirect: navigate to redirect_uri (OIDC\/SAML callback done)\n- show: render as a success\/info screen\n",
|
|
3686
|
-
),
|
|
3687
|
-
transitions: zod
|
|
3688
|
-
.record(
|
|
3689
|
-
zod.string(),
|
|
3690
|
-
zod.object({
|
|
3691
|
-
target: zod
|
|
3692
|
-
.string()
|
|
3693
|
-
.describe(
|
|
3694
|
-
"Step name within this flow (when `action` is null), or the name\nof another flow (when `action` is `switch` or `pivot`).\n",
|
|
3695
|
-
),
|
|
3696
|
-
action: zod
|
|
3697
|
-
.union([zod.enum(["switch", "pivot"]), zod.null()])
|
|
3698
|
-
.optional()
|
|
3699
|
-
.describe(
|
|
3700
|
-
"How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n",
|
|
3701
|
-
),
|
|
3702
|
-
}),
|
|
3703
|
-
)
|
|
3704
|
-
.optional()
|
|
3705
|
-
.describe(
|
|
3706
|
-
"Maps action\/outcome names to their transition descriptor.\n\nKeys match action names from the `actions` dict. Additional keys\ncome from implicit outcomes based on schema annotations\n(e.g. `user_not_found` from `x-unique` fields) and engine\nevents (e.g. `sso`, `callback`).\n",
|
|
3707
|
-
),
|
|
3708
|
-
})
|
|
3709
|
-
.describe(
|
|
3710
|
-
"A step in a flow definition. This is the admin-authored configuration,\nnot the runtime payload sent to the frontend.\n\nSteps are schema-driven: `fields` references properties from the flow's\nuser schema, and the engine resolves field metadata (type, validation,\nimplicit outcomes) from schema annotations at runtime.\n\nA step with only `complete` set is a terminal step. All other steps are\nrendered to the frontend as capability payloads.\n",
|
|
3711
|
-
),
|
|
3712
|
-
)
|
|
3713
|
-
.min(1)
|
|
3714
|
-
.describe(
|
|
3715
|
-
"Ordered list of steps in this flow. The order is for human readability —\nactual step sequencing is determined by transitions.\n",
|
|
3716
|
-
),
|
|
3717
|
-
})
|
|
3718
|
-
.describe(
|
|
3719
|
-
"A flow definition is the server-side configuration that describes a complete\nauthentication or identity flow. It is NOT sent to the frontend — the flow\nengine evaluates it and produces FlowResponse payloads (steps with capability\ndictionaries) for the client.\n\nFlow definitions are created by administrators and stored in the project\/team\nconfiguration hierarchy. The engine selects the matching definition based on\nthe purpose + audience when a flow is created via POST \/flow.\n",
|
|
3720
|
-
)
|
|
3721
|
-
.and(
|
|
3722
|
-
zod.object({
|
|
3723
|
-
id: zod.string().describe("Unique identifier for the flow definition."),
|
|
3724
|
-
project_id: zod
|
|
3725
|
-
.string()
|
|
3726
|
-
.describe("Identifier of the project this flow definition belongs to."),
|
|
3727
|
-
schema_uri: zod
|
|
3728
|
-
.url()
|
|
3774
|
+
}),
|
|
3775
|
+
)
|
|
3776
|
+
.optional()
|
|
3777
|
+
.describe(
|
|
3778
|
+
"Maps action\/outcome names to their transition descriptor.\n\nKeys match action names from the `actions` dict. Additional keys\ncome from implicit outcomes based on schema annotations\n(e.g. `user_not_found` from `x-unique` fields) and engine\nevents (e.g. `sso`, `callback`).\n",
|
|
3779
|
+
),
|
|
3780
|
+
})
|
|
3781
|
+
.describe(
|
|
3782
|
+
"A step in a flow definition. This is the admin-authored configuration,\nnot the runtime payload sent to the frontend.\n\nSteps are schema-driven: `fields` references properties from the flow's\nuser schema, and the engine resolves field metadata (type, validation,\nimplicit outcomes) from schema annotations at runtime.\n\nA step with only `complete` set is a terminal step. All other steps are\nrendered to the frontend as capability payloads.\n",
|
|
3783
|
+
),
|
|
3784
|
+
)
|
|
3785
|
+
.min(1)
|
|
3729
3786
|
.describe(
|
|
3730
|
-
"
|
|
3787
|
+
"Ordered list of steps in this flow. The order is for human readability —\nactual step sequencing is determined by transitions.\n",
|
|
3731
3788
|
),
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
)
|
|
3789
|
+
})
|
|
3790
|
+
.describe(
|
|
3791
|
+
"A flow definition is the server-side configuration that describes a complete\nauthentication or identity flow. It is NOT sent to the frontend — the flow\nengine evaluates it and produces FlowResponse payloads (steps with capability\ndictionaries) for the client.\n\nFlow definitions are created by administrators and stored in the project\/team\nconfiguration hierarchy. The engine selects the matching definition based on\nthe purpose + audience when a flow is created via POST \/flow.\n",
|
|
3792
|
+
),
|
|
3793
|
+
created_at: zod.iso.datetime({ offset: true }),
|
|
3794
|
+
updated_at: zod.iso.datetime({ offset: true }),
|
|
3795
|
+
});
|
|
3737
3796
|
|
|
3738
3797
|
/**
|
|
3739
3798
|
* Delete a flow definition by id
|
|
@@ -3743,6 +3802,15 @@ export const DeleteFlowDefinitionParams = zod.object({
|
|
|
3743
3802
|
id: zod.string().describe("The id returned by the POST \/flow_definitions endpoint.\n"),
|
|
3744
3803
|
});
|
|
3745
3804
|
|
|
3805
|
+
export const deleteFlowDefinitionQueryProjectIdRegExp = new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3806
|
+
|
|
3807
|
+
export const DeleteFlowDefinitionQueryParams = zod.strictObject({
|
|
3808
|
+
project_id: zod
|
|
3809
|
+
.string()
|
|
3810
|
+
.regex(deleteFlowDefinitionQueryProjectIdRegExp)
|
|
3811
|
+
.describe("The project id to filter by."),
|
|
3812
|
+
});
|
|
3813
|
+
|
|
3746
3814
|
/**
|
|
3747
3815
|
* @summary Create team
|
|
3748
3816
|
*/
|