@zitadel/cli 1.0.0-alpha.25 → 1.0.0-alpha.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,15 +1,15 @@
1
1
  # @zitadel/cli
2
2
 
3
- Scaffolds Zitadel auth (login, register, profile, middleware/proxy) into a Next.js, Nuxt, React, Vue, Angular, Solid, Svelte, or Qwik app.
3
+ Scaffolds Zitadel auth (login, register, profile, middleware/proxy) into a Next.js, Nuxt, SvelteKit, SolidStart, Qwik Router, TanStack Start, React, Vue, Angular, Solid, Svelte, or Qwik app.
4
4
 
5
5
  ```sh
6
6
  npx @zitadel/cli@alpha start
7
7
  npx @zitadel/cli@alpha setup --server local
8
8
  ```
9
9
 
10
- During the public alpha, bare `npx @zitadel/cli` resolves to the same tested
11
- alpha CLI. Use `@alpha` or an exact `0.1.0-alpha.N` selector in bug reports and
12
- automation when reproducibility matters.
10
+ Always pass `@alpha`: bare `npx @zitadel/cli` resolves npm's `latest` tag, which
11
+ still points at an early `0.0.0` build. Use an exact `1.0.0-alpha.N` selector in
12
+ bug reports and automation when reproducibility matters.
13
13
 
