@zitadel/components 0.1.0-alpha.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.
Files changed (46) hide show
  1. package/README.md +41 -36
  2. package/dist/atoms/index.d.mts +1 -1
  3. package/dist/atoms/index.mjs +1 -1
  4. package/dist/atoms/zl-alert.d.ts.map +1 -1
  5. package/dist/atoms/zl-button.d.ts +7 -1
  6. package/dist/atoms/zl-button.d.ts.map +1 -1
  7. package/dist/atoms/zl-card.d.ts +7 -0
  8. package/dist/atoms/zl-card.d.ts.map +1 -1
  9. package/dist/atoms/zl-field.d.ts +6 -0
  10. package/dist/atoms/zl-field.d.ts.map +1 -1
  11. package/dist/atoms/zl-icon.d.ts.map +1 -1
  12. package/dist/atoms/zl-page-shell.d.ts +6 -0
  13. package/dist/atoms/zl-page-shell.d.ts.map +1 -1
  14. package/dist/atoms/zl-pill.d.ts +0 -1
  15. package/dist/atoms/zl-pill.d.ts.map +1 -1
  16. package/dist/{atoms-B9yd0c-i.mjs → atoms-eOxuoGDq.mjs} +118 -73
  17. package/dist/atoms-eOxuoGDq.mjs.map +1 -0
  18. package/dist/{index-B74_igDN.d.mts → index-DjBsBWdg.d.mts} +82 -18
  19. package/dist/index-DjBsBWdg.d.mts.map +1 -0
  20. package/dist/{index-Dd8hfOWt.d.mts → index-DmtnqUIY.d.mts} +1223 -572
  21. package/dist/index-DmtnqUIY.d.mts.map +1 -0
  22. package/dist/index.d.mts +2 -2
  23. package/dist/index.mjs +2 -2
  24. package/dist/internal/emit.d.ts +12 -0
  25. package/dist/internal/emit.d.ts.map +1 -0
  26. package/dist/internal/escape-html.d.ts +10 -0
  27. package/dist/internal/escape-html.d.ts.map +1 -0
  28. package/dist/manifests.mjs +1 -1
  29. package/dist/orchestrator/index.d.mts +1 -1
  30. package/dist/orchestrator/index.mjs +1 -1
  31. package/dist/orchestrator/locales/en.d.ts.map +1 -1
  32. package/dist/orchestrator/resolve-api.d.ts +37 -0
  33. package/dist/orchestrator/resolve-api.d.ts.map +1 -0
  34. package/dist/orchestrator/zitadel-login.d.ts +27 -2
  35. package/dist/orchestrator/zitadel-login.d.ts.map +1 -1
  36. package/dist/orchestrator/zitadel-logout.d.ts +33 -5
  37. package/dist/orchestrator/zitadel-logout.d.ts.map +1 -1
  38. package/dist/{orchestrator-B8eXcPRi.mjs → orchestrator-Dds72XrU.mjs} +349 -125
  39. package/dist/orchestrator-Dds72XrU.mjs.map +1 -0
  40. package/dist/standalone.mjs +12002 -0
  41. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  42. package/package.json +8 -2
  43. package/dist/atoms-B9yd0c-i.mjs.map +0 -1
  44. package/dist/index-B74_igDN.d.mts.map +0 -1
  45. package/dist/index-Dd8hfOWt.d.mts.map +0 -1
  46. package/dist/orchestrator-B8eXcPRi.mjs.map +0 -1
@@ -168,10 +168,16 @@ declare class ZlButton extends LitElement {
168
168
  accessor disabled: boolean;
169
169
  accessor block: boolean;
170
170
  accessor label: string | undefined;
171
+ /**
172
+ * Forces a visual interaction state on the inner button, projected to its
173
+ * `data-state` attribute. Used by the design playground to capture
174
+ * hover/pressed/focus states; reactive so toggling the host attribute
175
+ * re-renders.
176
+ */
177
+ accessor forcedState: string | null;
171
178
  private readonly internals;
172
179
  constructor();
173
180
  focus(options?: FocusOptions): void;
174
- private surfaceClasses;
175
181
  render(): _$lit.TemplateResult<1>;
176
182
  private handleClick;
177
183
  }
@@ -217,6 +223,13 @@ declare class ZlCard extends LitElement {
217
223
  static styles: _$lit.CSSResult[];
218
224
  accessor compact: boolean;
219
225
  render(): _$lit.TemplateResult<1>;
226
+ /**
227
+ * `lightDomSlotFilled` is a render-time snapshot, so re-run render whenever a
228
+ * named slot's assignment changes (e.g. a header added after first paint).
229
+ * The initial render still reads children synchronously, avoiding the
230
+ * empty-then-filled flash a slotchange-only approach would introduce.
231
+ */
232
+ private onSlotChange;
220
233
  /** Slotted nodes are always light-DOM children of the host in our templates. */
221
234
  private lightDomSlotFilled;
222
235
  }
@@ -227,7 +240,7 @@ declare global {
227
240
  }
228
241
  } //# sourceMappingURL=zl-card.d.ts.map
229
242
  //#endregion
230
- //#region ../api/dist/index-DlEenfQJ.d.mts
243
+ //#region ../api/dist/index-DyBulyp9.d.mts
231
244
  //#region src/generated/model/authorizeDevice200.d.ts
232
245
  /**
233
246
  * Generated by orval v8.10.0 🍺
@@ -1242,168 +1255,7 @@ type CreateFlowBody = {
1242
1255
  * Additional error-specific context.
1243
1256
  */
1244
1257
  //#endregion
1245
- //#region src/generated/model/createFlowDefinition201.d.ts
1246
- /**
1247
- * Generated by orval v8.10.0 🍺
1248
- * Do not edit manually.
1249
- * Zitadel NextGen
1250
- * This is the next generation of the Zitadel identity platform.
1251
- * OpenAPI spec version: 0.0.1
1252
- */
1253
- type CreateFlowDefinition201 = {
1254
- /**
1255
- * Stable identifier for this flow, used as the target of cross-flow
1256
- `switch` and `pivot` transitions. Renaming is not supported — the
1257
- `name` is part of the public contract another definition may
1258
- reference. Acts as the human display label as well; no separate slug.
1259
- * @pattern ^[a-z][a-z0-9-]*$
1260
- */
1261
- name: string;
1262
- /** User schema this flow operates on. Step `fields` reference properties
1263
- defined in this schema. The engine resolves field types, validation,
1264
- and implicit outcomes from schema annotations at runtime.
1265
- */
1266
- user_schema: string;
1267
- /** Maps each purpose this definition handles to its entry-point step.
1268
- Keys are purpose names; values must match a `name` in `steps`. A
1269
- definition can serve multiple purposes (e.g. a combined login/register
1270
- flow) by listing one entry per purpose.
1271
- */
1272
- purposes: Partial<Record<"login" | "register" | "recovery" | "profiling" | "reauth" | "link_account", string>>;
1273
- /** Scopes which teams or apps this flow definition applies to. Empty or
1274
- omitted fields mean "no restriction"; when both are empty the definition
1275
- matches every request in the project. The engine picks the most specific
1276
- matching definition: app > team > project-wide.
1277
- */
1278
- audience?: {
1279
- /** Restrict to specific teams (organizations). Empty means no team restriction. */team_ids?: string[]; /** Restrict to specific applications. Empty means no app restriction. */
1280
- app_ids?: string[];
1281
- };
1282
- /**
1283
- * Ordered list of steps in this flow. The order is for human readability —
1284
- actual step sequencing is determined by transitions.
1285
- * @minItems 1
1286
- */
1287
- steps: {
1288
- /** Unique step identifier within this flow. Used as transition targets
1289
- and returned in the API response as `step.name`.
1290
- */
1291
- name: string;
1292
- /** Schema property names to collect from the user. Each entry references
1293
- a property in the flow's user schema. The engine resolves field type,
1294
- validation rules, and implicit outcomes from schema annotations
1295
- (e.g. a property with `x-unique` set implies a `user_not_found`
1296
- transition outcome).
1297
- */
1298
- fields?: string[];
1299
- /** Actions the user can take. Keyed by action name.
1300
- The action name is what the frontend sends back in the submit request.
1301
- If omitted, the engine provides a default `submit` action.
1302
- */
1303
- actions?: {
1304
- [key: string]: {
1305
- /** Marks this as the default/primary action. The runtime template uses
1306
- this hint to choose visual emphasis. At most one action per step
1307
- should be primary; this is not enforced here.
1308
- */
1309
- primary?: boolean;
1310
- /** Optional localization key override for the action's label. When
1311
- omitted, the engine derives a key from the step and action names.
1312
- Display text is resolved client-side from a locale dictionary, never
1313
- by the engine.
1314
- */
1315
- text_key?: string;
1316
- };
1317
- };
1318
- /** Security gates that must be satisfied before submission. Keyed by gate
1319
- name. Each gate selects a kind (e.g. "captcha") and provider-specific
1320
- configuration. The engine may also inject gates dynamically based on
1321
- policy.
1322
- */
1323
- gates?: {
1324
- [key: string]: {
1325
- /** The gate category. Only `captcha` is currently defined. Authenticator
1326
- ceremonies (e.g. passkey) are modelled as credential auth_attempts via
1327
- `x-credential` on a field, not as gates.
1328
- */
1329
- kind: "captcha";
1330
- /** Provider identifier within the gate kind — e.g. `altcha`, `turnstile`,
1331
- `hcaptcha`. The engine looks up an implementation in its provider
1332
- registry.
1333
- */
1334
- provider: string;
1335
- /** Provider-specific configuration consumed by the implementation when
1336
- issuing the per-render challenge. Opaque to the engine.
1337
- */
1338
- config?: {
1339
- [key: string]: unknown;
1340
- };
1341
- };
1342
- }; /** Available SSO identity providers for this step. */
1343
- sso_providers?: {
1344
- /** Provider instance identifier. */id: string; /** Display name for the provider. */
1345
- name: string; /** Template hint for rendering (logo, colors). */
1346
- template: string;
1347
- }[];
1348
- /** Server-side mutation to execute when this step completes successfully.
1349
- Runs after field validation passes, before the transition fires.
1350
- - create_user: creates the user record (registration flows)
1351
- */
1352
- on_success?: "create_user";
1353
- /** Marks this as a terminal step. Tells the frontend what to do:
1354
- - redirect: navigate to redirect_uri (OIDC/SAML callback done)
1355
- - show: render as a success/info screen
1356
- */
1357
- complete?: "redirect" | "show";
1358
- /** Maps action/outcome names to their transition descriptor.
1359
- Keys match action names from the `actions` dict. Additional keys
1360
- come from implicit outcomes based on schema annotations
1361
- (e.g. `user_not_found` from `x-unique` fields) and engine
1362
- events (e.g. `sso`, `callback`).
1363
- */
1364
- transitions?: {
1365
- [key: string]: {
1366
- /** Step name within this flow (when `action` is null), or the name
1367
- of another flow (when `action` is `switch` or `pivot`).
1368
- */
1369
- target: string;
1370
- /** How to interpret `target`:
1371
- - null (omitted): transition to a step in the current flow.
1372
- - switch: replace the current flow with the target flow.
1373
- No return — the current flow is discarded.
1374
- Example: login ↔ register.
1375
- - pivot: push the target flow onto the stack. The current flow
1376
- is paused and resumes when the target flow completes (auto-pop).
1377
- Example: login → recovery → back to login.
1378
- */
1379
- action?: "switch" | "pivot" | null;
1380
- };
1381
- };
1382
- }[];
1383
- } & {
1384
- /** Unique identifier for the flow definition. */id: string; /** Identifier of the project this flow definition belongs to. */
1385
- project_id: string;
1386
- /** URI of the flow definition schema this definition was authored against.
1387
- If 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.
1388
- */
1389
- schema_uri: string; /** Status of the flow definition. */
1390
- status: string;
1391
- created_at: string;
1392
- updated_at: string;
1393
- }; //#endregion
1394
- //#region src/generated/model/createFlowDefinition400Details.d.ts
1395
- /**
1396
- * Generated by orval v8.10.0 🍺
1397
- * Do not edit manually.
1398
- * Zitadel NextGen
1399
- * This is the next generation of the Zitadel identity platform.
1400
- * OpenAPI spec version: 0.0.1
1401
- */
1402
- /**
1403
- * Additional error-specific context.
1404
- */
1405
- //#endregion
1406
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionAudience.d.ts
1258
+ //#region src/generated/model/createFlowDefinition201FlowDefinitionAudience.d.ts
1407
1259
  /**
1408
1260
  * Generated by orval v8.10.0 🍺
1409
1261
  * Do not edit manually.
@@ -1418,11 +1270,11 @@ matches every request in the project. The engine picks the most specific
1418
1270
  matching definition: app > team > project-wide.
1419
1271
 
1420
1272
  */
