zoomcli 0.2.0__tar.gz → 0.2.2__tar.gz

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 (33) hide show
  1. zoomcli-0.2.2/.gitignore +2 -0
  2. zoomcli-0.2.2/CHANGELOG.md +40 -0
  3. {zoomcli-0.2.0 → zoomcli-0.2.2}/Cargo.lock +2 -1
  4. {zoomcli-0.2.0 → zoomcli-0.2.2}/Cargo.toml +2 -1
  5. zoomcli-0.2.2/Formula/zoom-cli.rb +32 -0
  6. {zoomcli-0.2.0 → zoomcli-0.2.2}/Makefile +1 -1
  7. zoomcli-0.2.2/PKG-INFO +203 -0
  8. zoomcli-0.2.2/README.md +181 -0
  9. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/api/client.rs +116 -20
  10. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/api/mod.rs +12 -0
  11. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/api/types.rs +75 -0
  12. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/config.rs +75 -0
  13. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/meetings.rs +31 -4
  14. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/recordings.rs +140 -32
  15. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/reports.rs +91 -6
  16. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/users.rs +122 -4
  17. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/webinars.rs +1 -4
  18. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/config.rs +107 -33
  19. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/main.rs +71 -1
  20. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/output.rs +40 -2
  21. zoomcli-0.2.0/.gitignore +0 -1
  22. zoomcli-0.2.0/CHANGELOG.md +0 -18
  23. zoomcli-0.2.0/PKG-INFO +0 -64
  24. zoomcli-0.2.0/README.md +0 -42
  25. {zoomcli-0.2.0 → zoomcli-0.2.2}/.github/workflows/ci.yml +0 -0
  26. {zoomcli-0.2.0 → zoomcli-0.2.2}/.github/workflows/release.yml +0 -0
  27. {zoomcli-0.2.0 → zoomcli-0.2.2}/pyproject.toml +0 -0
  28. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/init.rs +0 -0
  29. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/mod.rs +0 -0
  30. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/lib.rs +0 -0
  31. {zoomcli-0.2.0 → zoomcli-0.2.2}/src/test_support.rs +0 -0
  32. {zoomcli-0.2.0 → zoomcli-0.2.2}/zoom_cli/__init__.py +0 -0
  33. {zoomcli-0.2.0 → zoomcli-0.2.2}/zoom_cli/__main__.py +0 -0