14
14
  > **Beta.** This is the **next-generation Zitadel**, a ground-up rewrite of the platform. It is distinct from the established Zitadel at [github.com/zitadel/zitadel](https://github.com/zitadel/zitadel). APIs and CLI flags will change.
15
15
 
@@ -69,9 +69,9 @@ For a reproducible tester report, use the exact alpha train from the GitHub
69
69
  Release:
70
70
 
71
71
  ```sh
72
- npx @zitadel/cli@0.1.0-alpha.N doctor
73
- npx @zitadel/cli@0.1.0-alpha.N start
74
- npx @zitadel/cli@0.1.0-alpha.N setup --server local
72
+ npx @zitadel/cli@1.0.0-alpha.N doctor
73
+ npx @zitadel/cli@1.0.0-alpha.N start
74
+ npx @zitadel/cli@1.0.0-alpha.N setup --server local
75
75
  ```
76
76
 
77
77
  The default project flow supports password registration/login, passkey
@@ -127,6 +127,12 @@ which ships in this package.
127
127
 
128
128
  <!-- commands -->
129
129
  * [`zitadel apply`](#zitadel-apply)
130
+ * [`zitadel auth-method passkey disable`](#zitadel-auth-method-passkey-disable)
131
+ * [`zitadel auth-method passkey enable`](#zitadel-auth-method-passkey-enable)
132
+ * [`zitadel auth-method password disable`](#zitadel-auth-method-password-disable)
133
+ * [`zitadel auth-method password enable`](#zitadel-auth-method-password-enable)
134
+ * [`zitadel auth-method sso disable`](#zitadel-auth-method-sso-disable)
135
+ * [`zitadel auth-method sso enable`](#zitadel-auth-method-sso-enable)
130
136
  * [`zitadel autocomplete [SHELL]`](#zitadel-autocomplete-shell)
131
137
  * [`zitadel branding eject`](#zitadel-branding-eject)
132
138
  * [`zitadel branding get ID`](#zitadel-branding-get-id)
@@ -136,8 +142,6 @@ which ships in this package.
136
142
  * [`zitadel console`](#zitadel-console)
137
143
  * [`zitadel doctor`](#zitadel-doctor)
138
144
  * [`zitadel eject`](#zitadel-eject)
139
- * [`zitadel environments get NAME`](#zitadel-environments-get-name)
140
- * [`zitadel environments list`](#zitadel-environments-list)
141
145
  * [`zitadel events get ID`](#zitadel-events-get-id)
142
146
  * [`zitadel events list`](#zitadel-events-list)
143
147
  * [`zitadel flow-definitions get FLOW`](#zitadel-flow-definitions-get-flow)
@@ -166,7 +170,6 @@ which ships in this package.
166
170
  * [`zitadel sessions list`](#zitadel-sessions-list)
167
171
  * [`zitadel sessions revoke ID`](#zitadel-sessions-revoke-id)
168
172
  * [`zitadel setup`](#zitadel-setup)
169
- * [`zitadel sso enable`](#zitadel-sso-enable)
170
173
  * [`zitadel start`](#zitadel-start)
171
174
  * [`zitadel status`](#zitadel-status)
172
175
  * [`zitadel stop`](#zitadel-stop)
@@ -217,6 +220,252 @@ DESCRIPTION
217
220
  Validate and upload repo config to the platform.
218
221
  ```
219
222
 
223
+ ## `zitadel auth-method passkey disable`
224
+
225
+ Disable passkey sign-in for a user schema.
226
+
227
+ ```
228
+ USAGE
229
+ $ zitadel auth-method passkey disable [--json] [-c <value>] [-s <value>] [-n]
230
+ [--dry-run] [-v] [--debug] [--color] [--telemetry] [--schema <value>] [-f]
231
+
232
+ FLAGS
233
+ -c, --cwd=<value> Project directory to operate on.
234
+ -f, --force Disable the schema's last way to sign in. Its users can
235
+ then only be managed through the API.
236
+ -n, --non-interactive Disable prompts. Required when scripting or running as
237
+ an agent.
238
+ -s, --server=<value> Override the resolved server URL.
239
+ -v, --verbose Verbose logging.
240
+ --[no-]color Colorize human output. Disable with --no-color;
241
+ NO_COLOR and FORCE_COLOR are honored too.
242
+ --debug Debug logging.
243
+ --dry-run Preview without mutating files or the platform.
244
+ --schema=<value> User schema to change. Required when the Project has
245
+ more than one.
246
+ --[no-]telemetry Send anonymous usage analytics. Disable with
247
+ --no-telemetry.
248
+
249
+ GLOBAL FLAGS
250
+ --json Format output as json.
251
+
252
+ DESCRIPTION
253
+ Disable passkey sign-in for a user schema.
254
+
255
+ EXAMPLES
256
+ $ zitadel auth-method passkey disable
257
+
258
+ $ zitadel auth-method passkey disable --schema customers
259
+ ```
260
+
261
+ ## `zitadel auth-method passkey enable`
262
+
263
+ Enable passkey sign-in for a user schema.
264
+
265
+ ```
266
+ USAGE
267
+ $ zitadel auth-method passkey enable [--json] [-c <value>] [-s <value>] [-n]
268
+ [--dry-run] [-v] [--debug] [--color] [--telemetry] [--schema <value>]
269
+
270
+ FLAGS
271
+ -c, --cwd=<value> Project directory to operate on.
272
+ -n, --non-interactive Disable prompts. Required when scripting or running as
273
+ an agent.
274
+ -s, --server=<value> Override the resolved server URL.
275
+ -v, --verbose Verbose logging.
276
+ --[no-]color Colorize human output. Disable with --no-color;
277
+ NO_COLOR and FORCE_COLOR are honored too.
278
+ --debug Debug logging.
279
+ --dry-run Preview without mutating files or the platform.
280
+ --schema=<value> User schema to change. Required when the Project has
281
+ more than one.
282
+ --[no-]telemetry Send anonymous usage analytics. Disable with
283
+ --no-telemetry.
284
+
285
+ GLOBAL FLAGS
286
+ --json Format output as json.
287
+
288
+ DESCRIPTION
289
+ Enable passkey sign-in for a user schema.
290
+
291
+ EXAMPLES
292
+ $ zitadel auth-method passkey enable
293
+
294
+ $ zitadel auth-method passkey enable --schema customers
295
+ ```
296
+
297
+ ## `zitadel auth-method password disable`
298
+
299
+ Disable password sign-in for a user schema.
300
+
301
+ ```
302
+ USAGE
303
+ $ zitadel auth-method password disable [--json] [-c <value>] [-s <value>] [-n]
304
+ [--dry-run] [-v] [--debug] [--color] [--telemetry] [--schema <value>] [-f]
305
+
306
+ FLAGS
307
+ -c, --cwd=<value> Project directory to operate on.
308
+ -f, --force Disable the schema's last way to sign in. Its users can
309
+ then only be managed through the API.
310
+ -n, --non-interactive Disable prompts. Required when scripting or running as
311
+ an agent.
312
+ -s, --server=<value> Override the resolved server URL.
313
+ -v, --verbose Verbose logging.
314
+ --[no-]color Colorize human output. Disable with --no-color;
315
+ NO_COLOR and FORCE_COLOR are honored too.
316
+ --debug Debug logging.
317
+ --dry-run Preview without mutating files or the platform.
318
+ --schema=<value> User schema to change. Required when the Project has
319
+ more than one.
320
+ --[no-]telemetry Send anonymous usage analytics. Disable with
321
+ --no-telemetry.
322
+
323
+ GLOBAL FLAGS
324
+ --json Format output as json.
325
+
326
+ DESCRIPTION
327
+ Disable password sign-in for a user schema.
328
+
329
+ EXAMPLES
330
+ $ zitadel auth-method password disable
331
+
332
+ $ zitadel auth-method password disable --schema customers
333
+ ```
334
+
335
+ ## `zitadel auth-method password enable`
336
+
337
+ Enable password sign-in for a user schema.
338
+
339
+ ```
340
+ USAGE
341
+ $ zitadel auth-method password enable [--json] [-c <value>] [-s <value>] [-n]
342
+ [--dry-run] [-v] [--debug] [--color] [--telemetry] [--schema <value>]
343
+
344
+ FLAGS
345
+ -c, --cwd=<value> Project directory to operate on.
346
+ -n, --non-interactive Disable prompts. Required when scripting or running as
347
+ an agent.
348
+ -s, --server=<value> Override the resolved server URL.
349
+ -v, --verbose Verbose logging.
350
+ --[no-]color Colorize human output. Disable with --no-color;
351
+ NO_COLOR and FORCE_COLOR are honored too.
352
+ --debug Debug logging.
353
+ --dry-run Preview without mutating files or the platform.
354
+ --schema=<value> User schema to change. Required when the Project has
355
+ more than one.
356
+ --[no-]telemetry Send anonymous usage analytics. Disable with
357
+ --no-telemetry.
358
+
359
+ GLOBAL FLAGS
360
+ --json Format output as json.
361
+
362
+ DESCRIPTION
363
+ Enable password sign-in for a user schema.
364
+
365
+ EXAMPLES
366
+ $ zitadel auth-method password enable
367
+
368
+ $ zitadel auth-method password enable --schema customers
369
+ ```
370
+
371
+ ## `zitadel auth-method sso disable`
372
+
373
+ Remove an identity provider from a user schema.
374
+
375
+ ```
376
+ USAGE
377
+ $ zitadel auth-method sso disable [--json] [-c <value>] [-s <value>] [-n]
378
+ [--dry-run] [-v] [--debug] [--color] [--telemetry] [--schema <value>]
379
+ [--provider <value>] [-f]
380
+
381
+ FLAGS
382
+ -c, --cwd=<value> Project directory to operate on.
383
+ -f, --force Disable the schema's last way to sign in. Its users
384
+ can then only be managed through the API.
385
+ -n, --non-interactive Disable prompts. Required when scripting or running as
386
+ an agent.
387
+ -s, --server=<value> Override the resolved server URL.
388
+ -v, --verbose Verbose logging.
389
+ --[no-]color Colorize human output. Disable with --no-color;
390
+ NO_COLOR and FORCE_COLOR are honored too.
391
+ --debug Debug logging.
392
+ --dry-run Preview without mutating files or the platform.
393
+ --provider=<value> Identity provider to remove.
394
+ --schema=<value> User schema to change. Required when the Project has
395
+ more than one.
396
+ --[no-]telemetry Send anonymous usage analytics. Disable with
397
+ --no-telemetry.
398
+
399
+ GLOBAL FLAGS
400
+ --json Format output as json.
401
+
402
+ DESCRIPTION
403
+ Remove an identity provider from a user schema.
404
+
405
+ EXAMPLES
406
+ $ zitadel auth-method sso disable --provider google
407
+
408
+ $ zitadel auth-method sso disable --provider google --schema customers
409
+ ```
410
+
411
+ ## `zitadel auth-method sso enable`
412
+
413
+ Add an identity provider to a user schema.
414
+
415
+ ```
416
+ USAGE
417
+ $ zitadel auth-method sso enable [--json] [-c <value>] [-s <value>] [-n]
418
+ [--dry-run] [-v] [--debug] [--color] [--telemetry] [--schema <value>]
419
+ [--provider google|custom] [--slug <value>] [--display-name <value>]
420
+ [--issuer <value>] [--scopes <value>] [--client-id <value>]
421
+
422
+ FLAGS
423
+ -c, --cwd=<value> Project directory to operate on.
424
+ -n, --non-interactive Disable prompts. Required when scripting or
425
+ running as an agent.
426
+ -s, --server=<value> Override the resolved server URL.
427
+ -v, --verbose Verbose logging.
428
+ --client-id=<value> Client id of the application registered with the
429
+ provider.
430
+ --[no-]color Colorize human output. Disable with --no-color;
431
+ NO_COLOR and FORCE_COLOR are honored too.
432
+ --debug Debug logging.
433
+ --display-name=<value> Name shown on the custom connection's sign-in
434
+ button.
435
+ --dry-run Preview without mutating files or the platform.
436
+ --issuer=<value> Issuer URL of the custom provider. Its endpoints
437
+ are found by OIDC discovery.
438
+ --provider=<option> Identity provider to enable, or "custom" for any
439
+ other OpenID Connect provider.
440
+ <options: google|custom>
441
+ --schema=<value> User schema to change. Required when the Project
442
+ has more than one.
443
+ --scopes=<value> Scopes the custom connection requests, separated
444
+ by spaces or commas. Must include openid. Default:
445
+ openid profile email.
446
+ --slug=<value> Name of the custom connection. Schemas and flows
447
+ refer to it by this.
448
+ --[no-]telemetry Send anonymous usage analytics. Disable with
449
+ --no-telemetry.
450
+
451
+ GLOBAL FLAGS
452
+ --json Format output as json.
453
+
454
+ DESCRIPTION
455
+ Add an identity provider to a user schema.
456
+
457
+ EXAMPLES
458
+ $ zitadel auth-method sso enable --provider google
459
+
460
+ $ zitadel auth-method sso enable --provider google --schema customers
461
+
462
+ $ zitadel auth-method sso enable --provider google --client-id 1234-abc.apps.googleusercontent.com --non-interactive < secret.txt
463
+
464
+ $ zitadel auth-method sso enable --provider custom --slug acme-sso --display-name 'Acme SSO' --issuer https://sso.acme.example
465
+
466
+ $ zitadel auth-method sso enable --provider custom --slug acme-sso --display-name 'Acme SSO' --issuer https://sso.acme.example --scopes 'openid profile email groups' --client-id abc123 --non-interactive < secret.txt
467
+ ```
468
+
220
469
  ## `zitadel autocomplete [SHELL]`
221
470
 
222
471
  Display autocomplete installation instructions.
@@ -490,7 +739,8 @@ FLAGS
490
739
  --dry-run Preview without mutating files or the platform.
491
740
  --fix Repair missing files and stale managed wiring.
492
741
  --image=<value> Container image to check.
493
- --port=<value> [default: 8080] Local HTTP port.
742
+ --port=<value> Local HTTP port to check. Defaults to the port this
743
+ directory's server uses.
494
744
  --runtime=<option> Local runtime backend.
495
745
  <options: binary|docker>
496
746
  --[no-]telemetry Send anonymous usage analytics. Disable with
@@ -537,88 +787,6 @@ ALIASES
537
787
  $ zitadel uninstall
538
788
  ```
539
789
 
540
- ## `zitadel environments get NAME`
541
-
542
- Get one environment by id.
543
-
544
- ```
545
- USAGE
546
- $ zitadel environments get NAME [--json] [-c <value>] [-s <value>] [-n]
547
- [--dry-run] [-v] [--debug] [--color] [--telemetry] [--fields <value>]
548
-
549
- ARGUMENTS
550
- NAME environment name
551
-
552
- FLAGS
553
- -c, --cwd=<value> Project directory to operate on.
554
- -n, --non-interactive Disable prompts. Required when scripting or running as
555
- an agent.
556
- -s, --server=<value> Override the resolved server URL.
557
- -v, --verbose Verbose logging.
558
- --[no-]color Colorize human output. Disable with --no-color;
559
- NO_COLOR and FORCE_COLOR are honored too.
560
- --debug Debug logging.
561
- --dry-run Preview without mutating files or the platform.
562
- --fields=<value> Fields to show, comma-separated dot-paths. Defaults to
563
- the resource's own; `--json` is unaffected.
564
- --[no-]telemetry Send anonymous usage analytics. Disable with
565
- --no-telemetry.
566
-
567
- GLOBAL FLAGS
568
- --json Format output as json.
569
-
570
- DESCRIPTION
571
- Get one environment by id.
572
-
573
- EXAMPLES
574
- $ zitadel environments get <id>
575
-
576
- $ zitadel environments get <id> --json
577
- ```
578
-
579
- ## `zitadel environments list`
580
-
581
- List environments.
582
-
583
- ```
584
- USAGE
585
- $ zitadel environments list [--json] [-c <value>] [-s <value>] [-n]
586
- [--dry-run] [-v] [--debug] [--color] [--telemetry] [--limit <value>] [-a |
587
- --page-token <value>] [--fields <value>] [--plain]
588
-
589
- FLAGS
590
- -a, --all Fetch every page instead of one.
591
- -c, --cwd=<value> Project directory to operate on.
592
- -n, --non-interactive Disable prompts. Required when scripting or running
593
- as an agent.
594
- -s, --server=<value> Override the resolved server URL.
595
- -v, --verbose Verbose logging.
596
- --[no-]color Colorize human output. Disable with --no-color;
597
- NO_COLOR and FORCE_COLOR are honored too.
598
- --debug Debug logging.
599
- --dry-run Preview without mutating files or the platform.
600
- --fields=<value> Columns to show, comma-separated dot-paths (e.g.
601
- id,attributes.email). Defaults to the resource's own
602
- columns; `--json` is unaffected.
603
- --limit=<value> Page size (server default 20, max 100).
604
- --page-token=<value> Continue from a previous page's next_page_token.
605
- --plain Tab-separated rows with no header, for piping.
606
- Implied when stdout is not a terminal.
607
- --[no-]telemetry Send anonymous usage analytics. Disable with
608
- --no-telemetry.
609
-
610
- GLOBAL FLAGS
611
- --json Format output as json.
612
-
613
- DESCRIPTION
614
- List environments.
615
-
616
- EXAMPLES
617
- $ zitadel environments list --json
618
-
619
- $ zitadel environments list --all --json
620
- ```
621
-
622
790
  ## `zitadel events get ID`
623
791
 
624
792
  Get one event by id.
@@ -832,8 +1000,9 @@ Create a grant.
832
1000
  USAGE
833
1001
  $ zitadel grants create [--json] [-c <value>] [-s <value>] [-n]
834
1002
  [--dry-run] [-v] [--debug] [--color] [--telemetry] [--relation
835
- viewer|editor|admin] [--expires-at <value>] [--data <value> | --file
836
- <value>]
1003
+ viewer|editor|admin] [--expires-at <value>] [--user-user-id <value>]
1004
+ [--user-identifier <value>] [--team-team-id <value>] [--team-name <value>]
1005
+ [--data <value> | --file <value>] [--set <value>...]
837
1006
 
838
1007
  FLAGS
839
1008
  -c, --cwd=<value> Project directory to operate on.
@@ -849,8 +1018,14 @@ FLAGS
849
1018
  --no-telemetry.
850
1019
 
851
1020
  RAW BODY FLAGS
852
- --data=<value> Whole body as a JSON object, instead of the field flags.
853
- --file=<value> Read the body from a JSON file; `-` reads stdin.
1021
+ --data=<value> Whole body as a JSON object. Field flags and --set apply
1022
+ over it.
1023
+ --file=<value> Read the body from a JSON file; `-` reads stdin. Field flags
1024
+ and --set apply over it.
1025
+ --set=<value>... Set one field by its dot path: path=value, or path:=json for
1026
+ JSON. Repeatable; applied after the field flags, in order. A
1027
+ key that contains a dot is set through its parent: --set
1028
+ 'parent:={"a.b":"x"}'.
854
1029
 
855
1030
  OPTIONAL FIELD FLAGS
856
1031
  --expires-at=<value> Optional expiry.
@@ -862,10 +1037,22 @@ REQUIRED FIELD FLAGS
862
1037
  --relation=<option> (required) Catalog relation on `object_type` `project`.
863
1038
  <options: viewer|editor|admin>
864
1039
 
1040
+ TEAM FIELD FLAGS
1041
+ --team-name=<value> Team name, unique per project case-insensitively.
1042
+ --team-team-id=<value>
1043
+
1044
+ USER FIELD FLAGS
1045
+ --user-identifier=<value> The user schema's designated identifier
1046
+ (`x-identifier`), looked up in the platform
1047
+ project.
1048
+ --user-user-id=<value>
1049
+
865
1050
  DESCRIPTION
866
1051
  Create a grant.
867
1052
 
868
1053
  EXAMPLES
1054
+ $ zitadel grants create --relation viewer --user-identifier alice@acme.com --json
1055
+
869
1056
  $ zitadel grants create --data '{...}' --json
870
1057
 
871
1058
  $ zitadel grants create --file ./grant.json
@@ -1057,8 +1244,17 @@ Create an identity provider connection.
1057
1244
  ```
1058
1245
  USAGE
1059
1246
  $ zitadel idps create [--json] [-c <value>] [-s <value>] [-n]
1060
- [--dry-run] [-v] [--debug] [--color] [--telemetry] [--data <value> | --file
1061
- <value>]
1247
+ [--dry-run] [-v] [--debug] [--color] [--telemetry] [--slug <value>]
1248
+ [--protocol oidc] [--template <value>] [--display-name <value>]
1249
+ [--subject-claim <value>] [--claim-mapping <value>...] [--verified-claims
1250
+ <value>...] [--provisioning-creation disabled|auto] [--oidc-issuer <value>]
1251
+ [--oidc-jwks-uri <value>] [--oidc-id-token-mapping]
1252
+ [--oidc-authorization-endpoint <value>] [--oidc-token-endpoint <value>]
1253
+ [--oidc-userinfo-endpoint <value>] [--oidc-client-id <value>]
1254
+ [--oidc-client-secret <value>] [--oidc-token-endpoint-auth-method
1255
+ client_secret_basic|client_secret_post] [--oidc-scopes <value>...]
1256
+ [--oidc-pkce-enabled] [--oidc-static-authorize-parameters <value>...]
1257
+ [--data <value> | --file <value>] [--set <value>...]
1062
1258
 
1063
1259
  FLAGS
1064
1260
  -c, --cwd=<value> Project directory to operate on.
@@ -1073,20 +1269,97 @@ FLAGS
1073
1269
  --[no-]telemetry Send anonymous usage analytics. Disable with
1074
1270
  --no-telemetry.
1075
1271
 
1272
+ OPTIONAL FIELD FLAGS
1273
+ --claim-mapping=<value>... Repeatable claim_mapping entry: key=value for a
1274
+ string, key:=value for JSON. Maps user-schema
1275
+ property names (keys) to provider claim names
1276
+ (values).
1277
+ --subject-claim=<value> Claim carrying the provider's stable subject
1278
+ identifier.
1279
+ --template=<value> Template hint for rendering the provider (logo,
1280
+ colors).
1281
+ --verified-claims=<value>... Repeatable verified_claims entry: key=value for
1282
+ a string, key:=value for JSON. Maps a verifiable
1283
+ user-schema property to its verification source:
1284
+ a claim name (read the claim) or the…
1285
+
1076
1286
  RAW BODY FLAGS
1077
- --data=<value> Whole body as a JSON object, instead of the field flags.
1078
- --file=<value> Read the body from a JSON file; `-` reads stdin.
1287
+ --data=<value> Whole body as a JSON object. Field flags and --set apply
1288
+ over it.
1289
+ --file=<value> Read the body from a JSON file; `-` reads stdin. Field flags
1290
+ and --set apply over it.
1291
+ --set=<value>... Set one field by its dot path: path=value, or path:=json for
1292
+ JSON. Repeatable; applied after the field flags, in order. A
1293
+ key that contains a dot is set through its parent: --set
1294
+ 'parent:={"a.b":"x"}'.
1295
+
1296
+ REQUIRED FIELD FLAGS
1297
+ --display-name=<value> (required) Shown to the user on the sign-in button.
1298
+ --protocol=<option> (required) The protocol used by the identity provider.
1299
+ <options: oidc>
1300
+ --slug=<value> (required) Stable identifier, referenced by user
1301
+ schemas (x-auth-methods.sso.providers) and flow steps
1302
+ (sso_providers).
1079
1303
 
1080
1304
  GLOBAL FLAGS
1081
1305
  --json Format output as json.
1082
1306
 
1307
+ OIDC FIELD FLAGS
1308
+ --oidc-authorization-endpoint=<value>
1309
+ For a provider that exposes no .well-known document.
1310
+
1311
+ --oidc-client-id=<value>
1312
+ (required with oidc.*) Either a literal in case the same client is used in
1313
+ all environments, or a `${{ NAME }}` reference to a…
1314
+
1315
+ --oidc-client-secret=<value>
1316
+ (required with oidc.*) A reference to the variable holding the client
1317
+ secret, never the secret itself.
1318
+
1319
+ --[no-]oidc-id-token-mapping
1320
+ Read user claims from the id_token instead of the userinfo endpoint, for
1321
+ providers that populate only the…
1322
+
1323
+ --oidc-issuer=<value>
1324
+ (required with oidc.*) Discovery base.
1325
+
1326
+ --oidc-jwks-uri=<value>
1327
+ JWKS endpoint, for a provider that exposes no .well-known document.
1328
+
1329
+ --[no-]oidc-pkce-enabled
1330
+ Send PKCE (code_challenge/code_verifier).
1331
+
1332
+ --oidc-scopes=<value>...
1333
+ Repeatable, one value each. Must contain `openid` - without it the provider
1334
+ returns no id_token and the connection is not OIDC.
1335
+
1336
+ --oidc-static-authorize-parameters=<value>...
1337
+ Repeatable oidc.static_authorize_parameters entry: key=value for a string,
1338
+ key:=value for JSON. Extra provider-specific authorize parameters (for
1339
+ example `prompt`).
1340
+
1341
+ --oidc-token-endpoint=<value>
1342
+ For a provider that exposes no .well-known document.
1343
+
1344
+ --oidc-token-endpoint-auth-method=<option>
1345
+ How the client authenticates at the token endpoint.
1346
+ <options: client_secret_basic|client_secret_post>
1347
+
1348
+ --oidc-userinfo-endpoint=<value>
1349
+ For a provider that exposes no .well-known document.
1350
+
1351
+ PROVISIONING FIELD FLAGS
1352
+ --provisioning-creation=<option> <options: disabled|auto>
1353
+
1083
1354
  DESCRIPTION
1084
1355
  Create an identity provider connection.
1085
1356
 
1086
1357
  EXAMPLES
1358
+ $ zitadel idps create --slug acme-sso --protocol oidc --display-name 'Acme SSO' --oidc-issuer https://sso.acme.example --oidc-client-id <client_id> --oidc-client-secret '${{ ACME_SSO_CLIENT_SECRET }}' --oidc-scopes openid --oidc-scopes profile --oidc-scopes email --json
1359
+
1087
1360
  $ zitadel idps create --data '{...}' --json
1088
1361
 
1089
- $ zitadel idps create --file ./identity provider connection.json
1362
+ $ zitadel idps create --file ./identity-provider-connection.json
1090
1363
  ```
1091
1364
 
1092
1365
  ## `zitadel idps get ID`
@@ -1365,7 +1638,12 @@ Update a project by id.
1365
1638
  USAGE
1366
1639
  $ zitadel projects update ID [--json] [-c <value>] [-s <value>] [-n]
1367
1640
  [--dry-run] [-v] [--debug] [--color] [--telemetry] [--name <value>]
1368
- [--password-hash <value>] [--data <value> | --file <value>]
1641
+ [--password-hash-algorithm argon2i|argon2id|bcrypt|scrypt|pbkdf2|sha2]
1642
+ [--password-hash-params-time <value>] [--password-hash-params-memory
1643
+ <value>] [--password-hash-params-threads <value>]
1644
+ [--password-hash-params-cost <value>] [--password-hash-params-rounds
1645
+ <value>] [--password-hash-params-hash sha1|sha224|sha256|sha384|sha512]
1646
+ [--data <value> | --file <value>] [--set <value>...]
1369
1647
 
1370
1648
  ARGUMENTS
1371
1649
  ID project id
@@ -1384,15 +1662,35 @@ FLAGS
1384
1662
  --no-telemetry.
1385
1663
 
1386
1664
  RAW BODY FLAGS
1387
- --data=<value> Whole body as a JSON object, instead of the field flags.
1388
- --file=<value> Read the body from a JSON file; `-` reads stdin.
1665
+ --data=<value> Whole body as a JSON object. Field flags and --set apply
1666
+ over it.
1667
+ --file=<value> Read the body from a JSON file; `-` reads stdin. Field flags
1668
+ and --set apply over it.
1669
+ --set=<value>... Set one field by its dot path: path=value, or path:=json for
1670
+ JSON. Repeatable; applied after the field flags, in order. A
1671
+ key that contains a dot is set through its parent: --set
1672
+ 'parent:={"a.b":"x"}'.
1389
1673
 
1390
1674
  GLOBAL FLAGS
1391
1675
  --json Format output as json.
1392
1676
 
1393
1677
  OPTIONAL FIELD FLAGS
1394
- --name=<value> The name of the project.
1395
- --password-hash=<value> The method this project's passwords are hashed with.
1678
+ --name=<value> The name of the project.
1679
+
1680
+ PASSWORD HASH FIELD FLAGS
1681
+ --password-hash-algorithm=<option> (required with password_hash.*) The
1682
+ hashing algorithm.
1683
+ <options: argon2i|argon2id|bcrypt|scry
1684
+ pt|pbkdf2|sha2>
1685
+ --password-hash-params-cost=<value> bcrypt cost, or scrypt's log2 of the
1686
+ CPU/memory cost.
1687
+ --password-hash-params-hash=<option> The underlying hash.
1688
+ <options:
1689
+ sha1|sha224|sha256|sha384|sha512>
1690
+ --password-hash-params-memory=<value> argon2 memory in KiB.
1691
+ --password-hash-params-rounds=<value> pbkdf2 or sha2 iteration count.
1692
+ --password-hash-params-threads=<value> argon2 lanes.
1693
+ --password-hash-params-time=<value> argon2 passes over memory.
1396
1694
 
1397
1695
  DESCRIPTION
1398
1696
  Update a project by id.
@@ -1821,10 +2119,12 @@ Create a Zitadel project and scaffold local auth.
1821
2119
  USAGE
1822
2120
  $ zitadel setup [--json] [-c <value>] [-s <value>] [-n]
1823
2121
  [--dry-run] [-v] [--debug] [--color] [--telemetry] [-f] [--framework
1824
- next|nuxt|react|vue|solid|svelte|qwik|angular] [--renderer react]
1825
- [--dev-port <value>] [--skip-install] [--preset
1826
- password-first|passkey-first] [--use-case minimal|consumer|business] [--sso
1827
- google] [--sso-client-id <value>]
2122
+ next|nuxt|tanstack-start|react|vue|solid-start|solid|sveltekit|svelte|qwik-r
2123
+ outer|qwik|angular] [--renderer react] [--dev-port <value>] [--skip-install]
2124
+ [--preset password-first|passkey-first] [--use-case
2125
+ minimal|consumer|business] [--sso google|custom] [--sso-client-id <value>]
2126
+ [--sso-slug <value>] [--sso-display-name <value>] [--sso-issuer <value>]
2127
+ [--sso-scopes <value>]
1828
2128
 
1829
2129
  FLAGS
1830
2130
  -c, --cwd=<value>
@@ -1860,7 +2160,8 @@ FLAGS
1860
2160
 
1861
2161
  --framework=<option>
1862
2162
  Framework to target.
1863
- <options: next|nuxt|react|vue|solid|svelte|qwik|angular>
2163
+ <options: next|nuxt|tanstack-start|react|vue|solid-start|solid|sveltekit|sve
2164
+ lte|qwik-router|qwik|angular>
1864
2165
 
1865
2166
  --preset=<option>
1866
2167
  Sign-in preset for the scaffolded schema and login flow (default:
@@ -1879,11 +2180,26 @@ FLAGS
1879
2180
  wizard's provider question; needs --sso-client-id, and the OAuth application
1880
2181
  must already be registered with the provider. Pipe the client secret in on
1881
2182
  stdin; never pass it as a flag.
1882
- <options: google>
2183
+ <options: google|custom>
1883
2184
 
1884
2185
  --sso-client-id=<value>
1885
2186
  Client id of the OAuth application registered with the --sso provider.
1886
2187
 
2188
+ --sso-display-name=<value>
2189
+ With --sso custom: the name shown on the sign-in button.
2190
+
2191
+ --sso-issuer=<value>
2192
+ With --sso custom: the provider's issuer URL. Its endpoints come from OIDC
2193
+ discovery.
2194
+
2195
+ --sso-scopes=<value>
2196
+ With --sso custom: the scopes to request, separated by spaces or commas.
2197
+ Must include openid. Default: openid profile email.
2198
+
2199
+ --sso-slug=<value>
2200
+ With --sso custom: the name of the connection. Schemas and flows refer to
2201
+ it.
2202
+
1887
2203
  --[no-]telemetry
1888
2204
  Send anonymous usage analytics. Disable with --no-telemetry.
1889
2205
 
@@ -1904,49 +2220,6 @@ EXAMPLES
1904
2220
  $ zitadel setup --framework react --dev-port 3000
1905
2221
  ```
1906
2222
 
1907
- ## `zitadel sso enable`
1908
-
1909
- Enable an identity provider for a user schema.
1910
-
1911
- ```
1912
- USAGE
1913
- $ zitadel sso enable [--json] [-c <value>] [-s <value>] [-n]
1914
- [--dry-run] [-v] [--debug] [--color] [--telemetry] [--provider google]
1915
- [--schema <value>] [--client-id <value>]
1916
-
1917
- FLAGS
1918
- -c, --cwd=<value> Project directory to operate on.
1919
- -n, --non-interactive Disable prompts. Required when scripting or running
1920
- as an agent.
1921
- -s, --server=<value> Override the resolved server URL.
1922
- -v, --verbose Verbose logging.
1923
- --client-id=<value> Client id of the application registered with the
1924
- provider.
1925
- --[no-]color Colorize human output. Disable with --no-color;
1926
- NO_COLOR and FORCE_COLOR are honored too.
1927
- --debug Debug logging.
1928
- --dry-run Preview without mutating files or the platform.
1929
- --provider=<option> Identity provider to enable.
1930
- <options: google>
1931
- --schema=<value> User schema to change. Required when the Project has
1932
- more than one.
1933
- --[no-]telemetry Send anonymous usage analytics. Disable with
1934
- --no-telemetry.
1935
-
1936
- GLOBAL FLAGS
1937
- --json Format output as json.
1938
-
1939
- DESCRIPTION
1940
- Enable an identity provider for a user schema.
1941
-
1942
- EXAMPLES
1943
- $ zitadel sso enable --provider google
1944
-
1945
- $ zitadel sso enable --provider google --schema customers
1946
-
1947
- $ zitadel sso enable --provider google --client-id 1234-abc.apps.googleusercontent.com --non-interactive < secret.txt
1948
- ```
1949
-
1950
2223
  ## `zitadel start`
1951
2224
 
1952
2225
  Start a local Zitadel server.
@@ -1968,7 +2241,8 @@ FLAGS
1968
2241
  --debug Debug logging.
1969
2242
  --dry-run Preview without mutating files or the platform.
1970
2243
  --image=<value> Container image to run.
1971
- --port=<value> [default: 8080] Local HTTP port.
2244
+ --port=<value> Local HTTP port. By default this directory keeps the
2245
+ port it had, or takes the first free one from 8080.
1972
2246
  --runtime=<option> Local runtime backend.
1973
2247
  <options: binary|docker>
1974
2248
  --[no-]telemetry Send anonymous usage analytics. Disable with
@@ -2049,7 +2323,7 @@ Create a team.
2049
2323
  USAGE
2050
2324
  $ zitadel teams create [--json] [-c <value>] [-s <value>] [-n]
2051
2325
  [--dry-run] [-v] [--debug] [--color] [--telemetry] [--name <value>] [--data
2052
- <value> | --file <value>]
2326
+ <value> | --file <value>] [--set <value>...]
2053
2327
 
2054
2328
  FLAGS
2055
2329
  -c, --cwd=<value> Project directory to operate on.
@@ -2065,8 +2339,14 @@ FLAGS
2065
2339
  --no-telemetry.
2066
2340
 
2067
2341
  RAW BODY FLAGS
2068
- --data=<value> Whole body as a JSON object, instead of the field flags.
2069
- --file=<value> Read the body from a JSON file; `-` reads stdin.
2342
+ --data=<value> Whole body as a JSON object. Field flags and --set apply
2343
+ over it.
2344
+ --file=<value> Read the body from a JSON file; `-` reads stdin. Field flags
2345
+ and --set apply over it.
2346
+ --set=<value>... Set one field by its dot path: path=value, or path:=json for
2347
+ JSON. Repeatable; applied after the field flags, in order. A
2348
+ key that contains a dot is set through its parent: --set
2349
+ 'parent:={"a.b":"x"}'.
2070
2350
 
2071
2351
  GLOBAL FLAGS
2072
2352
  --json Format output as json.
@@ -2248,7 +2528,7 @@ Update a team by id.
2248
2528
  USAGE
2249
2529
  $ zitadel teams update ID [--json] [-c <value>] [-s <value>] [-n]
2250
2530
  [--dry-run] [-v] [--debug] [--color] [--telemetry] [--name <value>] [--data
2251
- <value> | --file <value>]
2531
+ <value> | --file <value>] [--set <value>...]
2252
2532
 
2253
2533
  ARGUMENTS
2254
2534
  ID team id
@@ -2267,8 +2547,14 @@ FLAGS
2267
2547
  --no-telemetry.
2268
2548
 
2269
2549
  RAW BODY FLAGS
2270
- --data=<value> Whole body as a JSON object, instead of the field flags.
2271
- --file=<value> Read the body from a JSON file; `-` reads stdin.
2550
+ --data=<value> Whole body as a JSON object. Field flags and --set apply
2551
+ over it.
2552
+ --file=<value> Read the body from a JSON file; `-` reads stdin. Field flags
2553
+ and --set apply over it.
2554
+ --set=<value>... Set one field by its dot path: path=value, or path:=json for
2555
+ JSON. Repeatable; applied after the field flags, in order. A
2556
+ key that contains a dot is set through its parent: --set
2557
+ 'parent:={"a.b":"x"}'.
2272
2558
 
2273
2559
  GLOBAL FLAGS
2274
2560
  --json Format output as json.
@@ -2321,13 +2607,14 @@ ALIASES
2321
2607
 
2322
2608
  ## `zitadel users create`
2323
2609
 
2324
- Create an user.
2610
+ Create a user.
2325
2611
 
2326
2612
  ```
2327
2613
  USAGE
2328
2614
  $ zitadel users create [--json] [-c <value>] [-s <value>] [-n]
2329
2615
  [--dry-run] [-v] [--debug] [--color] [--telemetry] [--schema <value>]
2330
- [--attributes <value>...] [--data <value> | --file <value>]
2616
+ [--attributes <value>...] [--data <value> | --file <value>] [--set
2617
+ <value>...]
2331
2618
 
2332
2619
  FLAGS
2333
2620
  -c, --cwd=<value> Project directory to operate on.
@@ -2350,14 +2637,20 @@ REQUIRED FIELD FLAGS
2350
2637
  `attributes`.
2351
2638
 
2352
2639
  RAW BODY FLAGS
2353
- --data=<value> Whole body as a JSON object, instead of the field flags.
2354
- --file=<value> Read the body from a JSON file; `-` reads stdin.
2640
+ --data=<value> Whole body as a JSON object. Field flags and --set apply
2641
+ over it.
2642
+ --file=<value> Read the body from a JSON file; `-` reads stdin. Field flags
2643
+ and --set apply over it.
2644
+ --set=<value>... Set one field by its dot path: path=value, or path:=json for
2645
+ JSON. Repeatable; applied after the field flags, in order. A
2646
+ key that contains a dot is set through its parent: --set
2647
+ 'parent:={"a.b":"x"}'.
2355
2648
 
2356
2649
  GLOBAL FLAGS
2357
2650
  --json Format output as json.
2358
2651
 
2359
2652
  DESCRIPTION
2360
- Create an user.
2653
+ Create a user.
2361
2654
 
2362
2655
  EXAMPLES
2363
2656
  $ zitadel users create --schema <schema> --attributes <key>=<value> --json
@@ -2369,7 +2662,7 @@ EXAMPLES
2369
2662
 
2370
2663
  ## `zitadel users delete ID`
2371
2664
 
2372
- Delete an user by id.
2665
+ Delete a user by id.
2373
2666
 
2374
2667
  ```
2375
2668
  USAGE
@@ -2398,7 +2691,7 @@ GLOBAL FLAGS
2398
2691
  --json Format output as json.
2399
2692
 
2400
2693
  DESCRIPTION
2401
- Delete an user by id.
2694
+ Delete a user by id.
2402
2695
 
2403
2696
  EXAMPLES
2404
2697
  $ zitadel users delete <id> --force --json
@@ -2530,13 +2823,14 @@ EXAMPLES
2530
2823
 
2531
2824
  ## `zitadel users update ID`
2532
2825
 
2533
- Update an user by id.
2826
+ Update a user by id.
2534
2827
 
2535
2828
  ```
2536
2829
  USAGE
2537
2830
  $ zitadel users update ID [--json] [-c <value>] [-s <value>] [-n]
2538
2831
  [--dry-run] [-v] [--debug] [--color] [--telemetry] [--schema <value>]
2539
- [--attributes <value>...] [--data <value> | --file <value>]
2832
+ [--attributes <value>...] [--data <value> | --file <value>] [--set
2833
+ <value>...]
2540
2834
 
2541
2835
  ARGUMENTS
2542
2836
  ID user id
@@ -2560,14 +2854,20 @@ OPTIONAL FIELD FLAGS
2560
2854
  --schema=<value> The schema the user follows after this patch.
2561
2855
 
2562
2856
  RAW BODY FLAGS
2563
- --data=<value> Whole body as a JSON object, instead of the field flags.
2564
- --file=<value> Read the body from a JSON file; `-` reads stdin.
2857
+ --data=<value> Whole body as a JSON object. Field flags and --set apply
2858
+ over it.
2859
+ --file=<value> Read the body from a JSON file; `-` reads stdin. Field flags
2860
+ and --set apply over it.
2861
+ --set=<value>... Set one field by its dot path: path=value, or path:=json for
2862
+ JSON. Repeatable; applied after the field flags, in order. A
2863
+ key that contains a dot is set through its parent: --set
2864
+ 'parent:={"a.b":"x"}'.
2565
2865
 
2566
2866
  GLOBAL FLAGS
2567
2867
  --json Format output as json.
2568
2868
 
2569
2869
  DESCRIPTION
2570
- Update an user by id.
2870
+ Update a user by id.
2571
2871
 
2572
2872
  EXAMPLES
2573
2873
  $ zitadel users update <id> --data '{...}' --json
@@ -2713,9 +3013,7 @@ FLAGS
2713
3013
  an agent.
2714
3014
  -s, --server=<value> Override the resolved server URL.
2715
3015
  -v, --verbose Verbose logging.
2716
- --as=<option> [default: string] Store the value as this JSON type. A
2717
- reference to the whole field resolves to that type, so
2718
- a number stays a number.
3016
+ --as=<option> [default: string] Store the value as this JSON type.
2719
3017
  <options: string|number|boolean>
2720
3018
  --[no-]color Colorize human output. Disable with --no-color;
2721
3019
  NO_COLOR and FORCE_COLOR are honored too.