1421
- type CreateFlowDefinitionBodyFlowDefinitionAudience = {
1273
+ type CreateFlowDefinition201FlowDefinitionAudience = {
1422
1274
  /** Restrict to specific teams (organizations). Empty means no team restriction. */team_ids?: string[]; /** Restrict to specific applications. Empty means no app restriction. */
1423
1275
  app_ids?: string[];
1424
1276
  }; //#endregion
1425
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemActions.d.ts
1277
+ //#region src/generated/model/createFlowDefinition201FlowDefinitionStepsItemActions.d.ts
1426
1278
  /**
1427
1279
  * Generated by orval v8.10.0 🍺
1428
1280
  * Do not edit manually.
@@ -1436,7 +1288,7 @@ The action name is what the frontend sends back in the submit request.
1436
1288
  If omitted, the engine provides a default `submit` action.
1437
1289
 
1438
1290
  */
1439
- type CreateFlowDefinitionBodyFlowDefinitionStepsItemActions = {
1291
+ type CreateFlowDefinition201FlowDefinitionStepsItemActions = {
1440
1292
  [key: string]: {
1441
1293
  /** Marks this as the default/primary action. The runtime template uses
1442
1294
  this hint to choose visual emphasis. At most one action per step
@@ -1451,7 +1303,7 @@ type CreateFlowDefinitionBodyFlowDefinitionStepsItemActions = {
1451
1303
  text_key?: string;
1452
1304
  };
1453
1305
  }; //#endregion
1454
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemComplete.d.ts
1306
+ //#region src/generated/model/createFlowDefinition201FlowDefinitionStepsItemComplete.d.ts
1455
1307
  /**
1456
1308
  * Generated by orval v8.10.0 🍺
1457
1309
  * Do not edit manually.
@@ -1465,12 +1317,12 @@ type CreateFlowDefinitionBodyFlowDefinitionStepsItemActions = {
1465
1317
  - show: render as a success/info screen
1466
1318
 
1467
1319
  */
1468
- type CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete = (typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete)[keyof typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete];
1469
- declare const CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete: {
1320
+ type CreateFlowDefinition201FlowDefinitionStepsItemComplete = (typeof CreateFlowDefinition201FlowDefinitionStepsItemComplete)[keyof typeof CreateFlowDefinition201FlowDefinitionStepsItemComplete];
1321
+ declare const CreateFlowDefinition201FlowDefinitionStepsItemComplete: {
1470
1322
  readonly redirect: "redirect";
1471
1323
  readonly show: "show";
1472
1324
  }; //#endregion
1473
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemGatesConfig.d.ts
1325
+ //#region src/generated/model/createFlowDefinition201FlowDefinitionStepsItemGatesConfig.d.ts
1474
1326
  /**
1475
1327
  * Generated by orval v8.10.0 🍺
1476
1328
  * Do not edit manually.
@@ -1483,10 +1335,10 @@ declare const CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete: {
1483
1335
  issuing the per-render challenge. Opaque to the engine.
1484
1336
 
1485
1337
  */
1486
- type CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesConfig = {
1338
+ type CreateFlowDefinition201FlowDefinitionStepsItemGatesConfig = {
1487
1339
  [key: string]: unknown;
1488
1340
  }; //#endregion
1489
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemGatesKind.d.ts
1341
+ //#region src/generated/model/createFlowDefinition201FlowDefinitionStepsItemGatesKind.d.ts
1490
1342
  /**
1491
1343
  * Generated by orval v8.10.0 🍺
1492
1344
  * Do not edit manually.
@@ -1500,11 +1352,11 @@ ceremonies (e.g. passkey) are modelled as credential auth_attempts via
1500
1352
  `x-credential` on a field, not as gates.
1501
1353
 
1502
1354
  */
1503
- type CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesKind = (typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesKind)[keyof typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesKind];
1504
- declare const CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesKind: {
1355
+ type CreateFlowDefinition201FlowDefinitionStepsItemGatesKind = (typeof CreateFlowDefinition201FlowDefinitionStepsItemGatesKind)[keyof typeof CreateFlowDefinition201FlowDefinitionStepsItemGatesKind];
1356
+ declare const CreateFlowDefinition201FlowDefinitionStepsItemGatesKind: {
1505
1357
  readonly captcha: "captcha";
1506
1358
  }; //#endregion
1507
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemGates.d.ts
1359
+ //#region src/generated/model/createFlowDefinition201FlowDefinitionStepsItemGates.d.ts
1508
1360
  /**
1509
1361
  * Security gates that must be satisfied before submission. Keyed by gate
1510
1362
  name. Each gate selects a kind (e.g. "captcha") and provider-specific
@@ -1512,13 +1364,13 @@ configuration. The engine may also inject gates dynamically based on
1512
1364
  policy.
1513
1365
 
1514
1366
  */
1515
- type CreateFlowDefinitionBodyFlowDefinitionStepsItemGates = {
1367
+ type CreateFlowDefinition201FlowDefinitionStepsItemGates = {
1516
1368
  [key: string]: {
1517
1369
  /** The gate category. Only `captcha` is currently defined. Authenticator
1518
1370
  ceremonies (e.g. passkey) are modelled as credential auth_attempts via
1519
1371
  `x-credential` on a field, not as gates.
1520
1372
  */
1521
- kind: CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesKind;
1373
+ kind: CreateFlowDefinition201FlowDefinitionStepsItemGatesKind;
1522
1374
  /** Provider identifier within the gate kind — e.g. `altcha`, `turnstile`,
1523
1375
  `hcaptcha`. The engine looks up an implementation in its provider
1524
1376
  registry.
@@ -1527,10 +1379,10 @@ type CreateFlowDefinitionBodyFlowDefinitionStepsItemGates = {
1527
1379
  /** Provider-specific configuration consumed by the implementation when
1528
1380
  issuing the per-render challenge. Opaque to the engine.
1529
1381
  */
1530
- config?: CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesConfig;
1382
+ config?: CreateFlowDefinition201FlowDefinitionStepsItemGatesConfig;
1531
1383
  };
1532
1384
  }; //#endregion
1533
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess.d.ts
1385
+ //#region src/generated/model/createFlowDefinition201FlowDefinitionStepsItemOnSuccess.d.ts
1534
1386
  /**
1535
1387
  * Generated by orval v8.10.0 🍺
1536
1388
  * Do not edit manually.
@@ -1545,11 +1397,11 @@ Runs after field validation passes, before the transition fires.
1545
1397
  - create_user: creates the user record (registration flows)
1546
1398
 
1547
1399
  */
1548
- type CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess = (typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess)[keyof typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess];
1549
- declare const CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess: {
1400
+ type CreateFlowDefinition201FlowDefinitionStepsItemOnSuccess = (typeof CreateFlowDefinition201FlowDefinitionStepsItemOnSuccess)[keyof typeof CreateFlowDefinition201FlowDefinitionStepsItemOnSuccess];
1401
+ declare const CreateFlowDefinition201FlowDefinitionStepsItemOnSuccess: {
1550
1402
  readonly create_user: "create_user";
1551
1403
  }; //#endregion
1552
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemSsoProvidersItem.d.ts
1404
+ //#region src/generated/model/createFlowDefinition201FlowDefinitionStepsItemSsoProvidersItem.d.ts
1553
1405
  /**
1554
1406
  * Generated by orval v8.10.0 🍺
1555
1407
  * Do not edit manually.
@@ -1560,12 +1412,12 @@ declare const CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess: {
1560
1412
  /**
1561
1413
  * An available SSO identity provider.
1562
1414
  */
1563
- type CreateFlowDefinitionBodyFlowDefinitionStepsItemSsoProvidersItem = {
1415
+ type CreateFlowDefinition201FlowDefinitionStepsItemSsoProvidersItem = {
1564
1416
  /** Provider instance identifier. */id: string; /** Display name for the provider. */
1565
1417
  name: string; /** Template hint for rendering (logo, colors). */
1566
1418
  template: string;
1567
1419
  }; //#endregion
1568
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemTransitions.d.ts
1420
+ //#region src/generated/model/createFlowDefinition201FlowDefinitionStepsItemTransitions.d.ts
1569
1421
  /**
1570
1422
  * Generated by orval v8.10.0 🍺
1571
1423
  * Do not edit manually.
@@ -1582,7 +1434,7 @@ come from implicit outcomes based on schema annotations
1582
1434
  events (e.g. `sso`, `callback`).
1583
1435
 
1584
1436
  */
1585
- type CreateFlowDefinitionBodyFlowDefinitionStepsItemTransitions = {
1437
+ type CreateFlowDefinition201FlowDefinitionStepsItemTransitions = {
1586
1438
  [key: string]: {
1587
1439
  /** Step name within this flow (when `action` is null), or the name
1588
1440
  of another flow (when `action` is `switch` or `pivot`).
@@ -1600,7 +1452,7 @@ type CreateFlowDefinitionBodyFlowDefinitionStepsItemTransitions = {
1600
1452
  action?: "switch" | "pivot" | null;
1601
1453
  };
1602
1454
  }; //#endregion
1603
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItem.d.ts
1455
+ //#region src/generated/model/createFlowDefinition201FlowDefinitionStepsItem.d.ts
1604
1456
  /**
1605
1457
  * A step in a flow definition. This is the admin-authored configuration,
1606
1458
  not the runtime payload sent to the frontend.
@@ -1613,7 +1465,7 @@ A step with only `complete` set is a terminal step. All other steps are
1613
1465
  rendered to the frontend as capability payloads.
1614
1466
 
1615
1467
  */
1616
- type CreateFlowDefinitionBodyFlowDefinitionStepsItem = {
1468
+ type CreateFlowDefinition201FlowDefinitionStepsItem = {
1617
1469
  /** Unique step identifier within this flow. Used as transition targets
1618
1470
  and returned in the API response as `step.name`.
1619
1471
  */
@@ -1629,33 +1481,33 @@ type CreateFlowDefinitionBodyFlowDefinitionStepsItem = {
1629
1481
  The action name is what the frontend sends back in the submit request.
1630
1482
  If omitted, the engine provides a default `submit` action.
1631
1483
  */
1632
- actions?: CreateFlowDefinitionBodyFlowDefinitionStepsItemActions;
1484
+ actions?: CreateFlowDefinition201FlowDefinitionStepsItemActions;
1633
1485
  /** Security gates that must be satisfied before submission. Keyed by gate
1634
1486
  name. Each gate selects a kind (e.g. "captcha") and provider-specific
1635
1487
  configuration. The engine may also inject gates dynamically based on
1636
1488
  policy.
1637
1489
  */
1638
- gates?: CreateFlowDefinitionBodyFlowDefinitionStepsItemGates; /** Available SSO identity providers for this step. */
1639
- sso_providers?: CreateFlowDefinitionBodyFlowDefinitionStepsItemSsoProvidersItem[];
1490
+ gates?: CreateFlowDefinition201FlowDefinitionStepsItemGates; /** Available SSO identity providers for this step. */
1491
+ sso_providers?: CreateFlowDefinition201FlowDefinitionStepsItemSsoProvidersItem[];
1640
1492
  /** Server-side mutation to execute when this step completes successfully.
1641
1493
  Runs after field validation passes, before the transition fires.
1642
1494
  - create_user: creates the user record (registration flows)
1643
1495
  */
1644
- on_success?: CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess;
1496
+ on_success?: CreateFlowDefinition201FlowDefinitionStepsItemOnSuccess;
1645
1497
  /** Marks this as a terminal step. Tells the frontend what to do:
1646
1498
  - redirect: navigate to redirect_uri (OIDC/SAML callback done)
1647
1499
  - show: render as a success/info screen
1648
1500
  */
1649
- complete?: CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete;
1501
+ complete?: CreateFlowDefinition201FlowDefinitionStepsItemComplete;
1650
1502
  /** Maps action/outcome names to their transition descriptor.
1651
1503
  Keys match action names from the `actions` dict. Additional keys
1652
1504
  come from implicit outcomes based on schema annotations
1653
1505
  (e.g. `user_not_found` from `x-unique` fields) and engine
1654
1506
  events (e.g. `sso`, `callback`).
1655
1507
  */
1656
- transitions?: CreateFlowDefinitionBodyFlowDefinitionStepsItemTransitions;
1508
+ transitions?: CreateFlowDefinition201FlowDefinitionStepsItemTransitions;
1657
1509
  }; //#endregion
1658
- //#region src/generated/model/createFlowDefinitionBodyFlowDefinition.d.ts
1510
+ //#region src/generated/model/createFlowDefinition201FlowDefinition.d.ts
1659
1511
  /**
1660
1512
  * A flow definition is the server-side configuration that describes a complete
1661
1513
  authentication or identity flow. It is NOT sent to the frontend — the flow
@@ -1667,7 +1519,7 @@ configuration hierarchy. The engine selects the matching definition based on
1667
1519
  the purpose + audience when a flow is created via POST /flow.
1668
1520
 
1669
1521
  */
1670
- type CreateFlowDefinitionBodyFlowDefinition = {
1522
+ type CreateFlowDefinition201FlowDefinition = {
1671
1523
  /**
1672
1524
  * Stable identifier for this flow, used as the target of cross-flow
1673
1525
  `switch` and `pivot` transitions. Renaming is not supported — the
@@ -1692,22 +1544,19 @@ type CreateFlowDefinitionBodyFlowDefinition = {
1692
1544
  matches every request in the project. The engine picks the most specific
1693
1545
  matching definition: app > team > project-wide.
1694
1546
  */
1695
- audience?: CreateFlowDefinitionBodyFlowDefinitionAudience;
1547
+ audience?: CreateFlowDefinition201FlowDefinitionAudience;
1696
1548
  /**
1697
1549
  * Ordered list of steps in this flow. The order is for human readability —
1698
1550
  actual step sequencing is determined by transitions.
1699
1551
  * @minItems 1
1700
1552
  */
1701
- steps: CreateFlowDefinitionBodyFlowDefinitionStepsItem[];
1553
+ steps: CreateFlowDefinition201FlowDefinitionStepsItem[];
1702
1554
  }; //#endregion
1703
- //#region src/generated/model/createFlowDefinitionBody.d.ts
1704
- type CreateFlowDefinitionBody = {
1705
- /** @pattern ^[a-zA-Z0-9_-]+$ */project_id: string;
1706
- /** URI of the server-published flow definition schema this definition was
1707
- authored against. The server uses this to validate the definition.
1708
- If not provided, the engine will use the latest schema version for validation.
1709
- */
1710
- schema_uri?: string;
1555
+ //#region src/generated/model/createFlowDefinition201.d.ts
1556
+ type CreateFlowDefinition201 = {
1557
+ /** Unique identifier for the flow definition. */id: string; /** Identifier of the project this flow definition belongs to. */
1558
+ project_id: string; /** Status of the flow definition. */
1559
+ status: string;
1711
1560
  /** A flow definition is the server-side configuration that describes a complete
1712
1561
  authentication or identity flow. It is NOT sent to the frontend — the flow
1713
1562
  engine evaluates it and produces FlowResponse payloads (steps with capability
@@ -1716,9 +1565,11 @@ type CreateFlowDefinitionBody = {
1716
1565
  configuration hierarchy. The engine selects the matching definition based on
1717
1566
  the purpose + audience when a flow is created via POST /flow.
1718
1567
  */
1719
- flow_definition: CreateFlowDefinitionBodyFlowDefinition;
1568
+ flow_definition: CreateFlowDefinition201FlowDefinition;
1569
+ created_at: string;
1570
+ updated_at: string;
1720
1571
  }; //#endregion
1721
- //#region src/generated/model/createFlowDefinitionDefaultDetails.d.ts
1572
+ //#region src/generated/model/createFlowDefinition400Details.d.ts
1722
1573
  /**
1723
1574
  * Generated by orval v8.10.0 🍺
1724
1575
  * Do not edit manually.
@@ -1730,7 +1581,7 @@ type CreateFlowDefinitionBody = {
1730
1581
  * Additional error-specific context.
1731
1582
  */
1732
1583
  //#endregion
1733
- //#region src/generated/model/createHandoff200.d.ts
1584
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionAudience.d.ts
1734
1585
  /**
1735
1586
  * Generated by orval v8.10.0 🍺
1736
1587
  * Do not edit manually.
@@ -1739,26 +1590,17 @@ type CreateFlowDefinitionBody = {
1739
1590
  * OpenAPI spec version: 0.0.1
1740
1591
  */
1741
1592
  /**
1742
- * The handoff token and metadata for session exchange.
1743
-
1744
- This is a short-lived credential (TTL 60 seconds) that the client must exchange
1745
- at POST /sessions/exchange to receive the final session and session_token.
1746
- The handoff token is single-use and audience-bound to the project.
1593
+ * Scopes which teams or apps this flow definition applies to. Empty or
1594
+ omitted fields mean "no restriction"; when both are empty the definition
1595
+ matches every request in the project. The engine picks the most specific
1596
+ matching definition: app > team > project-wide.
1747
1597
 
1748
1598
  */
1749
- type CreateHandoff200 = {
1750
- /** The short-lived handoff token for session exchange.
1751
- Exchange at: POST /sessions/exchange
1752
- Requirements:
1753
- - Single-use (atomic GETDEL on exchange)
1754
- - TTL ≤ 60 seconds
1755
- - Audience-bound to project (exchange requires sk_proj_… for matching project)
1756
- - Idempotency-safe (Category B, 5-minute window)
1757
- */
1758
- handoff_token: string; /** When this handoff token expires */
1759
- expires_at: string;
1599
+ type CreateFlowDefinitionBodyFlowDefinitionAudience = {
1600
+ /** Restrict to specific teams (organizations). Empty means no team restriction. */team_ids?: string[]; /** Restrict to specific applications. Empty means no app restriction. */
1601
+ app_ids?: string[];
1760
1602
  }; //#endregion
1761
- //#region src/generated/model/createHandoffDefault.d.ts
1603
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemActions.d.ts
1762
1604
  /**
1763
1605
  * Generated by orval v8.10.0 🍺
1764
1606
  * Do not edit manually.
@@ -1766,29 +1608,28 @@ type CreateHandoff200 = {
1766
1608
  * This is the next generation of the Zitadel identity platform.
1767
1609
  * OpenAPI spec version: 0.0.1
1768
1610
  */
1769
- //#endregion
1770
- //#region src/generated/model/createProject201.d.ts
1771
1611
  /**
1772
- * Generated by orval v8.10.0 🍺
1773
- * Do not edit manually.
1774
- * Zitadel NextGen
1775
- * This is the next generation of the Zitadel identity platform.
1776
- * OpenAPI spec version: 0.0.1
1612
+ * Actions the user can take. Keyed by action name.
1613
+ The action name is what the frontend sends back in the submit request.
1614
+ If omitted, the engine provides a default `submit` action.
1615
+
1777
1616
  */
1778
- type CreateProject201 = {
1779
- /** The unique identifier of the project. */id: string;
1780
- /** Secret which can be used for authentication when modifying the project.
1781
- */
1782
- projectSecret: string;
1783
- /** Secret which can be used for previewing and testing the project.
1784
- */
1785
- previewSecret: string;
1786
- /** Origins which are allowed for previewing and testing the project.
1787
- */
1788
- previewOrigins: string[]; /** The time when the project was created. */
1789
- createdAt: string;
1617
+ type CreateFlowDefinitionBodyFlowDefinitionStepsItemActions = {
1618
+ [key: string]: {
1619
+ /** Marks this as the default/primary action. The runtime template uses
1620
+ this hint to choose visual emphasis. At most one action per step
1621
+ should be primary; this is not enforced here.
1622
+ */
1623
+ primary?: boolean;
1624
+ /** Optional localization key override for the action's label. When
1625
+ omitted, the engine derives a key from the step and action names.
1626
+ Display text is resolved client-side from a locale dictionary, never
1627
+ by the engine.
1628
+ */
1629
+ text_key?: string;
1630
+ };
1790
1631
  }; //#endregion
1791
- //#region src/generated/model/createProject429Details.d.ts
1632
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemComplete.d.ts
1792
1633
  /**
1793
1634
  * Generated by orval v8.10.0 🍺
1794
1635
  * Do not edit manually.
@@ -1797,23 +1638,17 @@ type CreateProject201 = {
1797
1638
  * OpenAPI spec version: 0.0.1
1798
1639
  */
1799
1640
  /**
1800
- * Additional error-specific context.
1801
- */
1802
- //#endregion
1803
- //#region src/generated/model/createProjectBody.d.ts
1804
- /**
1805
- * Generated by orval v8.10.0 🍺
1806
- * Do not edit manually.
1807
- * Zitadel NextGen
1808
- * This is the next generation of the Zitadel identity platform.
1809
- * OpenAPI spec version: 0.0.1
1641
+ * Marks this as a terminal step. Tells the frontend what to do:
1642
+ - redirect: navigate to redirect_uri (OIDC/SAML callback done)
1643
+ - show: render as a success/info screen
1644
+
1810
1645
  */
1811
- type CreateProjectBody = {
1812
- /** Origins which are allowed for previewing and testing the project.
1813
- */
1814
- previewOrigins?: string[];
1646
+ type CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete = (typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete)[keyof typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete];
1647
+ declare const CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete: {
1648
+ readonly redirect: "redirect";
1649
+ readonly show: "show";
1815
1650
  }; //#endregion
1816
- //#region src/generated/model/createProjectDefaultDetails.d.ts
1651
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemGatesConfig.d.ts
1817
1652
  /**
1818
1653
  * Generated by orval v8.10.0 🍺
1819
1654
  * Do not edit manually.
@@ -1822,21 +1657,14 @@ type CreateProjectBody = {
1822
1657
  * OpenAPI spec version: 0.0.1
1823
1658
  */
1824
1659
  /**
1825
- * Additional error-specific context.
1826
- */
1827
- //#endregion
1828
- //#region src/generated/model/createSchema201.d.ts
1829
- /**
1830
- * Generated by orval v8.10.0 🍺
1831
- * Do not edit manually.
1832
- * Zitadel NextGen
1833
- * This is the next generation of the Zitadel identity platform.
1834
- * OpenAPI spec version: 0.0.1
1660
+ * Provider-specific configuration consumed by the implementation when
1661
+ issuing the per-render challenge. Opaque to the engine.
1662
+
1835
1663
  */
1836
- type CreateSchema201 = {
1837
- /** The ID of the created schema */id: string;
1664
+ type CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesConfig = {
1665
+ [key: string]: unknown;
1838
1666
  }; //#endregion
1839
- //#region src/generated/model/createSchema400Details.d.ts
1667
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemGatesKind.d.ts
1840
1668
  /**
1841
1669
  * Generated by orval v8.10.0 🍺
1842
1670
  * Do not edit manually.
@@ -1845,18 +1673,368 @@ type CreateSchema201 = {
1845
1673
  * OpenAPI spec version: 0.0.1
1846
1674
  */
1847
1675
  /**
1848
- * Additional error-specific context.
1676
+ * The gate category. Only `captcha` is currently defined. Authenticator
1677
+ ceremonies (e.g. passkey) are modelled as credential auth_attempts via
1678
+ `x-credential` on a field, not as gates.
1679
+
1849
1680
  */
1850
- //#endregion
1851
- //#region src/generated/model/createSchemaBody.d.ts
1681
+ type CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesKind = (typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesKind)[keyof typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesKind];
1682
+ declare const CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesKind: {
1683
+ readonly captcha: "captcha";
1684
+ }; //#endregion
1685
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemGates.d.ts
1852
1686
  /**
1853
- * Generated by orval v8.10.0 🍺
1854
- * Do not edit manually.
1855
- * Zitadel NextGen
1856
- * This is the next generation of the Zitadel identity platform.
1857
- * OpenAPI spec version: 0.0.1
1858
- */
1859
- type CreateSchemaBody = {
1687
+ * Security gates that must be satisfied before submission. Keyed by gate
1688
+ name. Each gate selects a kind (e.g. "captcha") and provider-specific
1689
+ configuration. The engine may also inject gates dynamically based on
1690
+ policy.
1691
+
1692
+ */
1693
+ type CreateFlowDefinitionBodyFlowDefinitionStepsItemGates = {
1694
+ [key: string]: {
1695
+ /** The gate category. Only `captcha` is currently defined. Authenticator
1696
+ ceremonies (e.g. passkey) are modelled as credential auth_attempts via
1697
+ `x-credential` on a field, not as gates.
1698
+ */
1699
+ kind: CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesKind;
1700
+ /** Provider identifier within the gate kind — e.g. `altcha`, `turnstile`,
1701
+ `hcaptcha`. The engine looks up an implementation in its provider
1702
+ registry.
1703
+ */
1704
+ provider: string;
1705
+ /** Provider-specific configuration consumed by the implementation when
1706
+ issuing the per-render challenge. Opaque to the engine.
1707
+ */
1708
+ config?: CreateFlowDefinitionBodyFlowDefinitionStepsItemGatesConfig;
1709
+ };
1710
+ }; //#endregion
1711
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess.d.ts
1712
+ /**
1713
+ * Generated by orval v8.10.0 🍺
1714
+ * Do not edit manually.
1715
+ * Zitadel NextGen
1716
+ * This is the next generation of the Zitadel identity platform.
1717
+ * OpenAPI spec version: 0.0.1
1718
+ */
1719
+ /**
1720
+ * Server-side mutation to execute when this step completes successfully.
1721
+ Runs after field validation passes, before the transition fires.
1722
+
1723
+ - create_user: creates the user record (registration flows)
1724
+
1725
+ */
1726
+ type CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess = (typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess)[keyof typeof CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess];
1727
+ declare const CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess: {
1728
+ readonly create_user: "create_user";
1729
+ }; //#endregion
1730
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemSsoProvidersItem.d.ts
1731
+ /**
1732
+ * Generated by orval v8.10.0 🍺
1733
+ * Do not edit manually.
1734
+ * Zitadel NextGen
1735
+ * This is the next generation of the Zitadel identity platform.
1736
+ * OpenAPI spec version: 0.0.1
1737
+ */
1738
+ /**
1739
+ * An available SSO identity provider.
1740
+ */
1741
+ type CreateFlowDefinitionBodyFlowDefinitionStepsItemSsoProvidersItem = {
1742
+ /** Provider instance identifier. */id: string; /** Display name for the provider. */
1743
+ name: string; /** Template hint for rendering (logo, colors). */
1744
+ template: string;
1745
+ }; //#endregion
1746
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemTransitions.d.ts
1747
+ /**
1748
+ * Generated by orval v8.10.0 🍺
1749
+ * Do not edit manually.
1750
+ * Zitadel NextGen
1751
+ * This is the next generation of the Zitadel identity platform.
1752
+ * OpenAPI spec version: 0.0.1
1753
+ */
1754
+ /**
1755
+ * Maps action/outcome names to their transition descriptor.
1756
+
1757
+ Keys match action names from the `actions` dict. Additional keys
1758
+ come from implicit outcomes based on schema annotations
1759
+ (e.g. `user_not_found` from `x-unique` fields) and engine
1760
+ events (e.g. `sso`, `callback`).
1761
+
1762
+ */
1763
+ type CreateFlowDefinitionBodyFlowDefinitionStepsItemTransitions = {
1764
+ [key: string]: {
1765
+ /** Step name within this flow (when `action` is null), or the name
1766
+ of another flow (when `action` is `switch` or `pivot`).
1767
+ */
1768
+ target: string;
1769
+ /** How to interpret `target`:
1770
+ - null (omitted): transition to a step in the current flow.
1771
+ - switch: replace the current flow with the target flow.
1772
+ No return — the current flow is discarded.
1773
+ Example: login ↔ register.
1774
+ - pivot: push the target flow onto the stack. The current flow
1775
+ is paused and resumes when the target flow completes (auto-pop).
1776
+ Example: login → recovery → back to login.
1777
+ */
1778
+ action?: "switch" | "pivot" | null;
1779
+ };
1780
+ }; //#endregion
1781
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItem.d.ts
1782
+ /**
1783
+ * A step in a flow definition. This is the admin-authored configuration,
1784
+ not the runtime payload sent to the frontend.
1785
+
1786
+ Steps are schema-driven: `fields` references properties from the flow's
1787
+ user schema, and the engine resolves field metadata (type, validation,
1788
+ implicit outcomes) from schema annotations at runtime.
1789
+
1790
+ A step with only `complete` set is a terminal step. All other steps are
1791
+ rendered to the frontend as capability payloads.
1792
+
1793
+ */
1794
+ type CreateFlowDefinitionBodyFlowDefinitionStepsItem = {
1795
+ /** Unique step identifier within this flow. Used as transition targets
1796
+ and returned in the API response as `step.name`.
1797
+ */
1798
+ name: string;
1799
+ /** Schema property names to collect from the user. Each entry references
1800
+ a property in the flow's user schema. The engine resolves field type,
1801
+ validation rules, and implicit outcomes from schema annotations
1802
+ (e.g. a property with `x-unique` set implies a `user_not_found`
1803
+ transition outcome).
1804
+ */
1805
+ fields?: string[];
1806
+ /** Actions the user can take. Keyed by action name.
1807
+ The action name is what the frontend sends back in the submit request.
1808
+ If omitted, the engine provides a default `submit` action.
1809
+ */
1810
+ actions?: CreateFlowDefinitionBodyFlowDefinitionStepsItemActions;
1811
+ /** Security gates that must be satisfied before submission. Keyed by gate
1812
+ name. Each gate selects a kind (e.g. "captcha") and provider-specific
1813
+ configuration. The engine may also inject gates dynamically based on
1814
+ policy.
1815
+ */
1816
+ gates?: CreateFlowDefinitionBodyFlowDefinitionStepsItemGates; /** Available SSO identity providers for this step. */
1817
+ sso_providers?: CreateFlowDefinitionBodyFlowDefinitionStepsItemSsoProvidersItem[];
1818
+ /** Server-side mutation to execute when this step completes successfully.
1819
+ Runs after field validation passes, before the transition fires.
1820
+ - create_user: creates the user record (registration flows)
1821
+ */
1822
+ on_success?: CreateFlowDefinitionBodyFlowDefinitionStepsItemOnSuccess;
1823
+ /** Marks this as a terminal step. Tells the frontend what to do:
1824
+ - redirect: navigate to redirect_uri (OIDC/SAML callback done)
1825
+ - show: render as a success/info screen
1826
+ */
1827
+ complete?: CreateFlowDefinitionBodyFlowDefinitionStepsItemComplete;
1828
+ /** Maps action/outcome names to their transition descriptor.
1829
+ Keys match action names from the `actions` dict. Additional keys
1830
+ come from implicit outcomes based on schema annotations
1831
+ (e.g. `user_not_found` from `x-unique` fields) and engine
1832
+ events (e.g. `sso`, `callback`).
1833
+ */
1834
+ transitions?: CreateFlowDefinitionBodyFlowDefinitionStepsItemTransitions;
1835
+ }; //#endregion
1836
+ //#region src/generated/model/createFlowDefinitionBodyFlowDefinition.d.ts
1837
+ /**
1838
+ * A flow definition is the server-side configuration that describes a complete
1839
+ authentication or identity flow. It is NOT sent to the frontend — the flow
1840
+ engine evaluates it and produces FlowResponse payloads (steps with capability
1841
+ dictionaries) for the client.
1842
+
1843
+ Flow definitions are created by administrators and stored in the project/team
1844
+ configuration hierarchy. The engine selects the matching definition based on
1845
+ the purpose + audience when a flow is created via POST /flow.
1846
+
1847
+ */
1848
+ type CreateFlowDefinitionBodyFlowDefinition = {
1849
+ /**
1850
+ * Stable identifier for this flow, used as the target of cross-flow
1851
+ `switch` and `pivot` transitions. Renaming is not supported — the
1852
+ `name` is part of the public contract another definition may
1853
+ reference. Acts as the human display label as well; no separate slug.
1854
+ * @pattern ^[a-z][a-z0-9-]*$
1855
+ */
1856
+ name: string;
1857
+ /** User schema this flow operates on. Step `fields` reference properties
1858
+ defined in this schema. The engine resolves field types, validation,
1859
+ and implicit outcomes from schema annotations at runtime.
1860
+ */
1861
+ user_schema: string;
1862
+ /** Maps each purpose this definition handles to its entry-point step.
1863
+ Keys are purpose names; values must match a `name` in `steps`. A
1864
+ definition can serve multiple purposes (e.g. a combined login/register
1865
+ flow) by listing one entry per purpose.
1866
+ */
1867
+ purposes: Partial<Record<"login" | "register" | "recovery" | "profiling" | "reauth" | "link_account", string>>;
1868
+ /** Scopes which teams or apps this flow definition applies to. Empty or
1869
+ omitted fields mean "no restriction"; when both are empty the definition
1870
+ matches every request in the project. The engine picks the most specific
1871
+ matching definition: app > team > project-wide.
1872
+ */
1873
+ audience?: CreateFlowDefinitionBodyFlowDefinitionAudience;
1874
+ /**
1875
+ * Ordered list of steps in this flow. The order is for human readability —
1876
+ actual step sequencing is determined by transitions.
1877
+ * @minItems 1
1878
+ */
1879
+ steps: CreateFlowDefinitionBodyFlowDefinitionStepsItem[];
1880
+ }; //#endregion
1881
+ //#region src/generated/model/createFlowDefinitionBody.d.ts
1882
+ type CreateFlowDefinitionBody = {
1883
+ /** @pattern ^[a-zA-Z0-9_-]+$ */project_id: string;
1884
+ /** URI of the server-published flow definition schema this definition was
1885
+ authored against. The server uses this to validate the definition.
1886
+ If not provided, the engine will use the latest schema version for validation.
1887
+ */
1888
+ schema_uri?: string;
1889
+ /** A flow definition is the server-side configuration that describes a complete
1890
+ authentication or identity flow. It is NOT sent to the frontend — the flow
1891
+ engine evaluates it and produces FlowResponse payloads (steps with capability
1892
+ dictionaries) for the client.
1893
+ Flow definitions are created by administrators and stored in the project/team
1894
+ configuration hierarchy. The engine selects the matching definition based on
1895
+ the purpose + audience when a flow is created via POST /flow.
1896
+ */
1897
+ flow_definition: CreateFlowDefinitionBodyFlowDefinition;
1898
+ }; //#endregion
1899
+ //#region src/generated/model/createFlowDefinitionDefaultDetails.d.ts
1900
+ /**
1901
+ * Generated by orval v8.10.0 🍺
1902
+ * Do not edit manually.
1903
+ * Zitadel NextGen
1904
+ * This is the next generation of the Zitadel identity platform.
1905
+ * OpenAPI spec version: 0.0.1
1906
+ */
1907
+ /**
1908
+ * Additional error-specific context.
1909
+ */
1910
+ //#endregion
1911
+ //#region src/generated/model/createHandoff200.d.ts
1912
+ /**
1913
+ * Generated by orval v8.10.0 🍺
1914
+ * Do not edit manually.
1915
+ * Zitadel NextGen
1916
+ * This is the next generation of the Zitadel identity platform.
1917
+ * OpenAPI spec version: 0.0.1
1918
+ */
1919
+ /**
1920
+ * The handoff token and metadata for session exchange.
1921
+
1922
+ This is a short-lived credential (TTL ≤ 60 seconds) that the client must exchange
1923
+ at POST /sessions/exchange to receive the final session and session_token.
1924
+ The handoff token is single-use and audience-bound to the project.
1925
+
1926
+ */
1927
+ type CreateHandoff200 = {
1928
+ /** The short-lived handoff token for session exchange.
1929
+ Exchange at: POST /sessions/exchange
1930
+ Requirements:
1931
+ - Single-use (atomic GETDEL on exchange)
1932
+ - TTL ≤ 60 seconds
1933
+ - Audience-bound to project (exchange requires sk_proj_… for matching project)
1934
+ - Idempotency-safe (Category B, 5-minute window)
1935
+ */
1936
+ handoff_token: string; /** When this handoff token expires */
1937
+ expires_at: string;
1938
+ }; //#endregion
1939
+ //#region src/generated/model/createHandoffDefault.d.ts
1940
+ /**
1941
+ * Generated by orval v8.10.0 🍺
1942
+ * Do not edit manually.
1943
+ * Zitadel NextGen
1944
+ * This is the next generation of the Zitadel identity platform.
1945
+ * OpenAPI spec version: 0.0.1
1946
+ */
1947
+ //#endregion
1948
+ //#region src/generated/model/createProject201.d.ts
1949
+ /**
1950
+ * Generated by orval v8.10.0 🍺
1951
+ * Do not edit manually.
1952
+ * Zitadel NextGen
1953
+ * This is the next generation of the Zitadel identity platform.
1954
+ * OpenAPI spec version: 0.0.1
1955
+ */
1956
+ type CreateProject201 = {
1957
+ /** The unique identifier of the project. */id: string;
1958
+ /** Secret which can be used for authentication when modifying the project.
1959
+ */
1960
+ projectSecret: string;
1961
+ /** Secret which can be used for previewing and testing the project.
1962
+ */
1963
+ previewSecret: string;
1964
+ /** Origins which are allowed for previewing and testing the project.
1965
+ */
1966
+ previewOrigins: string[]; /** The time when the project was created. */
1967
+ createdAt: string;
1968
+ }; //#endregion
1969
+ //#region src/generated/model/createProject429Details.d.ts
1970
+ /**
1971
+ * Generated by orval v8.10.0 🍺
1972
+ * Do not edit manually.
1973
+ * Zitadel NextGen
1974
+ * This is the next generation of the Zitadel identity platform.
1975
+ * OpenAPI spec version: 0.0.1
1976
+ */
1977
+ /**
1978
+ * Additional error-specific context.
1979
+ */
1980
+ //#endregion
1981
+ //#region src/generated/model/createProjectBody.d.ts
1982
+ /**
1983
+ * Generated by orval v8.10.0 🍺
1984
+ * Do not edit manually.
1985
+ * Zitadel NextGen
1986
+ * This is the next generation of the Zitadel identity platform.
1987
+ * OpenAPI spec version: 0.0.1
1988
+ */
1989
+ type CreateProjectBody = {
1990
+ /** Origins which are allowed for previewing and testing the project.
1991
+ */
1992
+ previewOrigins?: string[];
1993
+ }; //#endregion
1994
+ //#region src/generated/model/createProjectDefaultDetails.d.ts
1995
+ /**
1996
+ * Generated by orval v8.10.0 🍺
1997
+ * Do not edit manually.
1998
+ * Zitadel NextGen
1999
+ * This is the next generation of the Zitadel identity platform.
2000
+ * OpenAPI spec version: 0.0.1
2001
+ */
2002
+ /**
2003
+ * Additional error-specific context.
2004
+ */
2005
+ //#endregion
2006
+ //#region src/generated/model/createSchema201.d.ts
2007
+ /**
2008
+ * Generated by orval v8.10.0 🍺
2009
+ * Do not edit manually.
2010
+ * Zitadel NextGen
2011
+ * This is the next generation of the Zitadel identity platform.
2012
+ * OpenAPI spec version: 0.0.1
2013
+ */
2014
+ type CreateSchema201 = {
2015
+ /** The ID of the created schema */id: string;
2016
+ }; //#endregion
2017
+ //#region src/generated/model/createSchema400Details.d.ts
2018
+ /**
2019
+ * Generated by orval v8.10.0 🍺
2020
+ * Do not edit manually.
2021
+ * Zitadel NextGen
2022
+ * This is the next generation of the Zitadel identity platform.
2023
+ * OpenAPI spec version: 0.0.1
2024
+ */
2025
+ /**
2026
+ * Additional error-specific context.
2027
+ */
2028
+ //#endregion
2029
+ //#region src/generated/model/createSchemaBody.d.ts
2030
+ /**
2031
+ * Generated by orval v8.10.0 🍺
2032
+ * Do not edit manually.
2033
+ * Zitadel NextGen
2034
+ * This is the next generation of the Zitadel identity platform.
2035
+ * OpenAPI spec version: 0.0.1
2036
+ */
2037
+ type CreateSchemaBody = {
1860
2038
  /** Discriminator value for a user schema create request. */kind: "user-schema"; /** The user Schema version used for this schema. */
1861
2039
  metaSchema: string; /** A list of authentication methods supported by the user definition. */
1862
2040
  "x-auth-methods": {
@@ -2328,7 +2506,34 @@ type CreateUserParams = {
2328
2506
  */
2329
2507
  team_id?: string;
2330
2508
  }; //#endregion
2331
- //#region src/generated/model/deleteFlowDefinition404Details.d.ts
2509
+ //#region src/generated/model/deleteFlowDefinitionDefaultDetails.d.ts
2510
+ /**
2511
+ * Generated by orval v8.10.0 🍺
2512
+ * Do not edit manually.
2513
+ * Zitadel NextGen
2514
+ * This is the next generation of the Zitadel identity platform.
2515
+ * OpenAPI spec version: 0.0.1
2516
+ */
2517
+ /**
2518
+ * Additional error-specific context.
2519
+ */
2520
+ //#endregion
2521
+ //#region src/generated/model/deleteFlowDefinitionParams.d.ts
2522
+ /**
2523
+ * Generated by orval v8.10.0 🍺
2524
+ * Do not edit manually.
2525
+ * Zitadel NextGen
2526
+ * This is the next generation of the Zitadel identity platform.
2527
+ * OpenAPI spec version: 0.0.1
2528
+ */
2529
+ type DeleteFlowDefinitionParams = {
2530
+ /**
2531
+ * The project id to filter by.
2532
+ * @pattern ^[a-zA-Z0-9_-]+$
2533
+ */
2534
+ project_id: string;
2535
+ }; //#endregion
2536
+ //#region src/generated/model/endSession400Details.d.ts
2332
2537
  /**
2333
2538
  * Generated by orval v8.10.0 🍺
2334
2539
  * Do not edit manually.
@@ -2892,15 +3097,271 @@ type GetAuthAttempt200 = {
2892
3097
  * OpenAPI spec version: 0.0.1
2893
3098
  */
2894
3099
  //#endregion
2895
- //#region src/generated/model/getFlowDefinition200.d.ts
3100
+ //#region src/generated/model/getFlowDefinition200FlowDefinitionAudience.d.ts
3101
+ /**
3102
+ * Generated by orval v8.10.0 🍺
3103
+ * Do not edit manually.
3104
+ * Zitadel NextGen
3105
+ * This is the next generation of the Zitadel identity platform.
3106
+ * OpenAPI spec version: 0.0.1
3107
+ */
3108
+ /**
3109
+ * Scopes which teams or apps this flow definition applies to. Empty or
3110
+ omitted fields mean "no restriction"; when both are empty the definition
3111
+ matches every request in the project. The engine picks the most specific
3112
+ matching definition: app > team > project-wide.
3113
+
3114
+ */
3115
+ type GetFlowDefinition200FlowDefinitionAudience = {
3116
+ /** Restrict to specific teams (organizations). Empty means no team restriction. */team_ids?: string[]; /** Restrict to specific applications. Empty means no app restriction. */
3117
+ app_ids?: string[];
3118
+ }; //#endregion
3119
+ //#region src/generated/model/getFlowDefinition200FlowDefinitionStepsItemActions.d.ts
3120
+ /**
3121
+ * Generated by orval v8.10.0 🍺
3122
+ * Do not edit manually.
3123
+ * Zitadel NextGen
3124
+ * This is the next generation of the Zitadel identity platform.
3125
+ * OpenAPI spec version: 0.0.1
3126
+ */
3127
+ /**
3128
+ * Actions the user can take. Keyed by action name.
3129
+ The action name is what the frontend sends back in the submit request.
3130
+ If omitted, the engine provides a default `submit` action.
3131
+
3132
+ */
3133
+ type GetFlowDefinition200FlowDefinitionStepsItemActions = {
3134
+ [key: string]: {
3135
+ /** Marks this as the default/primary action. The runtime template uses
3136
+ this hint to choose visual emphasis. At most one action per step
3137
+ should be primary; this is not enforced here.
3138
+ */
3139
+ primary?: boolean;
3140
+ /** Optional localization key override for the action's label. When
3141
+ omitted, the engine derives a key from the step and action names.
3142
+ Display text is resolved client-side from a locale dictionary, never
3143
+ by the engine.
3144
+ */
3145
+ text_key?: string;
3146
+ };
3147
+ }; //#endregion
3148
+ //#region src/generated/model/getFlowDefinition200FlowDefinitionStepsItemComplete.d.ts
3149
+ /**
3150
+ * Generated by orval v8.10.0 🍺
3151
+ * Do not edit manually.
3152
+ * Zitadel NextGen
3153
+ * This is the next generation of the Zitadel identity platform.
3154
+ * OpenAPI spec version: 0.0.1
3155
+ */
3156
+ /**
3157
+ * Marks this as a terminal step. Tells the frontend what to do:
3158
+ - redirect: navigate to redirect_uri (OIDC/SAML callback done)
3159
+ - show: render as a success/info screen
3160
+
3161
+ */
3162
+ type GetFlowDefinition200FlowDefinitionStepsItemComplete = (typeof GetFlowDefinition200FlowDefinitionStepsItemComplete)[keyof typeof GetFlowDefinition200FlowDefinitionStepsItemComplete];
3163
+ declare const GetFlowDefinition200FlowDefinitionStepsItemComplete: {
3164
+ readonly redirect: "redirect";
3165
+ readonly show: "show";
3166
+ }; //#endregion
3167
+ //#region src/generated/model/getFlowDefinition200FlowDefinitionStepsItemGatesConfig.d.ts
3168
+ /**
3169
+ * Generated by orval v8.10.0 🍺
3170
+ * Do not edit manually.
3171
+ * Zitadel NextGen
3172
+ * This is the next generation of the Zitadel identity platform.
3173
+ * OpenAPI spec version: 0.0.1
3174
+ */
3175
+ /**
3176
+ * Provider-specific configuration consumed by the implementation when
3177
+ issuing the per-render challenge. Opaque to the engine.
3178
+
3179
+ */
3180
+ type GetFlowDefinition200FlowDefinitionStepsItemGatesConfig = {
3181
+ [key: string]: unknown;
3182
+ }; //#endregion
3183
+ //#region src/generated/model/getFlowDefinition200FlowDefinitionStepsItemGatesKind.d.ts
3184
+ /**
3185
+ * Generated by orval v8.10.0 🍺
3186
+ * Do not edit manually.
3187
+ * Zitadel NextGen
3188
+ * This is the next generation of the Zitadel identity platform.
3189
+ * OpenAPI spec version: 0.0.1
3190
+ */
3191
+ /**
3192
+ * The gate category. Only `captcha` is currently defined. Authenticator
3193
+ ceremonies (e.g. passkey) are modelled as credential auth_attempts via
3194
+ `x-credential` on a field, not as gates.
3195
+
3196
+ */
3197
+ type GetFlowDefinition200FlowDefinitionStepsItemGatesKind = (typeof GetFlowDefinition200FlowDefinitionStepsItemGatesKind)[keyof typeof GetFlowDefinition200FlowDefinitionStepsItemGatesKind];
3198
+ declare const GetFlowDefinition200FlowDefinitionStepsItemGatesKind: {
3199
+ readonly captcha: "captcha";
3200
+ }; //#endregion
3201
+ //#region src/generated/model/getFlowDefinition200FlowDefinitionStepsItemGates.d.ts
3202
+ /**
3203
+ * Security gates that must be satisfied before submission. Keyed by gate
3204
+ name. Each gate selects a kind (e.g. "captcha") and provider-specific
3205
+ configuration. The engine may also inject gates dynamically based on
3206
+ policy.
3207
+
3208
+ */
3209
+ type GetFlowDefinition200FlowDefinitionStepsItemGates = {
3210
+ [key: string]: {
3211
+ /** The gate category. Only `captcha` is currently defined. Authenticator
3212
+ ceremonies (e.g. passkey) are modelled as credential auth_attempts via
3213
+ `x-credential` on a field, not as gates.
3214
+ */
3215
+ kind: GetFlowDefinition200FlowDefinitionStepsItemGatesKind;
3216
+ /** Provider identifier within the gate kind — e.g. `altcha`, `turnstile`,
3217
+ `hcaptcha`. The engine looks up an implementation in its provider
3218
+ registry.
3219
+ */
3220
+ provider: string;
3221
+ /** Provider-specific configuration consumed by the implementation when
3222
+ issuing the per-render challenge. Opaque to the engine.
3223
+ */
3224
+ config?: GetFlowDefinition200FlowDefinitionStepsItemGatesConfig;
3225
+ };
3226
+ }; //#endregion
3227
+ //#region src/generated/model/getFlowDefinition200FlowDefinitionStepsItemOnSuccess.d.ts
3228
+ /**
3229
+ * Generated by orval v8.10.0 🍺
3230
+ * Do not edit manually.
3231
+ * Zitadel NextGen
3232
+ * This is the next generation of the Zitadel identity platform.
3233
+ * OpenAPI spec version: 0.0.1
3234
+ */
3235
+ /**
3236
+ * Server-side mutation to execute when this step completes successfully.
3237
+ Runs after field validation passes, before the transition fires.
3238
+
3239
+ - create_user: creates the user record (registration flows)
3240
+
3241
+ */
3242
+ type GetFlowDefinition200FlowDefinitionStepsItemOnSuccess = (typeof GetFlowDefinition200FlowDefinitionStepsItemOnSuccess)[keyof typeof GetFlowDefinition200FlowDefinitionStepsItemOnSuccess];
3243
+ declare const GetFlowDefinition200FlowDefinitionStepsItemOnSuccess: {
3244
+ readonly create_user: "create_user";
3245
+ }; //#endregion
3246
+ //#region src/generated/model/getFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem.d.ts
3247
+ /**
3248
+ * Generated by orval v8.10.0 🍺
3249
+ * Do not edit manually.
3250
+ * Zitadel NextGen
3251
+ * This is the next generation of the Zitadel identity platform.
3252
+ * OpenAPI spec version: 0.0.1
3253
+ */
3254
+ /**
3255
+ * An available SSO identity provider.
3256
+ */
3257
+ type GetFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem = {
3258
+ /** Provider instance identifier. */id: string; /** Display name for the provider. */
3259
+ name: string; /** Template hint for rendering (logo, colors). */
3260
+ template: string;
3261
+ }; //#endregion
3262
+ //#region src/generated/model/getFlowDefinition200FlowDefinitionStepsItemTransitions.d.ts
3263
+ /**
3264
+ * Generated by orval v8.10.0 🍺
3265
+ * Do not edit manually.
3266
+ * Zitadel NextGen
3267
+ * This is the next generation of the Zitadel identity platform.
3268
+ * OpenAPI spec version: 0.0.1
3269
+ */
3270
+ /**
3271
+ * Maps action/outcome names to their transition descriptor.
3272
+
3273
+ Keys match action names from the `actions` dict. Additional keys
3274
+ come from implicit outcomes based on schema annotations
3275
+ (e.g. `user_not_found` from `x-unique` fields) and engine
3276
+ events (e.g. `sso`, `callback`).
3277
+
3278
+ */
3279
+ type GetFlowDefinition200FlowDefinitionStepsItemTransitions = {
3280
+ [key: string]: {
3281
+ /** Step name within this flow (when `action` is null), or the name
3282
+ of another flow (when `action` is `switch` or `pivot`).
3283
+ */
3284
+ target: string;
3285
+ /** How to interpret `target`:
3286
+ - null (omitted): transition to a step in the current flow.
3287
+ - switch: replace the current flow with the target flow.
3288
+ No return — the current flow is discarded.
3289
+ Example: login ↔ register.
3290
+ - pivot: push the target flow onto the stack. The current flow
3291
+ is paused and resumes when the target flow completes (auto-pop).
3292
+ Example: login → recovery → back to login.
3293
+ */
3294
+ action?: "switch" | "pivot" | null;
3295
+ };
3296
+ }; //#endregion
3297
+ //#region src/generated/model/getFlowDefinition200FlowDefinitionStepsItem.d.ts
3298
+ /**
3299
+ * A step in a flow definition. This is the admin-authored configuration,
3300
+ not the runtime payload sent to the frontend.
3301
+
3302
+ Steps are schema-driven: `fields` references properties from the flow's
3303
+ user schema, and the engine resolves field metadata (type, validation,
3304
+ implicit outcomes) from schema annotations at runtime.
3305
+
3306
+ A step with only `complete` set is a terminal step. All other steps are
3307
+ rendered to the frontend as capability payloads.
3308
+
3309
+ */
3310
+ type GetFlowDefinition200FlowDefinitionStepsItem = {
3311
+ /** Unique step identifier within this flow. Used as transition targets
3312
+ and returned in the API response as `step.name`.
3313
+ */
3314
+ name: string;
3315
+ /** Schema property names to collect from the user. Each entry references
3316
+ a property in the flow's user schema. The engine resolves field type,
3317
+ validation rules, and implicit outcomes from schema annotations
3318
+ (e.g. a property with `x-unique` set implies a `user_not_found`
3319
+ transition outcome).
3320
+ */
3321
+ fields?: string[];
3322
+ /** Actions the user can take. Keyed by action name.
3323
+ The action name is what the frontend sends back in the submit request.
3324
+ If omitted, the engine provides a default `submit` action.
3325
+ */
3326
+ actions?: GetFlowDefinition200FlowDefinitionStepsItemActions;
3327
+ /** Security gates that must be satisfied before submission. Keyed by gate
3328
+ name. Each gate selects a kind (e.g. "captcha") and provider-specific
3329
+ configuration. The engine may also inject gates dynamically based on
3330
+ policy.
3331
+ */
3332
+ gates?: GetFlowDefinition200FlowDefinitionStepsItemGates; /** Available SSO identity providers for this step. */
3333
+ sso_providers?: GetFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem[];
3334
+ /** Server-side mutation to execute when this step completes successfully.
3335
+ Runs after field validation passes, before the transition fires.
3336
+ - create_user: creates the user record (registration flows)
3337
+ */
3338
+ on_success?: GetFlowDefinition200FlowDefinitionStepsItemOnSuccess;
3339
+ /** Marks this as a terminal step. Tells the frontend what to do:
3340
+ - redirect: navigate to redirect_uri (OIDC/SAML callback done)
3341
+ - show: render as a success/info screen
3342
+ */
3343
+ complete?: GetFlowDefinition200FlowDefinitionStepsItemComplete;
3344
+ /** Maps action/outcome names to their transition descriptor.
3345
+ Keys match action names from the `actions` dict. Additional keys
3346
+ come from implicit outcomes based on schema annotations
3347
+ (e.g. `user_not_found` from `x-unique` fields) and engine
3348
+ events (e.g. `sso`, `callback`).
3349
+ */
3350
+ transitions?: GetFlowDefinition200FlowDefinitionStepsItemTransitions;
3351
+ }; //#endregion
3352
+ //#region src/generated/model/getFlowDefinition200FlowDefinition.d.ts
2896
3353
  /**
2897
- * Generated by orval v8.10.0 🍺
2898
- * Do not edit manually.
2899
- * Zitadel NextGen
2900
- * This is the next generation of the Zitadel identity platform.
2901
- * OpenAPI spec version: 0.0.1
3354
+ * A flow definition is the server-side configuration that describes a complete
3355
+ authentication or identity flow. It is NOT sent to the frontend — the flow
3356
+ engine evaluates it and produces FlowResponse payloads (steps with capability
3357
+ dictionaries) for the client.
3358
+
3359
+ Flow definitions are created by administrators and stored in the project/team
3360
+ configuration hierarchy. The engine selects the matching definition based on
3361
+ the purpose + audience when a flow is created via POST /flow.
3362
+
2902
3363
  */
2903
- type GetFlowDefinition200 = {
3364
+ type GetFlowDefinition200FlowDefinition = {
2904
3365
  /**
2905
3366
  * Stable identifier for this flow, used as the target of cross-flow
2906
3367
  `switch` and `pivot` transitions. Renaming is not supported — the
@@ -2925,123 +3386,32 @@ type GetFlowDefinition200 = {
2925
3386
  matches every request in the project. The engine picks the most specific
2926
3387
  matching definition: app > team > project-wide.
2927
3388
  */
2928
- audience?: {
2929
- /** Restrict to specific teams (organizations). Empty means no team restriction. */team_ids?: string[]; /** Restrict to specific applications. Empty means no app restriction. */
2930
- app_ids?: string[];
2931
- };
3389
+ audience?: GetFlowDefinition200FlowDefinitionAudience;
2932
3390
  /**
2933
3391
  * Ordered list of steps in this flow. The order is for human readability —
2934
3392
  actual step sequencing is determined by transitions.
2935
3393
  * @minItems 1
2936
3394
  */
2937
- steps: {
2938
- /** Unique step identifier within this flow. Used as transition targets
2939
- and returned in the API response as `step.name`.
2940
- */
2941
- name: string;
2942
- /** Schema property names to collect from the user. Each entry references
2943
- a property in the flow's user schema. The engine resolves field type,
2944
- validation rules, and implicit outcomes from schema annotations
2945
- (e.g. a property with `x-unique` set implies a `user_not_found`
2946
- transition outcome).
2947
- */
2948
- fields?: string[];
2949
- /** Actions the user can take. Keyed by action name.
2950
- The action name is what the frontend sends back in the submit request.
2951
- If omitted, the engine provides a default `submit` action.
2952
- */
2953
- actions?: {
2954
- [key: string]: {
2955
- /** Marks this as the default/primary action. The runtime template uses
2956
- this hint to choose visual emphasis. At most one action per step
2957
- should be primary; this is not enforced here.
2958
- */
2959
- primary?: boolean;
2960
- /** Optional localization key override for the action's label. When
2961
- omitted, the engine derives a key from the step and action names.
2962
- Display text is resolved client-side from a locale dictionary, never
2963
- by the engine.
2964
- */
2965
- text_key?: string;
2966
- };
2967
- };
2968
- /** Security gates that must be satisfied before submission. Keyed by gate
2969
- name. Each gate selects a kind (e.g. "captcha") and provider-specific
2970
- configuration. The engine may also inject gates dynamically based on
2971
- policy.
2972
- */
2973
- gates?: {
2974
- [key: string]: {
2975
- /** The gate category. Only `captcha` is currently defined. Authenticator
2976
- ceremonies (e.g. passkey) are modelled as credential auth_attempts via
2977
- `x-credential` on a field, not as gates.
2978
- */
2979
- kind: "captcha";
2980
- /** Provider identifier within the gate kind — e.g. `altcha`, `turnstile`,
2981
- `hcaptcha`. The engine looks up an implementation in its provider
2982
- registry.
2983
- */
2984
- provider: string;
2985
- /** Provider-specific configuration consumed by the implementation when
2986
- issuing the per-render challenge. Opaque to the engine.
2987
- */
2988
- config?: {
2989
- [key: string]: unknown;
2990
- };
2991
- };
2992
- }; /** Available SSO identity providers for this step. */
2993
- sso_providers?: {
2994
- /** Provider instance identifier. */id: string; /** Display name for the provider. */
2995
- name: string; /** Template hint for rendering (logo, colors). */
2996
- template: string;
2997
- }[];
2998
- /** Server-side mutation to execute when this step completes successfully.
2999
- Runs after field validation passes, before the transition fires.
3000
- - create_user: creates the user record (registration flows)
3001
- */
3002
- on_success?: "create_user";
3003
- /** Marks this as a terminal step. Tells the frontend what to do:
3004
- - redirect: navigate to redirect_uri (OIDC/SAML callback done)
3005
- - show: render as a success/info screen
3006
- */
3007
- complete?: "redirect" | "show";
3008
- /** Maps action/outcome names to their transition descriptor.
3009
- Keys match action names from the `actions` dict. Additional keys
3010
- come from implicit outcomes based on schema annotations
3011
- (e.g. `user_not_found` from `x-unique` fields) and engine
3012
- events (e.g. `sso`, `callback`).
3013
- */
3014
- transitions?: {
3015
- [key: string]: {
3016
- /** Step name within this flow (when `action` is null), or the name
3017
- of another flow (when `action` is `switch` or `pivot`).
3018
- */
3019
- target: string;
3020
- /** How to interpret `target`:
3021
- - null (omitted): transition to a step in the current flow.
3022
- - switch: replace the current flow with the target flow.
3023
- No return — the current flow is discarded.
3024
- Example: login ↔ register.
3025
- - pivot: push the target flow onto the stack. The current flow
3026
- is paused and resumes when the target flow completes (auto-pop).
3027
- Example: login → recovery → back to login.
3028
- */
3029
- action?: "switch" | "pivot" | null;
3030
- };
3031
- };
3032
- }[];
3033
- } & {
3395
+ steps: GetFlowDefinition200FlowDefinitionStepsItem[];
3396
+ }; //#endregion
3397
+ //#region src/generated/model/getFlowDefinition200.d.ts
3398
+ type GetFlowDefinition200 = {
3034
3399
  /** Unique identifier for the flow definition. */id: string; /** Identifier of the project this flow definition belongs to. */
3035
- project_id: string;
3036
- /** URI of the flow definition schema this definition was authored against.
3037
- If 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.
3038
- */
3039
- schema_uri: string; /** Status of the flow definition. */
3400
+ project_id: string; /** Status of the flow definition. */
3040
3401
  status: string;
3402
+ /** A flow definition is the server-side configuration that describes a complete
3403
+ authentication or identity flow. It is NOT sent to the frontend — the flow
3404
+ engine evaluates it and produces FlowResponse payloads (steps with capability
3405
+ dictionaries) for the client.
3406
+ Flow definitions are created by administrators and stored in the project/team
3407
+ configuration hierarchy. The engine selects the matching definition based on
3408
+ the purpose + audience when a flow is created via POST /flow.
3409
+ */
3410
+ flow_definition: GetFlowDefinition200FlowDefinition;
3041
3411
  created_at: string;
3042
3412
  updated_at: string;
3043
3413
  }; //#endregion
3044
- //#region src/generated/model/getFlowDefinition404Details.d.ts
3414
+ //#region src/generated/model/getFlowDefinitionDefaultDetails.d.ts
3045
3415
  /**
3046
3416
  * Generated by orval v8.10.0 🍺
3047
3417
  * Do not edit manually.
@@ -3053,6 +3423,21 @@ type GetFlowDefinition200 = {
3053
3423
  * Additional error-specific context.
3054
3424
  */
3055
3425
  //#endregion
3426
+ //#region src/generated/model/getFlowDefinitionParams.d.ts
3427
+ /**
3428
+ * Generated by orval v8.10.0 🍺
3429
+ * Do not edit manually.
3430
+ * Zitadel NextGen
3431
+ * This is the next generation of the Zitadel identity platform.
3432
+ * OpenAPI spec version: 0.0.1
3433
+ */
3434
+ type GetFlowDefinitionParams = {
3435
+ /**
3436
+ * The project id to filter by.
3437
+ * @pattern ^[a-zA-Z0-9_-]+$
3438
+ */
3439
+ project_id: string;
3440
+ }; //#endregion
3056
3441
  //#region src/generated/model/getFlowStep200BrandingLayout.d.ts
3057
3442
  /**
3058
3443
  * Generated by orval v8.10.0 🍺
@@ -3766,6 +4151,29 @@ type GetMySession200 = {
3766
4151
  * Additional error-specific context.
3767
4152
  */
3768
4153
  //#endregion
4154
+ //#region src/generated/model/getMyUser200.d.ts
4155
+ /**
4156
+ * Generated by orval v8.10.0 🍺
4157
+ * Do not edit manually.
4158
+ * Zitadel NextGen
4159
+ * This is the next generation of the Zitadel identity platform.
4160
+ * OpenAPI spec version: 0.0.1
4161
+ */
4162
+ type GetMyUser200 = {
4163
+ [key: string]: unknown;
4164
+ }; //#endregion
4165
+ //#region src/generated/model/getMyUser401Details.d.ts
4166
+ /**
4167
+ * Generated by orval v8.10.0 🍺
4168
+ * Do not edit manually.
4169
+ * Zitadel NextGen
4170
+ * This is the next generation of the Zitadel identity platform.
4171
+ * OpenAPI spec version: 0.0.1
4172
+ */
4173
+ /**
4174
+ * Additional error-specific context.
4175
+ */
4176
+ //#endregion
3769
4177
  //#region src/generated/model/getOpenIDConfiguration200ClaimTypesSupportedItem.d.ts
3770
4178
  /**
3771
4179
  * Generated by orval v8.10.0 🍺
@@ -4673,7 +5081,7 @@ type ListFlowDefinitions200FlowDefinitionsItem = {
4673
5081
  /** URI of the flow definition schema this definition was authored against.
4674
5082
  If 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.
4675
5083
  */
4676
- schema_uri: string; /** Status of the flow definition. */
5084
+ schema_uri?: string; /** Status of the flow definition. */
4677
5085
  status: string; /** Timestamp when the flow definition was created. */
4678
5086
  created_at: string; /** Timestamp when the flow definition was last updated. */
4679
5087
  updated_at: string;
@@ -4728,7 +5136,7 @@ type ListFlowDefinitionsParams = {
4728
5136
  */
4729
5137
  page_token?: string;
4730
5138
  /**
4731
- * The unique identifier of the project
5139
+ * The project id to filter by.
4732
5140
  * @pattern ^[a-zA-Z0-9_-]+$
4733
5141
  */
4734
5142
  project_id: string;
@@ -5072,6 +5480,63 @@ type RevokeTokenBody = {
5072
5480
  * Additional error-specific context.
5073
5481
  */
5074
5482
  //#endregion
5483
+ //#region src/generated/model/setUserPasswordBody.d.ts
5484
+ /**
5485
+ * Generated by orval v8.10.0 🍺
5486
+ * Do not edit manually.
5487
+ * Zitadel NextGen
5488
+ * This is the next generation of the Zitadel identity platform.
5489
+ * OpenAPI spec version: 0.0.1
5490
+ */
5491
+ /**
5492
+ * Request to update the user's password.
5493
+ */
5494
+ type SetUserPasswordBody = {
5495
+ /** The new password for the user. */password: string;
5496
+ /** Whether the user is required to change their password on the next login.
5497
+ If not provided, it will default to false.
5498
+ */
5499
+ isChangeRequired?: boolean;
5500
+ }; //#endregion
5501
+ //#region src/generated/model/setUserPasswordDefaultDetails.d.ts
5502
+ /**
5503
+ * Generated by orval v8.10.0 🍺
5504
+ * Do not edit manually.
5505
+ * Zitadel NextGen
5506
+ * This is the next generation of the Zitadel identity platform.
5507
+ * OpenAPI spec version: 0.0.1
5508
+ */
5509
+ /**
5510
+ * Additional error-specific context.
5511
+ */
5512
+ //#endregion
5513
+ //#region src/generated/model/setUserPasswordParams.d.ts
5514
+ /**
5515
+ * Generated by orval v8.10.0 🍺
5516
+ * Do not edit manually.
5517
+ * Zitadel NextGen
5518
+ * This is the next generation of the Zitadel identity platform.
5519
+ * OpenAPI spec version: 0.0.1
5520
+ */
5521
+ type SetUserPasswordParams = {
5522
+ /**
5523
+ * The unique identifier of the project
5524
+ * @pattern ^[a-zA-Z0-9_-]+$
5525
+ */
5526
+ project_id: string;
5527
+ }; //#endregion
5528
+ //#region src/generated/model/submitFlowEvent400Details.d.ts
5529
+ /**
5530
+ * Generated by orval v8.10.0 🍺
5531
+ * Do not edit manually.
5532
+ * Zitadel NextGen
5533
+ * This is the next generation of the Zitadel identity platform.
5534
+ * OpenAPI spec version: 0.0.1
5535
+ */
5536
+ /**
5537
+ * Additional error-specific context.
5538
+ */
5539
+ //#endregion
5075
5540
  //#region src/generated/model/submitFlowEventBodyPayload.d.ts
5076
5541
  /**
5077
5542
  * Generated by orval v8.10.0 🍺
@@ -5551,13 +6016,163 @@ type SubmitFlowStep200 = {
5551
6016
  * OpenAPI spec version: 0.0.1
5552
6017
  */
5553
6018
  /**
5554
- * Layout preset selector. The default.liquid master template uses this
5555
- to branch into layout variants. Customers who eject the template
5556
- can ignore this field entirely.
6019
+ * Layout preset selector. The default.liquid master template uses this
6020
+ to branch into layout variants. Customers who eject the template
6021
+ can ignore this field entirely.
6022
+
6023
+ */
6024
+ //#endregion
6025
+ //#region src/generated/model/submitFlowStepBodyChallengeResponseProof.d.ts
6026
+ /**
6027
+ * Generated by orval v8.10.0 🍺
6028
+ * Do not edit manually.
6029
+ * Zitadel NextGen
6030
+ * This is the next generation of the Zitadel identity platform.
6031
+ * OpenAPI spec version: 0.0.1
6032
+ */
6033
+ /**
6034
+ * Method-specific proof payload.
6035
+ For passkeys, this is the WebAuthn JSON serialization of PublicKeyCredential.
6036
+
6037
+ */
6038
+ type SubmitFlowStepBodyChallengeResponseProof = {
6039
+ [key: string]: unknown;
6040
+ }; //#endregion
6041
+ //#region src/generated/model/submitFlowStepBodyChallengeResponse.d.ts
6042
+ /**
6043
+ * Response to a pending challenge on the step. Required when the step has a
6044
+ `challenge` property (e.g., after submitting a passkey action).
6045
+ The `<zl-passkey>` component populates this after the WebAuthn ceremony.
6046
+
6047
+ */
6048
+ type SubmitFlowStepBodyChallengeResponse = {
6049
+ /** The challenge identifier from `step.challenge.challenge_id`.
6050
+ Matches the server-side challenge for verification.
6051
+ */
6052
+ challenge_id?: string; /** Which auth method this response is for (e.g., 'passkey'). */
6053
+ method?: string;
6054
+ /** Method-specific proof payload.
6055
+ For passkeys, this is the WebAuthn JSON serialization of PublicKeyCredential.
6056
+ */
6057
+ proof?: SubmitFlowStepBodyChallengeResponseProof;
6058
+ }; //#endregion
6059
+ //#region src/generated/model/submitFlowStepBodyFields.d.ts
6060
+ /**
6061
+ * Generated by orval v8.10.0 🍺
6062
+ * Do not edit manually.
6063
+ * Zitadel NextGen
6064
+ * This is the next generation of the Zitadel identity platform.
6065
+ * OpenAPI spec version: 0.0.1
6066
+ */
6067
+ /**
6068
+ * User input values. Keys match field names from the step's `fields` dictionary.
6069
+
6070
+ */
6071
+ type SubmitFlowStepBodyFields = {
6072
+ [key: string]: unknown;
6073
+ }; //#endregion
6074
+ //#region src/generated/model/submitFlowStepBodyGateProofs.d.ts
6075
+ /**
6076
+ * Generated by orval v8.10.0 🍺
6077
+ * Do not edit manually.
6078
+ * Zitadel NextGen
6079
+ * This is the next generation of the Zitadel identity platform.
6080
+ * OpenAPI spec version: 0.0.1
6081
+ */
6082
+ /**
6083
+ * Solutions for security gates. Keys match gate names from the step's `gates` dictionary.
6084
+ The orchestrator collects these from `<zl-captcha>` component events.
6085
+
6086
+ */
6087
+ type SubmitFlowStepBodyGateProofs = {
6088
+ [key: string]: string;
6089
+ }; //#endregion
6090
+ //#region src/generated/model/submitFlowStepBody.d.ts
6091
+ type SubmitFlowStepBody = {
6092
+ /** Reserved for future rotation. The sealed `_zflow` cookie carries the flow state today. */session_token?: string;
6093
+ /** Which action to take. Must be a key from the step's `actions` dictionary:
6094
+ - A regular action (e.g., "submit", "register", "back")
6095
+ - The reserved value "sso" — triggers SSO redirect (requires `sso_provider_id`)
6096
+ */
6097
+ action: string;
6098
+ /** User input values. Keys match field names from the step's `fields` dictionary.
6099
+ */
6100
+ fields?: SubmitFlowStepBodyFields;
6101
+ /** Solutions for security gates. Keys match gate names from the step's `gates` dictionary.
6102
+ The orchestrator collects these from `<zl-captcha>` component events.
6103
+ */
6104
+ gate_proofs?: SubmitFlowStepBodyGateProofs;
6105
+ /** Response to a pending challenge on the step. Required when the step has a
6106
+ `challenge` property (e.g., after submitting a passkey action).
6107
+ The `<zl-passkey>` component populates this after the WebAuthn ceremony.
6108
+ */
6109
+ challenge_response?: SubmitFlowStepBodyChallengeResponse;
6110
+ /** ID of the selected SSO provider (from `sso_providers[].id`).
6111
+ Required when `action` is "sso".
6112
+ */
6113
+ sso_provider_id?: string;
6114
+ }; //#endregion
6115
+ //#region src/generated/model/submitFlowStepDefaultDetails.d.ts
6116
+ /**
6117
+ * Generated by orval v8.10.0 🍺
6118
+ * Do not edit manually.
6119
+ * Zitadel NextGen
6120
+ * This is the next generation of the Zitadel identity platform.
6121
+ * OpenAPI spec version: 0.0.1
6122
+ */
6123
+ /**
6124
+ * Additional error-specific context.
6125
+ */
6126
+ //#endregion
6127
+ //#region src/generated/model/updateFlowDefinition200FlowDefinitionAudience.d.ts
6128
+ /**
6129
+ * Generated by orval v8.10.0 🍺
6130
+ * Do not edit manually.
6131
+ * Zitadel NextGen
6132
+ * This is the next generation of the Zitadel identity platform.
6133
+ * OpenAPI spec version: 0.0.1
6134
+ */
6135
+ /**
6136
+ * Scopes which teams or apps this flow definition applies to. Empty or
6137
+ omitted fields mean "no restriction"; when both are empty the definition
6138
+ matches every request in the project. The engine picks the most specific
6139
+ matching definition: app > team > project-wide.
6140
+
6141
+ */
6142
+ type UpdateFlowDefinition200FlowDefinitionAudience = {
6143
+ /** Restrict to specific teams (organizations). Empty means no team restriction. */team_ids?: string[]; /** Restrict to specific applications. Empty means no app restriction. */
6144
+ app_ids?: string[];
6145
+ }; //#endregion
6146
+ //#region src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemActions.d.ts
6147
+ /**
6148
+ * Generated by orval v8.10.0 🍺
6149
+ * Do not edit manually.
6150
+ * Zitadel NextGen
6151
+ * This is the next generation of the Zitadel identity platform.
6152
+ * OpenAPI spec version: 0.0.1
6153
+ */
6154
+ /**
6155
+ * Actions the user can take. Keyed by action name.
6156
+ The action name is what the frontend sends back in the submit request.
6157
+ If omitted, the engine provides a default `submit` action.
5557
6158
 
5558
6159
  */
5559
- //#endregion
5560
- //#region src/generated/model/submitFlowStepBodyChallengeResponseProof.d.ts
6160
+ type UpdateFlowDefinition200FlowDefinitionStepsItemActions = {
6161
+ [key: string]: {
6162
+ /** Marks this as the default/primary action. The runtime template uses
6163
+ this hint to choose visual emphasis. At most one action per step
6164
+ should be primary; this is not enforced here.
6165
+ */
6166
+ primary?: boolean;
6167
+ /** Optional localization key override for the action's label. When
6168
+ omitted, the engine derives a key from the step and action names.
6169
+ Display text is resolved client-side from a locale dictionary, never
6170
+ by the engine.
6171
+ */
6172
+ text_key?: string;
6173
+ };
6174
+ }; //#endregion
6175
+ //#region src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemComplete.d.ts
5561
6176
  /**
5562
6177
  * Generated by orval v8.10.0 🍺
5563
6178
  * Do not edit manually.
@@ -5566,32 +6181,33 @@ can ignore this field entirely.
5566
6181
  * OpenAPI spec version: 0.0.1
5567
6182
  */
5568
6183
  /**
5569
- * Method-specific proof payload.
5570
- For passkeys, this is the WebAuthn JSON serialization of PublicKeyCredential.
6184
+ * Marks this as a terminal step. Tells the frontend what to do:
6185
+ - redirect: navigate to redirect_uri (OIDC/SAML callback done)
6186
+ - show: render as a success/info screen
5571
6187
 
5572
6188
  */
5573
- type SubmitFlowStepBodyChallengeResponseProof = {
5574
- [key: string]: unknown;
6189
+ type UpdateFlowDefinition200FlowDefinitionStepsItemComplete = (typeof UpdateFlowDefinition200FlowDefinitionStepsItemComplete)[keyof typeof UpdateFlowDefinition200FlowDefinitionStepsItemComplete];
6190
+ declare const UpdateFlowDefinition200FlowDefinitionStepsItemComplete: {
6191
+ readonly redirect: "redirect";
6192
+ readonly show: "show";
5575
6193
  }; //#endregion
5576
- //#region src/generated/model/submitFlowStepBodyChallengeResponse.d.ts
6194
+ //#region src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGatesConfig.d.ts
5577
6195
  /**
5578
- * Response to a pending challenge on the step. Required when the step has a
5579
- `challenge` property (e.g., after submitting a passkey action).
5580
- The `<zl-passkey>` component populates this after the WebAuthn ceremony.
6196
+ * Generated by orval v8.10.0 🍺
6197
+ * Do not edit manually.
6198
+ * Zitadel NextGen
6199
+ * This is the next generation of the Zitadel identity platform.
6200
+ * OpenAPI spec version: 0.0.1
6201
+ */
6202
+ /**
6203
+ * Provider-specific configuration consumed by the implementation when
6204
+ issuing the per-render challenge. Opaque to the engine.
5581
6205
 
5582
6206
  */
5583
- type SubmitFlowStepBodyChallengeResponse = {
5584
- /** The challenge identifier from `step.challenge.challenge_id`.
5585
- Matches the server-side challenge for verification.
5586
- */
5587
- challenge_id?: string; /** Which auth method this response is for (e.g., 'passkey'). */
5588
- method?: string;
5589
- /** Method-specific proof payload.
5590
- For passkeys, this is the WebAuthn JSON serialization of PublicKeyCredential.
5591
- */
5592
- proof?: SubmitFlowStepBodyChallengeResponseProof;
6207
+ type UpdateFlowDefinition200FlowDefinitionStepsItemGatesConfig = {
6208
+ [key: string]: unknown;
5593
6209
  }; //#endregion
5594
- //#region src/generated/model/submitFlowStepBodyFields.d.ts
6210
+ //#region src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGatesKind.d.ts
5595
6211
  /**
5596
6212
  * Generated by orval v8.10.0 🍺
5597
6213
  * Do not edit manually.
@@ -5600,13 +6216,42 @@ type SubmitFlowStepBodyChallengeResponse = {
5600
6216
  * OpenAPI spec version: 0.0.1
5601
6217
  */
5602
6218
  /**
5603
- * User input values. Keys match field names from the step's `fields` dictionary.
6219
+ * The gate category. Only `captcha` is currently defined. Authenticator
6220
+ ceremonies (e.g. passkey) are modelled as credential auth_attempts via
6221
+ `x-credential` on a field, not as gates.
5604
6222
 
5605
6223
  */
5606
- type SubmitFlowStepBodyFields = {
5607
- [key: string]: unknown;
6224
+ type UpdateFlowDefinition200FlowDefinitionStepsItemGatesKind = (typeof UpdateFlowDefinition200FlowDefinitionStepsItemGatesKind)[keyof typeof UpdateFlowDefinition200FlowDefinitionStepsItemGatesKind];
6225
+ declare const UpdateFlowDefinition200FlowDefinitionStepsItemGatesKind: {
6226
+ readonly captcha: "captcha";
5608
6227
  }; //#endregion
5609
- //#region src/generated/model/submitFlowStepBodyGateProofs.d.ts
6228
+ //#region src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemGates.d.ts
6229
+ /**
6230
+ * Security gates that must be satisfied before submission. Keyed by gate
6231
+ name. Each gate selects a kind (e.g. "captcha") and provider-specific
6232
+ configuration. The engine may also inject gates dynamically based on
6233
+ policy.
6234
+
6235
+ */
6236
+ type UpdateFlowDefinition200FlowDefinitionStepsItemGates = {
6237
+ [key: string]: {
6238
+ /** The gate category. Only `captcha` is currently defined. Authenticator
6239
+ ceremonies (e.g. passkey) are modelled as credential auth_attempts via
6240
+ `x-credential` on a field, not as gates.
6241
+ */
6242
+ kind: UpdateFlowDefinition200FlowDefinitionStepsItemGatesKind;
6243
+ /** Provider identifier within the gate kind — e.g. `altcha`, `turnstile`,
6244
+ `hcaptcha`. The engine looks up an implementation in its provider
6245
+ registry.
6246
+ */
6247
+ provider: string;
6248
+ /** Provider-specific configuration consumed by the implementation when
6249
+ issuing the per-render challenge. Opaque to the engine.
6250
+ */
6251
+ config?: UpdateFlowDefinition200FlowDefinitionStepsItemGatesConfig;
6252
+ };
6253
+ }; //#endregion
6254
+ //#region src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemOnSuccess.d.ts
5610
6255
  /**
5611
6256
  * Generated by orval v8.10.0 🍺
5612
6257
  * Do not edit manually.
@@ -5615,39 +6260,17 @@ type SubmitFlowStepBodyFields = {
5615
6260
  * OpenAPI spec version: 0.0.1
5616
6261
  */
5617
6262
  /**
5618
- * Solutions for security gates. Keys match gate names from the step's `gates` dictionary.
5619
- The orchestrator collects these from `<zl-captcha>` component events.
6263
+ * Server-side mutation to execute when this step completes successfully.
6264
+ Runs after field validation passes, before the transition fires.
6265
+
6266
+ - create_user: creates the user record (registration flows)
5620
6267
 
5621
6268
  */
5622
- type SubmitFlowStepBodyGateProofs = {
5623
- [key: string]: string;
5624
- }; //#endregion
5625
- //#region src/generated/model/submitFlowStepBody.d.ts
5626
- type SubmitFlowStepBody = {
5627
- /** Reserved for future rotation. The sealed `_zflow` cookie carries the flow state today. */session_token?: string;
5628
- /** Which action to take. Must be a key from the step's `actions` dictionary:
5629
- - A regular action (e.g., "submit", "register", "back")
5630
- - The reserved value "sso" — triggers SSO redirect (requires `sso_provider_id`)
5631
- */
5632
- action: string;
5633
- /** User input values. Keys match field names from the step's `fields` dictionary.
5634
- */
5635
- fields?: SubmitFlowStepBodyFields;
5636
- /** Solutions for security gates. Keys match gate names from the step's `gates` dictionary.
5637
- The orchestrator collects these from `<zl-captcha>` component events.
5638
- */
5639
- gate_proofs?: SubmitFlowStepBodyGateProofs;
5640
- /** Response to a pending challenge on the step. Required when the step has a
5641
- `challenge` property (e.g., after submitting a passkey action).
5642
- The `<zl-passkey>` component populates this after the WebAuthn ceremony.
5643
- */
5644
- challenge_response?: SubmitFlowStepBodyChallengeResponse;
5645
- /** ID of the selected SSO provider (from `sso_providers[].id`).
5646
- Required when `action` is "sso".
5647
- */
5648
- sso_provider_id?: string;
6269
+ type UpdateFlowDefinition200FlowDefinitionStepsItemOnSuccess = (typeof UpdateFlowDefinition200FlowDefinitionStepsItemOnSuccess)[keyof typeof UpdateFlowDefinition200FlowDefinitionStepsItemOnSuccess];
6270
+ declare const UpdateFlowDefinition200FlowDefinitionStepsItemOnSuccess: {
6271
+ readonly create_user: "create_user";
5649
6272
  }; //#endregion
5650
- //#region src/generated/model/submitFlowStepDefaultDetails.d.ts
6273
+ //#region src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem.d.ts
5651
6274
  /**
5652
6275
  * Generated by orval v8.10.0 🍺
5653
6276
  * Do not edit manually.
@@ -5656,10 +6279,14 @@ type SubmitFlowStepBody = {
5656
6279
  * OpenAPI spec version: 0.0.1
5657
6280
  */
5658
6281
  /**
5659
- * Additional error-specific context.
6282
+ * An available SSO identity provider.
5660
6283
  */
5661
- //#endregion
5662
- //#region src/generated/model/updateFlowDefinition200.d.ts
6284
+ type UpdateFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem = {
6285
+ /** Provider instance identifier. */id: string; /** Display name for the provider. */
6286
+ name: string; /** Template hint for rendering (logo, colors). */
6287
+ template: string;
6288
+ }; //#endregion
6289
+ //#region src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemTransitions.d.ts
5663
6290
  /**
5664
6291
  * Generated by orval v8.10.0 🍺
5665
6292
  * Do not edit manually.
@@ -5667,7 +6294,101 @@ type SubmitFlowStepBody = {
5667
6294
  * This is the next generation of the Zitadel identity platform.
5668
6295
  * OpenAPI spec version: 0.0.1
5669
6296
  */
5670
- type UpdateFlowDefinition200 = {
6297
+ /**
6298
+ * Maps action/outcome names to their transition descriptor.
6299
+
6300
+ Keys match action names from the `actions` dict. Additional keys
6301
+ come from implicit outcomes based on schema annotations
6302
+ (e.g. `user_not_found` from `x-unique` fields) and engine
6303
+ events (e.g. `sso`, `callback`).
6304
+
6305
+ */
6306
+ type UpdateFlowDefinition200FlowDefinitionStepsItemTransitions = {
6307
+ [key: string]: {
6308
+ /** Step name within this flow (when `action` is null), or the name
6309
+ of another flow (when `action` is `switch` or `pivot`).
6310
+ */
6311
+ target: string;
6312
+ /** How to interpret `target`:
6313
+ - null (omitted): transition to a step in the current flow.
6314
+ - switch: replace the current flow with the target flow.
6315
+ No return — the current flow is discarded.
6316
+ Example: login ↔ register.
6317
+ - pivot: push the target flow onto the stack. The current flow
6318
+ is paused and resumes when the target flow completes (auto-pop).
6319
+ Example: login → recovery → back to login.
6320
+ */
6321
+ action?: "switch" | "pivot" | null;
6322
+ };
6323
+ }; //#endregion
6324
+ //#region src/generated/model/updateFlowDefinition200FlowDefinitionStepsItem.d.ts
6325
+ /**
6326
+ * A step in a flow definition. This is the admin-authored configuration,
6327
+ not the runtime payload sent to the frontend.
6328
+
6329
+ Steps are schema-driven: `fields` references properties from the flow's
6330
+ user schema, and the engine resolves field metadata (type, validation,
6331
+ implicit outcomes) from schema annotations at runtime.
6332
+
6333
+ A step with only `complete` set is a terminal step. All other steps are
6334
+ rendered to the frontend as capability payloads.
6335
+
6336
+ */
6337
+ type UpdateFlowDefinition200FlowDefinitionStepsItem = {
6338
+ /** Unique step identifier within this flow. Used as transition targets
6339
+ and returned in the API response as `step.name`.
6340
+ */
6341
+ name: string;
6342
+ /** Schema property names to collect from the user. Each entry references
6343
+ a property in the flow's user schema. The engine resolves field type,
6344
+ validation rules, and implicit outcomes from schema annotations
6345
+ (e.g. a property with `x-unique` set implies a `user_not_found`
6346
+ transition outcome).
6347
+ */
6348
+ fields?: string[];
6349
+ /** Actions the user can take. Keyed by action name.
6350
+ The action name is what the frontend sends back in the submit request.
6351
+ If omitted, the engine provides a default `submit` action.
6352
+ */
6353
+ actions?: UpdateFlowDefinition200FlowDefinitionStepsItemActions;
6354
+ /** Security gates that must be satisfied before submission. Keyed by gate
6355
+ name. Each gate selects a kind (e.g. "captcha") and provider-specific
6356
+ configuration. The engine may also inject gates dynamically based on
6357
+ policy.
6358
+ */
6359
+ gates?: UpdateFlowDefinition200FlowDefinitionStepsItemGates; /** Available SSO identity providers for this step. */
6360
+ sso_providers?: UpdateFlowDefinition200FlowDefinitionStepsItemSsoProvidersItem[];
6361
+ /** Server-side mutation to execute when this step completes successfully.
6362
+ Runs after field validation passes, before the transition fires.
6363
+ - create_user: creates the user record (registration flows)
6364
+ */
6365
+ on_success?: UpdateFlowDefinition200FlowDefinitionStepsItemOnSuccess;
6366
+ /** Marks this as a terminal step. Tells the frontend what to do:
6367
+ - redirect: navigate to redirect_uri (OIDC/SAML callback done)
6368
+ - show: render as a success/info screen
6369
+ */
6370
+ complete?: UpdateFlowDefinition200FlowDefinitionStepsItemComplete;
6371
+ /** Maps action/outcome names to their transition descriptor.
6372
+ Keys match action names from the `actions` dict. Additional keys
6373
+ come from implicit outcomes based on schema annotations
6374
+ (e.g. `user_not_found` from `x-unique` fields) and engine
6375
+ events (e.g. `sso`, `callback`).
6376
+ */
6377
+ transitions?: UpdateFlowDefinition200FlowDefinitionStepsItemTransitions;
6378
+ }; //#endregion
6379
+ //#region src/generated/model/updateFlowDefinition200FlowDefinition.d.ts
6380
+ /**
6381
+ * A flow definition is the server-side configuration that describes a complete
6382
+ authentication or identity flow. It is NOT sent to the frontend — the flow
6383
+ engine evaluates it and produces FlowResponse payloads (steps with capability
6384
+ dictionaries) for the client.
6385
+
6386
+ Flow definitions are created by administrators and stored in the project/team
6387
+ configuration hierarchy. The engine selects the matching definition based on
6388
+ the purpose + audience when a flow is created via POST /flow.
6389
+
6390
+ */
6391
+ type UpdateFlowDefinition200FlowDefinition = {
5671
6392
  /**
5672
6393
  * Stable identifier for this flow, used as the target of cross-flow
5673
6394
  `switch` and `pivot` transitions. Renaming is not supported — the
@@ -5692,119 +6413,28 @@ type UpdateFlowDefinition200 = {
5692
6413
  matches every request in the project. The engine picks the most specific
5693
6414
  matching definition: app > team > project-wide.
5694
6415
  */
5695
- audience?: {
5696
- /** Restrict to specific teams (organizations). Empty means no team restriction. */team_ids?: string[]; /** Restrict to specific applications. Empty means no app restriction. */
5697
- app_ids?: string[];
5698
- };
6416
+ audience?: UpdateFlowDefinition200FlowDefinitionAudience;
5699
6417
  /**
5700
6418
  * Ordered list of steps in this flow. The order is for human readability —
5701
6419
  actual step sequencing is determined by transitions.
5702
6420
  * @minItems 1
5703
6421
  */
5704
- steps: {
5705
- /** Unique step identifier within this flow. Used as transition targets
5706
- and returned in the API response as `step.name`.
5707
- */
5708
- name: string;
5709
- /** Schema property names to collect from the user. Each entry references
5710
- a property in the flow's user schema. The engine resolves field type,
5711
- validation rules, and implicit outcomes from schema annotations
5712
- (e.g. a property with `x-unique` set implies a `user_not_found`
5713
- transition outcome).
5714
- */
5715
- fields?: string[];
5716
- /** Actions the user can take. Keyed by action name.
5717
- The action name is what the frontend sends back in the submit request.
5718
- If omitted, the engine provides a default `submit` action.
5719
- */
5720
- actions?: {
5721
- [key: string]: {
5722
- /** Marks this as the default/primary action. The runtime template uses
5723
- this hint to choose visual emphasis. At most one action per step
5724
- should be primary; this is not enforced here.
5725
- */
5726
- primary?: boolean;
5727
- /** Optional localization key override for the action's label. When
5728
- omitted, the engine derives a key from the step and action names.
5729
- Display text is resolved client-side from a locale dictionary, never
5730
- by the engine.
5731
- */
5732
- text_key?: string;
5733
- };
5734
- };
5735
- /** Security gates that must be satisfied before submission. Keyed by gate
5736
- name. Each gate selects a kind (e.g. "captcha") and provider-specific
5737
- configuration. The engine may also inject gates dynamically based on
5738
- policy.
5739
- */
5740
- gates?: {
5741
- [key: string]: {
5742
- /** The gate category. Only `captcha` is currently defined. Authenticator
5743
- ceremonies (e.g. passkey) are modelled as credential auth_attempts via
5744
- `x-credential` on a field, not as gates.
5745
- */
5746
- kind: "captcha";
5747
- /** Provider identifier within the gate kind — e.g. `altcha`, `turnstile`,
5748
- `hcaptcha`. The engine looks up an implementation in its provider
5749
- registry.
5750
- */
5751
- provider: string;
5752
- /** Provider-specific configuration consumed by the implementation when
5753
- issuing the per-render challenge. Opaque to the engine.
5754
- */
5755
- config?: {
5756
- [key: string]: unknown;
5757
- };
5758
- };
5759
- }; /** Available SSO identity providers for this step. */
5760
- sso_providers?: {
5761
- /** Provider instance identifier. */id: string; /** Display name for the provider. */
5762
- name: string; /** Template hint for rendering (logo, colors). */
5763
- template: string;
5764
- }[];
5765
- /** Server-side mutation to execute when this step completes successfully.
5766
- Runs after field validation passes, before the transition fires.
5767
- - create_user: creates the user record (registration flows)
5768
- */
5769
- on_success?: "create_user";
5770
- /** Marks this as a terminal step. Tells the frontend what to do:
5771
- - redirect: navigate to redirect_uri (OIDC/SAML callback done)
5772
- - show: render as a success/info screen
5773
- */
5774
- complete?: "redirect" | "show";
5775
- /** Maps action/outcome names to their transition descriptor.
5776
- Keys match action names from the `actions` dict. Additional keys
5777
- come from implicit outcomes based on schema annotations
5778
- (e.g. `user_not_found` from `x-unique` fields) and engine
5779
- events (e.g. `sso`, `callback`).
5780
- */
5781
- transitions?: {
5782
- [key: string]: {
5783
- /** Step name within this flow (when `action` is null), or the name
5784
- of another flow (when `action` is `switch` or `pivot`).
5785
- */
5786
- target: string;
5787
- /** How to interpret `target`:
5788
- - null (omitted): transition to a step in the current flow.
5789
- - switch: replace the current flow with the target flow.
5790
- No return — the current flow is discarded.
5791
- Example: login ↔ register.
5792
- - pivot: push the target flow onto the stack. The current flow
5793
- is paused and resumes when the target flow completes (auto-pop).
5794
- Example: login → recovery → back to login.
5795
- */
5796
- action?: "switch" | "pivot" | null;
5797
- };
5798
- };
5799
- }[];
5800
- } & {
6422
+ steps: UpdateFlowDefinition200FlowDefinitionStepsItem[];
6423
+ }; //#endregion
6424
+ //#region src/generated/model/updateFlowDefinition200.d.ts
6425
+ type UpdateFlowDefinition200 = {
5801
6426
  /** Unique identifier for the flow definition. */id: string; /** Identifier of the project this flow definition belongs to. */
5802
- project_id: string;
5803
- /** URI of the flow definition schema this definition was authored against.
5804
- If 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.
5805
- */
5806
- schema_uri: string; /** Status of the flow definition. */
6427
+ project_id: string; /** Status of the flow definition. */
5807
6428
  status: string;
6429
+ /** A flow definition is the server-side configuration that describes a complete
6430
+ authentication or identity flow. It is NOT sent to the frontend — the flow
6431
+ engine evaluates it and produces FlowResponse payloads (steps with capability
6432
+ dictionaries) for the client.
6433
+ Flow definitions are created by administrators and stored in the project/team
6434
+ configuration hierarchy. The engine selects the matching definition based on
6435
+ the purpose + audience when a flow is created via POST /flow.
6436
+ */
6437
+ flow_definition: UpdateFlowDefinition200FlowDefinition;
5808
6438
  created_at: string;
5809
6439
  updated_at: string;
5810
6440
  }; //#endregion
@@ -6117,6 +6747,21 @@ type UpdateFlowDefinitionBody = {
6117
6747
  * Additional error-specific context.
6118
6748
  */
6119
6749
  //#endregion
6750
+ //#region src/generated/model/updateFlowDefinitionParams.d.ts
6751
+ /**
6752
+ * Generated by orval v8.10.0 🍺
6753
+ * Do not edit manually.
6754
+ * Zitadel NextGen
6755
+ * This is the next generation of the Zitadel identity platform.
6756
+ * OpenAPI spec version: 0.0.1
6757
+ */
6758
+ type UpdateFlowDefinitionParams = {
6759
+ /**
6760
+ * The project id to filter by.
6761
+ * @pattern ^[a-zA-Z0-9_-]+$
6762
+ */
6763
+ project_id: string;
6764
+ }; //#endregion
6120
6765
  //#region src/generated/model/verifyChallengeProof200ChallengesItemMethod.d.ts
6121
6766
  /**
6122
6767
  * Generated by orval v8.10.0 🍺
@@ -6455,6 +7100,7 @@ declare class ZlField extends LitElement {
6455
7100
  accessor invalid: boolean;
6456
7101
  private accessor hasHelp;
6457
7102
  private accessor hasSuffixSlot;
7103
+ private accessor inputEl;
6458
7104
  private readonly inputId;
6459
7105
  private readonly internals;
6460
7106
  constructor();
@@ -6513,6 +7159,12 @@ declare global {
6513
7159
  declare class ZlPageShell extends LitElement {
6514
7160
  static styles: _$lit.CSSResult[];
6515
7161
  render(): _$lit.TemplateResult<1>;
7162
+ /**
7163
+ * Re-render when a named slot's assignment changes so a footer/header added
7164
+ * after first paint updates the empty-region class. The initial render reads
7165
+ * children synchronously (no empty-then-filled flash).
7166
+ */
7167
+ private onSlotChange;
6516
7168
  private lightDomSlotFilled;
6517
7169
  }
6518
7170
  declare const zlPageShellManifest: AtomManifest;
@@ -6694,7 +7346,6 @@ declare class ZlPill extends LitElement {
6694
7346
  accessor tone: "neutral" | "pink" | "purple" | "orange" | "success";
6695
7347
  accessor href: string | undefined;
6696
7348
  accessor ariaLabel: string | null;
6697
- private surfaceClasses;
6698
7349
  render(): _$lit.TemplateResult<1>;
6699
7350
  }
6700
7351
  declare const zlPillManifest: AtomManifest;
@@ -6704,5 +7355,5 @@ declare global {
6704
7355
  }
6705
7356
  } //# sourceMappingURL=zl-pill.d.ts.map
6706
7357
  //#endregion
6707
- export { GetKeys200 as $, CreateFlowDefinitionBody as A, SubmitFlowStepBody as At, CreateTeamBody as B, zlAlertManifest as Bt, CreateFlow201StepChallenge as C, ListSessionsParams as Ct, CreateFlowBody as D, RevokeTokenBody as Dt, CreateFlow201StepSsoProvidersItem as E, RevokeSessionParams as Et, CreateSchemaBody as F, ZlCard as Ft, EndSessionParams as G, CreateUser201 as H, ZlIcon as Ht, CreateSchemaParams as I, zlCardManifest as It, ExchangeHandoffParams as J, ExchangeHandoff200 as K, CreateSession201 as L, ZlButton as Lt, CreateProject201 as M, UpdateFlowDefinitionBody as Mt, CreateProjectBody as N, VerifyChallengeProof200 as Nt, CreateFlowBodyPurpose as O, SubmitFlowEventBody as Ot, CreateSchema201 as P, VerifyChallengeProofBody as Pt, GetHealthDefault as Q, CreateSessionBody as R, zlButtonManifest as Rt, CreateFlow201StepActions as S, ListSessions200 as St, CreateFlow201StepGates as T, ListUsersParams as Tt, CreateUserBody as U, zlIconManifest as Ut, CreateTeamParams as V, IconName as Vt, CreateUserParams as W, GetFlowDefinition200 as X, GetAuthAttempt200 as Y, GetFlowStep200 as Z, CreateAuthAttemptBody as _, IntrospectBody as _t, ZlPasskeyResultDetail as a, GetSchemaById200 as at, CreateFlow201BrandingLayout as b, ListFlowDefinitions200 as bt, zlPageShellManifest as c, GetSessionParams as ct, zlFieldManifest as d, GetToken200 as dt, GetLiveDefault as et, AuthorizeDevice200 as f, GetTokenBody as ft, CreateAuthAttempt201 as g, Introspect200 as gt, AuthorizeGetParams as h, GetUserInfo200 as ht, ZlPasskeyErrorDetail as i, GetReadyDefault as it, CreateHandoff200 as j, UpdateFlowDefinition200 as jt, CreateFlowDefinition201 as k, SubmitFlowStep200 as kt, ZlField as l, GetTeam200 as lt, AuthorizeGetDefault as m, GetUserByIDParams as mt, zlPillManifest as n, GetOpenIDConfiguration200 as nt, zlPasskeyManifest as o, GetSchemaByIdParams as ot, AuthorizeDeviceParams as p, GetUserByID200 as pt, ExchangeHandoffBody as q, ZlPasskey as r, GetProject200 as rt, ZlPageShell as s, GetSession200 as st, ZlPill as t, GetMySession200 as tt, ZlFieldType as u, GetTeamParams as ut, CreateFlow201 as v, IssueChallenge201 as vt, CreateFlow201StepFields as w, ListUsers200Item as wt, CreateFlow201Step as x, ListFlowDefinitionsParams as xt, CreateFlow201Branding as y, IssueChallengeBody as yt, CreateTeam201 as z, ZlAlert as zt };
6708
- //# sourceMappingURL=index-Dd8hfOWt.d.mts.map
7358
+ export { GetFlowStep200 as $, CreateFlowDefinitionBody as A, RevokeTokenBody as At, CreateTeamBody as B, VerifyChallengeProofBody as Bt, CreateFlow201StepChallenge as C, ListFlowDefinitions200 as Ct, CreateFlowBody as D, ListUsers200Item as Dt, CreateFlow201StepSsoProvidersItem as E, ListSessionsParams as Et, CreateSchemaBody as F, SubmitFlowStepBody as Ft, DeleteFlowDefinitionParams as G, ZlAlert as Gt, CreateUser201 as H, zlCardManifest as Ht, CreateSchemaParams as I, UpdateFlowDefinition200 as It, ExchangeHandoffBody as J, ZlIcon as Jt, EndSessionParams as K, zlAlertManifest as Kt, CreateSession201 as L, UpdateFlowDefinitionBody as Lt, CreateProject201 as M, SetUserPasswordParams as Mt, CreateProjectBody as N, SubmitFlowEventBody as Nt, CreateFlowBodyPurpose as O, ListUsersParams as Ot, CreateSchema201 as P, SubmitFlowStep200 as Pt, GetFlowDefinitionParams as Q, CreateSessionBody as R, UpdateFlowDefinitionParams as Rt, CreateFlow201StepActions as S, IssueChallengeBody as St, CreateFlow201StepGates as T, ListSessions200 as Tt, CreateUserBody as U, ZlButton as Ut, CreateTeamParams as V, ZlCard as Vt, CreateUserParams as W, zlButtonManifest as Wt, GetAuthAttempt200 as X, ExchangeHandoffParams as Y, zlIconManifest as Yt, GetFlowDefinition200 as Z, CreateAuthAttemptBody as _, GetUserByIDParams as _t, ZlPasskeyResultDetail as a, GetOpenIDConfiguration200 as at, CreateFlow201BrandingLayout as b, IntrospectBody as bt, zlPageShellManifest as c, GetSchemaById200 as ct, zlFieldManifest as d, GetSessionParams as dt, GetHealthDefault as et, AuthorizeDevice200 as f, GetTeam200 as ft, CreateAuthAttempt201 as g, GetUserByID200 as gt, AuthorizeGetParams as h, GetTokenBody as ht, ZlPasskeyErrorDetail as i, GetMyUser200 as it, CreateHandoff200 as j, SetUserPasswordBody as jt, CreateFlowDefinition201 as k, RevokeSessionParams as kt, ZlField as l, GetSchemaByIdParams as lt, AuthorizeGetDefault as m, GetToken200 as mt, zlPillManifest as n, GetLiveDefault as nt, zlPasskeyManifest as o, GetProject200 as ot, AuthorizeDeviceParams as p, GetTeamParams as pt, ExchangeHandoff200 as q, IconName as qt, ZlPasskey as r, GetMySession200 as rt, ZlPageShell as s, GetReadyDefault as st, ZlPill as t, GetKeys200 as tt, ZlFieldType as u, GetSession200 as ut, CreateFlow201 as v, GetUserInfo200 as vt, CreateFlow201StepFields as w, ListFlowDefinitionsParams as wt, CreateFlow201Step as x, IssueChallenge201 as xt, CreateFlow201Branding as y, Introspect200 as yt, CreateTeam201 as z, VerifyChallengeProof200 as zt };
7359
+ //# sourceMappingURL=index-DmtnqUIY.d.mts.map