@@ -0,0 +1,2 @@
1
+ /target
2
+ /.worktrees
@@ -0,0 +1,40 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/).
6
+
7
+
8
+
9
+ ## [0.2.2](https://github.com/rvben/zoom-cli/compare/v0.2.1...v0.2.2) - 2026-04-03
10
+
11
+ ## [0.2.1](https://github.com/rvben/zoom-cli/compare/v0.2.0...v0.2.1) - 2026-04-02
12
+
13
+ ### Added
14
+
15
+ - show pagination progress when fetching multiple pages ([e5e3364](https://github.com/rvben/zoom-cli/commit/e5e336472b9cb153afed1d5020d0a758b2342359))
16
+ - **config**: add zoom config delete command ([5841781](https://github.com/rvben/zoom-cli/commit/5841781a42e68c0c3568e9f16b06030fa19ec9ed))
17
+ - **reports**: add zoom reports participants command ([fcf08dc](https://github.com/rvben/zoom-cli/commit/fcf08dcf19186a3613f84af701d67114abd27ce6))
18
+ - **recordings**: add transcript download command ([c7b8fff](https://github.com/rvben/zoom-cli/commit/c7b8fff658e57b296d27e2632cf98e9187925ef8))
19
+ - **users**: add create, deactivate, and activate commands ([eb4fc29](https://github.com/rvben/zoom-cli/commit/eb4fc2900837add72d7ecc75227c6e8ae68a5517))
20
+ - **meetings**: add zoom meetings invite command ([051e7e6](https://github.com/rvben/zoom-cli/commit/051e7e6e4471ae01d30e3102c78ca18fe602fe17))
21
+
22
+ ### Fixed
23
+
24
+ - add clickable link to missing-scope error message ([c71f3ba](https://github.com/rvben/zoom-cli/commit/c71f3bae31479e7fd3103dff05800a6b2afd1e4f))
25
+ - parse Zoom error JSON and give actionable guidance for scope errors ([9ffac38](https://github.com/rvben/zoom-cli/commit/9ffac3889c124684a354be1f05b3538a1837b7fe))
26
+ - hoist safe_topic out of per-file loop in recordings::download ([fa409c8](https://github.com/rvben/zoom-cli/commit/fa409c84f5363c1261a7c2f97b60ccb0873d3861))
27
+ - **config,recordings**: exit non-zero when config delete aborts non-interactively, output structured JSON from transcript ([ed6f9f7](https://github.com/rvben/zoom-cli/commit/ed6f9f73d1379d64394e1747d2c77fb04c3d6c1c))
28
+
29
+ ## [0.2.0](https://github.com/rvben/zoom-cli/compare/v0.1.0...v0.2.0) - 2026-04-02
30
+
31
+ ### Added
32
+
33
+ - **init**: redesign interactive setup with excellent UX ([2bc79df](https://github.com/rvben/zoom-cli/commit/2bc79dfc82e18f476e69ea7aaaa4416d3fce2c23))
34
+ - **config**: add zoom config show command ([dbe8490](https://github.com/rvben/zoom-cli/commit/dbe84901f3618e6c17542ae6fd8e5c52a741eb29))
35
+
36
+ ### Fixed
37
+
38
+ - double-encode recording UUIDs and write downloads atomically ([f346939](https://github.com/rvben/zoom-cli/commit/f346939569336d808e5c02f7c2029c55e7273169))
39
+ - unreachable!() in send_with_retry was reachable, causing panics ([ceb905d](https://github.com/rvben/zoom-cli/commit/ceb905d7b12dfbc25fa8a7150daf2a5f09158375))
40
+ - transparent token refresh on 401, --permanent flag for recordings delete ([fdae155](https://github.com/rvben/zoom-cli/commit/fdae155e096e953c4a6634a177abb9c7ce2ab6cf))
@@ -2219,7 +2219,7 @@ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
2219
2219
 
2220
2220
  [[package]]
2221
2221
  name = "zoom-cli"
2222
- version = "0.2.0"
2222
+ version = "0.2.2"
2223
2223
  dependencies = [
2224
2224
  "assert_cmd",
2225
2225
  "base64",
@@ -2235,5 +2235,6 @@ dependencies = [
2235
2235
  "tempfile",
2236
2236
  "tokio",
2237
2237
  "toml",
2238
+ "toml_edit",
2238
2239
  "wiremock",
2239
2240
  ]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "zoom-cli"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  edition = "2024"
5
5
  rust-version = "1.90"
6
6
  description = "Agent-friendly Zoom CLI with JSON output, structured exit codes, and schema introspection"
@@ -23,6 +23,7 @@ serde = { version = "1", features = ["derive"] }
23
23
  serde_json = "1"
24
24
  tokio = { version = "1", features = ["macros", "rt-multi-thread", "fs", "io-util", "time"] }
25
25
  toml = "0.8"
26
+ toml_edit = "0.22"
26
27
  owo-colors = "4"
27
28
  dirs = "6"
28
29
  base64 = "0.22"
@@ -0,0 +1,32 @@
1
+ class ZoomCli < Formula
2
+ desc "Agent-friendly Zoom CLI with JSON output, structured exit codes, and schema introspection"
3
+ homepage "https://github.com/rvben/zoom-cli"
4
+ version "0.2.0"
5
+ license "MIT"
6
+
7
+ on_macos do
8
+ on_arm do
9
+ url "https://github.com/rvben/zoom-cli/releases/download/v0.2.0/zoom-cli-v0.2.0-aarch64-apple-darwin.tar.gz"
10
+ sha256 "1646d509545baaf0dad29c136f6d63a02d8537c0b2cf42b29c64b2777cca267b"
11
+ end
12
+ on_intel do
13
+ url "https://github.com/rvben/zoom-cli/releases/download/v0.2.0/zoom-cli-v0.2.0-x86_64-apple-darwin.tar.gz"
14
+ sha256 "94f11f7a6cbb59e1fe5e1b55e8518c52ed2774a1fbbfd7ede824f84258786c18"
15
+ end
16
+ end
17
+
18
+ def install
19
+ bin.install "zoom"
20
+ end
21
+
22
+ def caveats
23
+ <<~EOS
24
+ Run `zoom init` to set up your Zoom Server-to-Server OAuth credentials.
25
+ Run `zoom config show` to verify your configuration.
26
+ EOS
27
+ end
28
+
29
+ test do
30
+ assert_match "zoom #{version}", shell_output("#{bin}/zoom --version")
31
+ end
32
+ end
@@ -11,7 +11,7 @@ test:
11
11
 
12
12
  lint:
13
13
  cargo fmt -- --check
14
- cargo clippy --all-targets --all-features -- -D warnings
14
+ cargo clippy -- -D warnings
15
15
 
16
16
  fmt:
17
17
  cargo fmt
zoomcli-0.2.2/PKG-INFO ADDED
@@ -0,0 +1,203 @@
1
+ Metadata-Version: 2.4
2
+ Name: zoomcli
3
+ Version: 0.2.2
4
+ Classifier: Development Status :: 3 - Alpha
5
+ Classifier: Environment :: Console
6
+ Classifier: Intended Audience :: Developers
7
+ Classifier: Intended Audience :: System Administrators
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Rust
12
+ Classifier: Topic :: Communications :: Conferencing
13
+ Summary: Agent-friendly CLI for the Zoom API
14
+ Home-Page: https://github.com/rvben/zoom-cli
15
+ Author-email: "Ruben J. Jongejan" <ruben.jongejan@gmail.com>
16
+ License: MIT
17
+ Requires-Python: >=3.8
18
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
19
+ Project-URL: Homepage, https://github.com/rvben/zoom-cli
20
+ Project-URL: Repository, https://github.com/rvben/zoom-cli.git
21
+
22
+ [![CI](https://github.com/rvben/zoom-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/rvben/zoom-cli/actions/workflows/ci.yml)
23
+ [![Crates.io](https://img.shields.io/crates/v/zoom-cli.svg)](https://crates.io/crates/zoom-cli)
24
+ [![PyPI](https://img.shields.io/pypi/v/zoom-cli.svg)](https://pypi.org/project/zoom-cli/)
25
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
26
+
27
+ # zoom-cli
28
+
29
+ A command-line interface for the [Zoom API](https://developers.zoom.us/docs/api/) -- manage meetings, recordings, users, webinars, and reports from your terminal.
30
+
31
+ ## Install
32
+
33
+ ```bash
34
+ # From crates.io
35
+ cargo install zoom-cli
36
+
37
+ # From PyPI (pre-built binaries, no Rust toolchain needed)
38
+ pip install zoom-cli
39
+
40
+ # From GitHub Releases (Linux, macOS)
41
+ curl -fsSL https://github.com/rvben/zoom-cli/releases/latest/download/zoom-$(uname -m)-unknown-linux-gnu.tar.gz | tar xz
42
+ ```
43
+
44
+ ## Quick Start
45
+
46
+ ```bash
47
+ # Interactive setup (creates config with your Zoom OAuth credentials)
48
+ zoom init
49
+
50
+ # List your upcoming meetings
51
+ zoom meetings list
52
+
53
+ # Create a meeting
54
+ zoom meetings create --topic "Standup" --duration 30
55
+
56
+ # List cloud recordings from a date range
57
+ zoom recordings list --from 2026-01-01
58
+
59
+ # Get current user info
60
+ zoom users me
61
+ ```
62
+
63
+ ## Configuration
64
+
65
+ ### Config file
66
+
67
+ `~/.config/zoom-cli/config.toml`
68
+
69
+ ```toml
70
+ [default]
71
+ account_id = "YOUR_ACCOUNT_ID"
72
+ client_id = "YOUR_CLIENT_ID"
73
+ client_secret = "YOUR_CLIENT_SECRET"
74
+
75
+ [work]
76
+ account_id = "..."
77
+ client_id = "..."
78
+ client_secret = "..."
79
+ ```
80
+
81
+ Requires a [Zoom Server-to-Server OAuth app](https://marketplace.zoom.us/develop/create).
82
+
83
+ ### Environment variables
84
+
85
+ | Variable | Description |
86
+ |---|---|
87
+ | `ZOOM_ACCOUNT_ID` | OAuth account ID |
88
+ | `ZOOM_CLIENT_ID` | OAuth client ID |
89
+ | `ZOOM_CLIENT_SECRET` | OAuth client secret |
90
+ | `ZOOM_PROFILE` | Active profile name (default: `default`) |
91
+
92
+ ### Precedence
93
+
94
+ CLI flags > environment variables > config file
95
+
96
+ ## Commands
97
+
98
+ ### Meetings
99
+
100
+ | Command | Description |
101
+ |---------|-------------|
102
+ | `zoom meetings list [--user <id>] [--type <t>]` | List meetings for a user |
103
+ | `zoom meetings get <id>` | Get meeting details |
104
+ | `zoom meetings create --topic <t> [--duration <m>] [--start <dt>] [--password <p>]` | Create a meeting |
105
+ | `zoom meetings update <id> [--topic <t>] [--duration <m>] [--start <dt>]` | Update a meeting |
106
+ | `zoom meetings delete <id>` | Delete a meeting |
107
+ | `zoom meetings end <id>` | End a live meeting |
108
+ | `zoom meetings participants <id>` | List past meeting participants |
109
+ | `zoom meetings invite <id>` | Get meeting invitation text |
110
+
111
+ ### Recordings
112
+
113
+ | Command | Description |
114
+ |---------|-------------|
115
+ | `zoom recordings list [--user <id>] [--from <date>] [--to <date>]` | List cloud recordings |
116
+ | `zoom recordings get <meeting_id>` | Get recording details |
117
+ | `zoom recordings download <meeting_id> [--out <dir>]` | Download recording files |
118
+ | `zoom recordings delete <meeting_id> [--permanent]` | Delete cloud recordings |
119
+ | `zoom recordings start <meeting_id>` | Start recording a live meeting |
120
+ | `zoom recordings stop <meeting_id>` | Stop recording |
121
+ | `zoom recordings pause <meeting_id>` | Pause recording |
122
+ | `zoom recordings resume <meeting_id>` | Resume recording |
123
+ | `zoom recordings transcript <meeting_id> [--out <dir>]` | Download transcript files |
124
+
125
+ ### Users
126
+
127
+ | Command | Description |
128
+ |---------|-------------|
129
+ | `zoom users list [--status <s>]` | List account users |
130
+ | `zoom users get <id_or_email>` | Get user details |
131
+ | `zoom users me` | Get current user |
132
+ | `zoom users create --email <e> [--first-name <n>] [--last-name <n>] [--type <t>]` | Create a user |
133
+ | `zoom users deactivate <id_or_email>` | Deactivate a user |
134
+ | `zoom users activate <id_or_email>` | Reactivate a user |
135
+
136
+ ### Webinars
137
+
138
+ | Command | Description |
139
+ |---------|-------------|
140
+ | `zoom webinars list [--user <id>]` | List webinars |
141
+ | `zoom webinars get <id>` | Get webinar details |
142
+
143
+ ### Reports
144
+
145
+ | Command | Description |
146
+ |---------|-------------|
147
+ | `zoom reports meetings --from <date> [--to <date>] [--user <id>]` | Meeting summary report |
148
+ | `zoom reports participants <meeting_id>` | Participant report for a past meeting |
149
+
150
+ ### Configuration & Setup
151
+
152
+ | Command | Description |
153
+ |---------|-------------|
154
+ | `zoom init [--profile <name>]` | Set up credentials interactively |
155
+ | `zoom config show` | Show current configuration |
156
+ | `zoom config delete <profile> [--force]` | Delete a profile |
157
+ | `zoom schema <resource>` | Print field reference for a resource (meetings, recordings, users, reports, webinars) |
158
+ | `zoom completions <shell>` | Generate shell completions (bash, zsh, fish, elvish, powershell) |
159
+
160
+ ## Shell Completions
161
+
162
+ ```bash
163
+ # zsh
164
+ zoom completions zsh > ~/.zsh/completions/_zoom
165
+
166
+ # bash
167
+ zoom completions bash > /etc/bash_completion.d/zoom
168
+
169
+ # fish
170
+ zoom completions fish > ~/.config/fish/completions/zoom.fish
171
+ ```
172
+
173
+ ## Agent Integration
174
+
175
+ ### JSON output
176
+
177
+ JSON output is automatic when stdout is not a TTY, or forced with `--json`. Data goes to stdout, messages to stderr.
178
+
179
+ ```bash
180
+ zoom meetings list --json | jq '.[].topic'
181
+ ```
182
+
183
+ ### Schema introspection
184
+
185
+ ```bash
186
+ zoom schema meetings | jq '.fields'
187
+ ```
188
+
189
+ The `schema` command outputs a JSON description of resource fields and types -- enabling AI agents to discover operations without parsing help text.
190
+
191
+ ### Exit codes
192
+
193
+ | Code | Meaning |
194
+ |------|---------|
195
+ | `0` | Success |
196
+ | `1` | General error |
197
+ | `2` | Auth or config error |
198
+ | `3` | Not found |
199
+
200
+ ## License
201
+
202
+ MIT
203
+
@@ -0,0 +1,181 @@
1
+ [![CI](https://github.com/rvben/zoom-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/rvben/zoom-cli/actions/workflows/ci.yml)
2
+ [![Crates.io](https://img.shields.io/crates/v/zoom-cli.svg)](https://crates.io/crates/zoom-cli)
3
+ [![PyPI](https://img.shields.io/pypi/v/zoom-cli.svg)](https://pypi.org/project/zoom-cli/)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
5
+
6
+ # zoom-cli
7
+
8
+ A command-line interface for the [Zoom API](https://developers.zoom.us/docs/api/) -- manage meetings, recordings, users, webinars, and reports from your terminal.
9
+
10
+ ## Install
11
+
12
+ ```bash
13
+ # From crates.io
14
+ cargo install zoom-cli
15
+
16
+ # From PyPI (pre-built binaries, no Rust toolchain needed)
17
+ pip install zoom-cli
18
+
19
+ # From GitHub Releases (Linux, macOS)
20
+ curl -fsSL https://github.com/rvben/zoom-cli/releases/latest/download/zoom-$(uname -m)-unknown-linux-gnu.tar.gz | tar xz
21
+ ```
22
+
23
+ ## Quick Start
24
+
25
+ ```bash
26
+ # Interactive setup (creates config with your Zoom OAuth credentials)
27
+ zoom init
28
+
29
+ # List your upcoming meetings
30
+ zoom meetings list
31
+
32
+ # Create a meeting
33
+ zoom meetings create --topic "Standup" --duration 30
34
+
35
+ # List cloud recordings from a date range
36
+ zoom recordings list --from 2026-01-01
37
+
38
+ # Get current user info
39
+ zoom users me
40
+ ```
41
+
42
+ ## Configuration
43
+
44
+ ### Config file
45
+
46
+ `~/.config/zoom-cli/config.toml`
47
+
48
+ ```toml
49
+ [default]
50
+ account_id = "YOUR_ACCOUNT_ID"
51
+ client_id = "YOUR_CLIENT_ID"
52
+ client_secret = "YOUR_CLIENT_SECRET"
53
+
54
+ [work]
55
+ account_id = "..."
56
+ client_id = "..."
57
+ client_secret = "..."
58
+ ```
59
+
60
+ Requires a [Zoom Server-to-Server OAuth app](https://marketplace.zoom.us/develop/create).
61
+
62
+ ### Environment variables
63
+
64
+ | Variable | Description |
65
+ |---|---|
66
+ | `ZOOM_ACCOUNT_ID` | OAuth account ID |
67
+ | `ZOOM_CLIENT_ID` | OAuth client ID |
68
+ | `ZOOM_CLIENT_SECRET` | OAuth client secret |
69
+ | `ZOOM_PROFILE` | Active profile name (default: `default`) |
70
+
71
+ ### Precedence
72
+
73
+ CLI flags > environment variables > config file
74
+
75
+ ## Commands
76
+
77
+ ### Meetings
78
+
79
+ | Command | Description |
80
+ |---------|-------------|
81
+ | `zoom meetings list [--user <id>] [--type <t>]` | List meetings for a user |
82
+ | `zoom meetings get <id>` | Get meeting details |
83
+ | `zoom meetings create --topic <t> [--duration <m>] [--start <dt>] [--password <p>]` | Create a meeting |
84
+ | `zoom meetings update <id> [--topic <t>] [--duration <m>] [--start <dt>]` | Update a meeting |
85
+ | `zoom meetings delete <id>` | Delete a meeting |
86
+ | `zoom meetings end <id>` | End a live meeting |
87
+ | `zoom meetings participants <id>` | List past meeting participants |
88
+ | `zoom meetings invite <id>` | Get meeting invitation text |
89
+
90
+ ### Recordings
91
+
92
+ | Command | Description |
93
+ |---------|-------------|
94
+ | `zoom recordings list [--user <id>] [--from <date>] [--to <date>]` | List cloud recordings |
95
+ | `zoom recordings get <meeting_id>` | Get recording details |
96
+ | `zoom recordings download <meeting_id> [--out <dir>]` | Download recording files |
97
+ | `zoom recordings delete <meeting_id> [--permanent]` | Delete cloud recordings |
98
+ | `zoom recordings start <meeting_id>` | Start recording a live meeting |
99
+ | `zoom recordings stop <meeting_id>` | Stop recording |
100
+ | `zoom recordings pause <meeting_id>` | Pause recording |
101
+ | `zoom recordings resume <meeting_id>` | Resume recording |
102
+ | `zoom recordings transcript <meeting_id> [--out <dir>]` | Download transcript files |
103
+
104
+ ### Users
105
+
106
+ | Command | Description |
107
+ |---------|-------------|
108
+ | `zoom users list [--status <s>]` | List account users |
109
+ | `zoom users get <id_or_email>` | Get user details |
110
+ | `zoom users me` | Get current user |
111
+ | `zoom users create --email <e> [--first-name <n>] [--last-name <n>] [--type <t>]` | Create a user |
112
+ | `zoom users deactivate <id_or_email>` | Deactivate a user |
113
+ | `zoom users activate <id_or_email>` | Reactivate a user |
114
+
115
+ ### Webinars
116
+
117
+ | Command | Description |
118
+ |---------|-------------|
119
+ | `zoom webinars list [--user <id>]` | List webinars |
120
+ | `zoom webinars get <id>` | Get webinar details |
121
+
122
+ ### Reports
123
+
124
+ | Command | Description |
125
+ |---------|-------------|
126
+ | `zoom reports meetings --from <date> [--to <date>] [--user <id>]` | Meeting summary report |
127
+ | `zoom reports participants <meeting_id>` | Participant report for a past meeting |
128
+
129
+ ### Configuration & Setup
130
+
131
+ | Command | Description |
132
+ |---------|-------------|
133
+ | `zoom init [--profile <name>]` | Set up credentials interactively |
134
+ | `zoom config show` | Show current configuration |
135
+ | `zoom config delete <profile> [--force]` | Delete a profile |
136
+ | `zoom schema <resource>` | Print field reference for a resource (meetings, recordings, users, reports, webinars) |
137
+ | `zoom completions <shell>` | Generate shell completions (bash, zsh, fish, elvish, powershell) |
138
+
139
+ ## Shell Completions
140
+
141
+ ```bash
142
+ # zsh
143
+ zoom completions zsh > ~/.zsh/completions/_zoom
144
+
145
+ # bash
146
+ zoom completions bash > /etc/bash_completion.d/zoom
147
+
148
+ # fish
149
+ zoom completions fish > ~/.config/fish/completions/zoom.fish
150
+ ```
151
+
152
+ ## Agent Integration
153
+
154
+ ### JSON output
155
+
156
+ JSON output is automatic when stdout is not a TTY, or forced with `--json`. Data goes to stdout, messages to stderr.
157
+
158
+ ```bash
159
+ zoom meetings list --json | jq '.[].topic'
160
+ ```
161
+
162
+ ### Schema introspection
163
+
164
+ ```bash
165
+ zoom schema meetings | jq '.fields'
166
+ ```
167
+
168
+ The `schema` command outputs a JSON description of resource fields and types -- enabling AI agents to discover operations without parsing help text.
169
+
170
+ ### Exit codes
171
+
172
+ | Code | Meaning |
173
+ |------|---------|
174
+ | `0` | Success |
175
+ | `1` | General error |
176
+ | `2` | Auth or config error |
177
+ | `3` | Not found |
178
+
179
+ ## License
180
+
181
+ MIT