workos 0.7.3 → 0.8.0
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 +353 -8
- package/dist/bin.js +938 -128
- package/dist/bin.js.map +1 -1
- package/dist/commands/api-key-mgmt.d.ts +16 -0
- package/dist/commands/api-key-mgmt.js +96 -0
- package/dist/commands/api-key-mgmt.js.map +1 -0
- package/dist/commands/audit-log.d.ts +26 -0
- package/dist/commands/audit-log.js +155 -0
- package/dist/commands/audit-log.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.js +54 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/connection.d.ts +13 -0
- package/dist/commands/connection.js +94 -0
- package/dist/commands/connection.js.map +1 -0
- package/dist/commands/debug-sso.d.ts +1 -0
- package/dist/commands/debug-sso.js +78 -0
- package/dist/commands/debug-sso.js.map +1 -0
- package/dist/commands/debug-sync.d.ts +1 -0
- package/dist/commands/debug-sync.js +102 -0
- package/dist/commands/debug-sync.js.map +1 -0
- package/dist/commands/directory.d.ts +27 -0
- package/dist/commands/directory.js +174 -0
- package/dist/commands/directory.js.map +1 -0
- package/dist/commands/env.js +41 -28
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/event.d.ts +9 -0
- package/dist/commands/event.js +43 -0
- package/dist/commands/event.js.map +1 -0
- package/dist/commands/feature-flag.d.ts +12 -0
- package/dist/commands/feature-flag.js +96 -0
- package/dist/commands/feature-flag.js.map +1 -0
- package/dist/commands/install.js +13 -20
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/invitation.d.ts +19 -0
- package/dist/commands/invitation.js +94 -0
- package/dist/commands/invitation.js.map +1 -0
- package/dist/commands/membership.d.ts +20 -0
- package/dist/commands/membership.js +129 -0
- package/dist/commands/membership.js.map +1 -0
- package/dist/commands/onboard-user.d.ts +7 -0
- package/dist/commands/onboard-user.js +61 -0
- package/dist/commands/onboard-user.js.map +1 -0
- package/dist/commands/org-domain.d.ts +4 -0
- package/dist/commands/org-domain.js +45 -0
- package/dist/commands/org-domain.js.map +1 -0
- package/dist/commands/organization.d.ts +1 -5
- package/dist/commands/organization.js +34 -73
- package/dist/commands/organization.js.map +1 -1
- package/dist/commands/permission.d.ts +20 -0
- package/dist/commands/permission.js +93 -0
- package/dist/commands/permission.js.map +1 -0
- package/dist/commands/portal.d.ts +7 -0
- package/dist/commands/portal.js +26 -0
- package/dist/commands/portal.js.map +1 -0
- package/dist/commands/role.d.ts +17 -0
- package/dist/commands/role.js +122 -0
- package/dist/commands/role.js.map +1 -0
- package/dist/commands/seed.d.ts +4 -0
- package/dist/commands/seed.js +238 -0
- package/dist/commands/seed.js.map +1 -0
- package/dist/commands/session.d.ts +8 -0
- package/dist/commands/session.js +63 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/setup-org.d.ts +6 -0
- package/dist/commands/setup-org.js +99 -0
- package/dist/commands/setup-org.js.map +1 -0
- package/dist/commands/user.js +35 -71
- package/dist/commands/user.js.map +1 -1
- package/dist/commands/vault.d.ts +24 -0
- package/dist/commands/vault.js +120 -0
- package/dist/commands/vault.js.map +1 -0
- package/dist/commands/webhook.d.ts +3 -0
- package/dist/commands/webhook.js +73 -0
- package/dist/commands/webhook.js.map +1 -0
- package/dist/dashboard/components/DiffPanel.js.map +1 -1
- package/dist/dashboard/lib/logo-frames.js +1 -1
- package/dist/dashboard/lib/logo-frames.js.map +1 -1
- package/dist/doctor/checks/dashboard.js.map +1 -1
- package/dist/doctor/checks/environment.js.map +1 -1
- package/dist/integrations/go/index.js +1 -3
- package/dist/integrations/go/index.js.map +1 -1
- package/dist/lib/adapters/headless-adapter.d.ts +67 -0
- package/dist/lib/adapters/headless-adapter.js +263 -0
- package/dist/lib/adapters/headless-adapter.js.map +1 -0
- package/dist/lib/adapters/index.d.ts +1 -0
- package/dist/lib/adapters/index.js +1 -0
- package/dist/lib/adapters/index.js.map +1 -1
- package/dist/lib/agent-interface.d.ts +3 -11
- package/dist/lib/agent-interface.js +1 -13
- package/dist/lib/agent-interface.js.map +1 -1
- package/dist/lib/api-error-handler.d.ts +6 -0
- package/dist/lib/api-error-handler.js +58 -0
- package/dist/lib/api-error-handler.js.map +1 -0
- package/dist/lib/api-key.js +5 -1
- package/dist/lib/api-key.js.map +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/credential-proxy.js +0 -6
- package/dist/lib/credential-proxy.js.map +1 -1
- package/dist/lib/device-auth.js +1 -1
- package/dist/lib/device-auth.js.map +1 -1
- package/dist/lib/ensure-auth.js +25 -4
- package/dist/lib/ensure-auth.js.map +1 -1
- package/dist/lib/installer-core.d.ts +12 -12
- package/dist/lib/run-with-core.js +25 -4
- package/dist/lib/run-with-core.js.map +1 -1
- package/dist/lib/validation/validator.js +0 -1
- package/dist/lib/validation/validator.js.map +1 -1
- package/dist/lib/workos-client.d.ts +58 -0
- package/dist/lib/workos-client.js +137 -0
- package/dist/lib/workos-client.js.map +1 -0
- package/dist/run.d.ts +7 -0
- package/dist/run.js +5 -2
- package/dist/run.js.map +1 -1
- package/dist/smoke-test.ts +881 -0
- package/dist/steps/run-prettier.js +1 -1
- package/dist/steps/run-prettier.js.map +1 -1
- package/dist/utils/analytics.d.ts +1 -1
- package/dist/utils/analytics.js.map +1 -1
- package/dist/utils/clack-utils.js +1 -1
- package/dist/utils/clack-utils.js.map +1 -1
- package/dist/utils/environment.js +8 -0
- package/dist/utils/environment.js.map +1 -1
- package/dist/utils/exit-codes.d.ts +22 -0
- package/dist/utils/exit-codes.js +30 -0
- package/dist/utils/exit-codes.js.map +1 -0
- package/dist/utils/help-json.d.ts +45 -0
- package/dist/utils/help-json.js +1161 -0
- package/dist/utils/help-json.js.map +1 -0
- package/dist/utils/ndjson.d.ts +16 -0
- package/dist/utils/ndjson.js +18 -0
- package/dist/utils/ndjson.js.map +1 -0
- package/dist/utils/output.d.ts +40 -0
- package/dist/utils/output.js +95 -0
- package/dist/utils/output.js.map +1 -0
- package/dist/utils/package-manager.js +2 -3
- package/dist/utils/package-manager.js.map +1 -1
- package/dist/utils/register-subcommand.d.ts +7 -0
- package/dist/utils/register-subcommand.js +36 -0
- package/dist/utils/register-subcommand.js.map +1 -0
- package/dist/utils/telemetry-types.d.ts +1 -1
- package/dist/utils/telemetry-types.js.map +1 -1
- package/dist/utils/types.d.ts +12 -0
- package/dist/utils/types.js.map +1 -1
- package/package.json +20 -16
- package/skills/workos-management/SKILL.md +250 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "workos",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The Official Workos CLI",
|
|
6
6
|
"repository": {
|
|
@@ -37,35 +37,38 @@
|
|
|
37
37
|
"definition": "dist/index.d.ts"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@anthropic-ai/claude-agent-sdk": "~0.2.
|
|
41
|
-
"@anthropic-ai/sdk": "^0.
|
|
42
|
-
"@clack/core": "^0.
|
|
43
|
-
"@clack/prompts": "0.
|
|
40
|
+
"@anthropic-ai/claude-agent-sdk": "~0.2.62",
|
|
41
|
+
"@anthropic-ai/sdk": "^0.78.0",
|
|
42
|
+
"@clack/core": "^1.0.1",
|
|
43
|
+
"@clack/prompts": "1.0.1",
|
|
44
44
|
"@napi-rs/keyring": "^1.2.0",
|
|
45
|
+
"@workos-inc/node": "^8.7.0",
|
|
45
46
|
"chalk": "^5.6.2",
|
|
46
47
|
"diff": "^8.0.3",
|
|
47
48
|
"fast-glob": "^3.3.3",
|
|
48
|
-
"ink": "^6.
|
|
49
|
+
"ink": "^6.8.0",
|
|
49
50
|
"opn": "^5.4.0",
|
|
50
|
-
"react": "^19.2.
|
|
51
|
-
"semver": "^7.7.
|
|
51
|
+
"react": "^19.2.4",
|
|
52
|
+
"semver": "^7.7.4",
|
|
52
53
|
"uuid": "^13.0.0",
|
|
53
|
-
"xstate": "^5.
|
|
54
|
+
"xstate": "^5.28.0",
|
|
55
|
+
"yaml": "^2.8.2",
|
|
54
56
|
"yargs": "^18.0.0",
|
|
55
|
-
"zod": "^4.3.
|
|
57
|
+
"zod": "^4.3.6"
|
|
56
58
|
},
|
|
57
59
|
"devDependencies": {
|
|
58
60
|
"@statelyai/inspect": "^0.4.0",
|
|
59
61
|
"@types/node": "~22.19.7",
|
|
60
62
|
"@types/opn": "5.1.0",
|
|
61
|
-
"@types/react": "^19.2.
|
|
63
|
+
"@types/react": "^19.2.14",
|
|
62
64
|
"@types/semver": "^7.7.1",
|
|
63
65
|
"@types/yargs": "^17.0.35",
|
|
64
66
|
"@vitest/coverage-v8": "^4.0.18",
|
|
65
67
|
"@vitest/ui": "^4.0.18",
|
|
66
|
-
"dotenv": "^17.
|
|
67
|
-
"
|
|
68
|
-
"
|
|
68
|
+
"dotenv": "^17.3.1",
|
|
69
|
+
"oxfmt": "^0.35.0",
|
|
70
|
+
"oxlint": "^1.50.0",
|
|
71
|
+
"p-limit": "^7.3.0",
|
|
69
72
|
"tsx": "^4.20.3",
|
|
70
73
|
"typescript": "^5.9.3",
|
|
71
74
|
"vitest": "^4.0.18"
|
|
@@ -80,8 +83,9 @@
|
|
|
80
83
|
"build:watch": "pnpm tsc -w",
|
|
81
84
|
"build": "pnpm tsc",
|
|
82
85
|
"postbuild": "chmod +x ./dist/bin.js && cp -r scripts/** dist",
|
|
83
|
-
"lint": "
|
|
84
|
-
"format": "
|
|
86
|
+
"lint": "oxlint",
|
|
87
|
+
"format": "oxfmt .",
|
|
88
|
+
"format:check": "oxfmt --check .",
|
|
85
89
|
"try": "tsx dev.ts",
|
|
86
90
|
"dev": "pnpm build && pnpm link --global && pnpm build:watch",
|
|
87
91
|
"test": "vitest run",
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workos-management
|
|
3
|
+
description: Manage WorkOS resources (orgs, users, roles, SSO, directories, webhooks, audit logs) via CLI. Use when configuring RBAC, onboarding orgs/users, debugging SSO/DSync, or managing WorkOS settings.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# WorkOS Management Commands
|
|
7
|
+
|
|
8
|
+
Use these commands to manage WorkOS resources directly from the terminal. The CLI must be authenticated via `workos login` or `WORKOS_API_KEY` env var.
|
|
9
|
+
|
|
10
|
+
All commands support `--json` for structured output. Use `--json` when you need to parse output (e.g., extract an ID).
|
|
11
|
+
|
|
12
|
+
## Quick Reference
|
|
13
|
+
|
|
14
|
+
| Task | Command |
|
|
15
|
+
| ---------------------- | ---------------------------------------------------------------------------- |
|
|
16
|
+
| List organizations | `workos organization list` |
|
|
17
|
+
| Create organization | `workos organization create "Acme Corp" acme.com:verified` |
|
|
18
|
+
| List users | `workos user list --email=alice@acme.com` |
|
|
19
|
+
| Create permission | `workos permission create --slug=read-users --name="Read Users"` |
|
|
20
|
+
| Create role | `workos role create --slug=admin --name=Admin` |
|
|
21
|
+
| Assign perms to role | `workos role set-permissions admin --permissions=read-users,write-users` |
|
|
22
|
+
| Create org-scoped role | `workos role create --slug=admin --name=Admin --org=org_xxx` |
|
|
23
|
+
| Add user to org | `workos membership create --org=org_xxx --user=user_xxx` |
|
|
24
|
+
| Send invitation | `workos invitation send --email=alice@acme.com --org=org_xxx` |
|
|
25
|
+
| Revoke session | `workos session revoke <sessionId>` |
|
|
26
|
+
| Add redirect URI | `workos config redirect add http://localhost:3000/callback` |
|
|
27
|
+
| Add CORS origin | `workos config cors add http://localhost:3000` |
|
|
28
|
+
| Set homepage URL | `workos config homepage-url set http://localhost:3000` |
|
|
29
|
+
| Create webhook | `workos webhook create --url=https://example.com/hook --events=user.created` |
|
|
30
|
+
| List SSO connections | `workos connection list --org=org_xxx` |
|
|
31
|
+
| List directories | `workos directory list` |
|
|
32
|
+
| Toggle feature flag | `workos feature-flag enable my-flag` |
|
|
33
|
+
| Store a secret | `workos vault create --name=api-secret --value=sk_xxx --org=org_xxx` |
|
|
34
|
+
| Generate portal link | `workos portal generate-link --intent=sso --org=org_xxx` |
|
|
35
|
+
| Seed environment | `workos seed --file=workos-seed.yml` |
|
|
36
|
+
| Debug SSO | `workos debug-sso conn_xxx` |
|
|
37
|
+
| Debug directory sync | `workos debug-sync directory_xxx` |
|
|
38
|
+
| Set up an org | `workos setup-org "Acme Corp" --domain=acme.com --roles=admin,viewer` |
|
|
39
|
+
| Onboard a user | `workos onboard-user alice@acme.com --org=org_xxx --role=admin` |
|
|
40
|
+
|
|
41
|
+
## Workflows
|
|
42
|
+
|
|
43
|
+
### Setting up RBAC
|
|
44
|
+
|
|
45
|
+
When you see permission checks in the codebase (e.g., `hasPermission('read-users')`), create the matching WorkOS resources:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
workos permission create --slug=read-users --name="Read Users"
|
|
49
|
+
workos permission create --slug=write-users --name="Write Users"
|
|
50
|
+
workos role create --slug=admin --name=Admin
|
|
51
|
+
workos role set-permissions admin --permissions=read-users,write-users
|
|
52
|
+
workos role create --slug=viewer --name=Viewer
|
|
53
|
+
workos role set-permissions viewer --permissions=read-users
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
For organization-scoped roles, add `--org=org_xxx` to role commands.
|
|
57
|
+
|
|
58
|
+
### Organization Onboarding
|
|
59
|
+
|
|
60
|
+
One-shot setup with the compound command:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
workos setup-org "Acme Corp" --domain=acme.com --roles=admin,viewer
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Or step by step:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
ORG_ID=$(workos organization create "Acme Corp" --json | jq -r '.data.id')
|
|
70
|
+
workos org-domain create acme.com --org=$ORG_ID
|
|
71
|
+
workos role create --slug=admin --name=Admin --org=$ORG_ID
|
|
72
|
+
workos portal generate-link --intent=sso --org=$ORG_ID
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### User Onboarding
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
workos onboard-user alice@acme.com --org=org_xxx --role=admin
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Or step by step:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
workos invitation send --email=alice@acme.com --org=org_xxx --role=admin
|
|
85
|
+
workos membership create --org=org_xxx --user=user_xxx --role=admin
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Local Development Setup
|
|
89
|
+
|
|
90
|
+
Configure WorkOS for local development:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
workos config redirect add http://localhost:3000/callback
|
|
94
|
+
workos config cors add http://localhost:3000
|
|
95
|
+
workos config homepage-url set http://localhost:3000
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Environment Seeding
|
|
99
|
+
|
|
100
|
+
Create a `workos-seed.yml` file in your repo:
|
|
101
|
+
|
|
102
|
+
```yaml
|
|
103
|
+
permissions:
|
|
104
|
+
- name: 'Read Users'
|
|
105
|
+
slug: 'read-users'
|
|
106
|
+
- name: 'Write Users'
|
|
107
|
+
slug: 'write-users'
|
|
108
|
+
|
|
109
|
+
roles:
|
|
110
|
+
- name: 'Admin'
|
|
111
|
+
slug: 'admin'
|
|
112
|
+
permissions: ['read-users', 'write-users']
|
|
113
|
+
- name: 'Viewer'
|
|
114
|
+
slug: 'viewer'
|
|
115
|
+
permissions: ['read-users']
|
|
116
|
+
|
|
117
|
+
organizations:
|
|
118
|
+
- name: 'Test Org'
|
|
119
|
+
domains: ['test.com']
|
|
120
|
+
|
|
121
|
+
config:
|
|
122
|
+
redirect_uris: ['http://localhost:3000/callback']
|
|
123
|
+
cors_origins: ['http://localhost:3000']
|
|
124
|
+
homepage_url: 'http://localhost:3000'
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Then run:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
workos seed --file=workos-seed.yml # Create resources
|
|
131
|
+
workos seed --clean # Tear down seeded resources
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Debugging SSO
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
workos debug-sso conn_xxx
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Shows: connection type/state, organization binding, recent auth events, and common issues (inactive connection, org mismatch).
|
|
141
|
+
|
|
142
|
+
### Debugging Directory Sync
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
workos debug-sync directory_xxx
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Shows: directory type/state, user/group counts, recent sync events, and stall detection.
|
|
149
|
+
|
|
150
|
+
### Webhook Management
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
workos webhook list
|
|
154
|
+
workos webhook create --url=https://example.com/hook --events=user.created,dsync.user.created
|
|
155
|
+
workos webhook delete we_xxx
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Audit Logs
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
workos audit-log create-event --org=org_xxx --action=user.login --actor-type=user --actor-id=user_xxx
|
|
162
|
+
workos audit-log list-actions
|
|
163
|
+
workos audit-log get-schema user.login
|
|
164
|
+
workos audit-log export --org=org_xxx --range-start=2024-01-01 --range-end=2024-02-01
|
|
165
|
+
workos audit-log get-retention --org=org_xxx
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Using --json for Structured Output
|
|
169
|
+
|
|
170
|
+
All commands support `--json` for machine-readable output. Use this when you need to extract values:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
# Get an organization ID
|
|
174
|
+
workos organization list --json | jq '.data[0].id'
|
|
175
|
+
|
|
176
|
+
# Get a connection's state
|
|
177
|
+
workos connection get conn_xxx --json | jq '.state'
|
|
178
|
+
|
|
179
|
+
# List all role slugs
|
|
180
|
+
workos role list --json | jq '.data[].slug'
|
|
181
|
+
|
|
182
|
+
# Chain commands: create org then add domain
|
|
183
|
+
ORG_ID=$(workos organization create "Acme" --json | jq -r '.data.id')
|
|
184
|
+
workos org-domain create acme.com --org=$ORG_ID
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
JSON output format:
|
|
188
|
+
|
|
189
|
+
- **List commands**: `{ "data": [...], "listMetadata": { "before": null, "after": "cursor" } }`
|
|
190
|
+
- **Get commands**: Raw object (no wrapper)
|
|
191
|
+
- **Create/Update/Delete**: `{ "status": "ok", "message": "...", "data": {...} }`
|
|
192
|
+
- **Errors**: `{ "error": { "code": "...", "message": "..." } }` on stderr
|
|
193
|
+
|
|
194
|
+
## Command Reference
|
|
195
|
+
|
|
196
|
+
### Resource Commands
|
|
197
|
+
|
|
198
|
+
| Command | Subcommands |
|
|
199
|
+
| --------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
200
|
+
| `workos organization` | `list`, `get`, `create`, `update`, `delete` |
|
|
201
|
+
| `workos user` | `list`, `get`, `update`, `delete` |
|
|
202
|
+
| `workos role` | `list`, `get`, `create`, `update`, `delete`, `set-permissions`, `add-permission`, `remove-permission` |
|
|
203
|
+
| `workos permission` | `list`, `get`, `create`, `update`, `delete` |
|
|
204
|
+
| `workos membership` | `list`, `get`, `create`, `update`, `delete`, `deactivate`, `reactivate` |
|
|
205
|
+
| `workos invitation` | `list`, `get`, `send`, `revoke`, `resend` |
|
|
206
|
+
| `workos session` | `list`, `revoke` |
|
|
207
|
+
| `workos connection` | `list`, `get`, `delete` |
|
|
208
|
+
| `workos directory` | `list`, `get`, `delete`, `list-users`, `list-groups` |
|
|
209
|
+
| `workos event` | `list` (requires `--events` flag) |
|
|
210
|
+
| `workos audit-log` | `create-event`, `export`, `list-actions`, `get-schema`, `create-schema`, `get-retention` |
|
|
211
|
+
| `workos feature-flag` | `list`, `get`, `enable`, `disable`, `add-target`, `remove-target` |
|
|
212
|
+
| `workos webhook` | `list`, `create`, `delete` |
|
|
213
|
+
| `workos config` | `redirect add`, `cors add`, `homepage-url set` |
|
|
214
|
+
| `workos portal` | `generate-link` |
|
|
215
|
+
| `workos vault` | `list`, `get`, `get-by-name`, `create`, `update`, `delete`, `describe`, `list-versions` |
|
|
216
|
+
| `workos api-key` | `list`, `create`, `validate`, `delete` |
|
|
217
|
+
| `workos org-domain` | `get`, `create`, `verify`, `delete` |
|
|
218
|
+
|
|
219
|
+
### Workflow Commands
|
|
220
|
+
|
|
221
|
+
| Command | Purpose |
|
|
222
|
+
| ----------------------------- | ------------------------------------------- |
|
|
223
|
+
| `workos seed --file=<yaml>` | Declarative resource provisioning from YAML |
|
|
224
|
+
| `workos seed --clean` | Tear down seeded resources |
|
|
225
|
+
| `workos setup-org <name>` | One-shot org onboarding |
|
|
226
|
+
| `workos onboard-user <email>` | Send invitation + optional wait |
|
|
227
|
+
| `workos debug-sso <connId>` | SSO connection diagnostics |
|
|
228
|
+
| `workos debug-sync <dirId>` | Directory sync diagnostics |
|
|
229
|
+
|
|
230
|
+
### Common Flags
|
|
231
|
+
|
|
232
|
+
| Flag | Purpose | Scope |
|
|
233
|
+
| ------------------------------------------- | ------------------------ | --------------------------------------------------- |
|
|
234
|
+
| `--json` | Structured JSON output | All commands |
|
|
235
|
+
| `--api-key` | Override API key | Resource commands |
|
|
236
|
+
| `--org` | Organization scope | role, membership, invitation, api-key, feature-flag |
|
|
237
|
+
| `--force` | Skip confirmation prompt | connection delete, directory delete |
|
|
238
|
+
| `--limit`, `--before`, `--after`, `--order` | Pagination | All list commands |
|
|
239
|
+
|
|
240
|
+
## Dashboard-Only Operations
|
|
241
|
+
|
|
242
|
+
These CANNOT be done from the CLI — tell the user to visit the WorkOS Dashboard:
|
|
243
|
+
|
|
244
|
+
- **Enable/disable auth methods** — Dashboard > Authentication
|
|
245
|
+
- **Configure session lifetime** — Dashboard > Authentication > Sessions
|
|
246
|
+
- **Set up social login providers** (Google, GitHub, etc.) — Dashboard > Authentication > Social
|
|
247
|
+
- **Create feature flags** — Dashboard > Feature Flags (toggle/target operations work via CLI)
|
|
248
|
+
- **Configure branding** (logos, colors) — Dashboard > Branding
|
|
249
|
+
- **Set up email templates** — Dashboard > Email
|
|
250
|
+
- **Manage billing/plan** — Dashboard > Settings > Billing
|