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.
- zoomcli-0.2.2/.gitignore +2 -0
- zoomcli-0.2.2/CHANGELOG.md +40 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/Cargo.lock +2 -1
- {zoomcli-0.2.0 → zoomcli-0.2.2}/Cargo.toml +2 -1
- zoomcli-0.2.2/Formula/zoom-cli.rb +32 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/Makefile +1 -1
- zoomcli-0.2.2/PKG-INFO +203 -0
- zoomcli-0.2.2/README.md +181 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/api/client.rs +116 -20
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/api/mod.rs +12 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/api/types.rs +75 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/config.rs +75 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/meetings.rs +31 -4
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/recordings.rs +140 -32
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/reports.rs +91 -6
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/users.rs +122 -4
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/webinars.rs +1 -4
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/config.rs +107 -33
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/main.rs +71 -1
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/output.rs +40 -2
- zoomcli-0.2.0/.gitignore +0 -1
- zoomcli-0.2.0/CHANGELOG.md +0 -18
- zoomcli-0.2.0/PKG-INFO +0 -64
- zoomcli-0.2.0/README.md +0 -42
- {zoomcli-0.2.0 → zoomcli-0.2.2}/.github/workflows/ci.yml +0 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/.github/workflows/release.yml +0 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/pyproject.toml +0 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/init.rs +0 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/commands/mod.rs +0 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/lib.rs +0 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/src/test_support.rs +0 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/zoom_cli/__init__.py +0 -0
- {zoomcli-0.2.0 → zoomcli-0.2.2}/zoom_cli/__main__.py +0 -0
zoomcli-0.2.2/.gitignore
ADDED
|
@@ -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.
|
|
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.
|
|
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
|
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
|
+
[](https://github.com/rvben/zoom-cli/actions/workflows/ci.yml)
|
|
23
|
+
[](https://crates.io/crates/zoom-cli)
|
|
24
|
+
[](https://pypi.org/project/zoom-cli/)
|
|
25
|
+
[](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
|
+
|
zoomcli-0.2.2/README.md
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
[](https://github.com/rvben/zoom-cli/actions/workflows/ci.yml)
|
|
2
|
+
[](https://crates.io/crates/zoom-cli)
|
|
3
|
+
[](https://pypi.org/project/zoom-cli/)
|
|
4
|
+
[](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
|