Skip to main content

Agent-friendly CLI for the Zoom API

Project description

CI Crates.io PyPI License: MIT codecov

zoom-cli

A command-line interface for the Zoom API -- manage meetings, recordings, users, webinars, and reports from your terminal.

Install

# From crates.io
cargo install zoom-cli

# From PyPI (pre-built binaries, no Rust toolchain needed)
pip install zoom-cli

# From GitHub Releases (Linux, macOS)
curl -fsSL https://github.com/rvben/zoom-cli/releases/latest/download/zoom-$(uname -m)-unknown-linux-gnu.tar.gz | tar xz

Quick Start

# Interactive setup (creates config with your Zoom OAuth credentials)
zoom init

# List your upcoming meetings
zoom meetings list

# Create a meeting
zoom meetings create --topic "Standup" --duration 30

# List cloud recordings from a date range
zoom recordings list --from 2026-01-01

# Get current user info
zoom users me

Configuration

Config file

~/.config/zoom-cli/config.toml

[default]
account_id = "YOUR_ACCOUNT_ID"
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"

[work]
account_id = "..."
client_id = "..."
client_secret = "..."

Requires a Zoom Server-to-Server OAuth app.

Environment variables

Variable Description
ZOOM_ACCOUNT_ID OAuth account ID
ZOOM_CLIENT_ID OAuth client ID
ZOOM_CLIENT_SECRET OAuth client secret
ZOOM_PROFILE Active profile name (default: default)

Precedence

CLI flags > environment variables > config file

Commands

Meetings

Command Description
zoom meetings list [--user <id>] [--type <t>] List meetings for a user
zoom meetings get <id> Get meeting details
zoom meetings create --topic <t> [--duration <m>] [--start <dt>] [--password <p>] Create a meeting
zoom meetings update <id> [--topic <t>] [--duration <m>] [--start <dt>] Update a meeting
zoom meetings delete <id> Delete a meeting
zoom meetings end <id> End a live meeting
zoom meetings participants <id> List past meeting participants
zoom meetings invite <id> Get meeting invitation text

Recordings

Command Description
zoom recordings list [--user <id>] [--from <date>] [--to <date>] List cloud recordings
zoom recordings get <meeting_id> Get recording details
zoom recordings download <meeting_id> [--out <dir>] Download recording files
zoom recordings delete <meeting_id> [--permanent] Delete cloud recordings
zoom recordings start <meeting_id> Start recording a live meeting
zoom recordings stop <meeting_id> Stop recording
zoom recordings pause <meeting_id> Pause recording
zoom recordings resume <meeting_id> Resume recording
zoom recordings transcript <meeting_id> [--out <dir>] Download transcript files

Users

Command Description
zoom users list [--status <s>] List account users
zoom users get <id_or_email> Get user details
zoom users me Get current user
zoom users create --email <e> [--first-name <n>] [--last-name <n>] [--type <t>] Create a user
zoom users deactivate <id_or_email> Deactivate a user
zoom users activate <id_or_email> Reactivate a user

Webinars

Command Description
zoom webinars list [--user <id>] List webinars
zoom webinars get <id> Get webinar details

Reports

Command Description
zoom reports meetings --from <date> [--to <date>] [--user <id>] Meeting summary report
zoom reports participants <meeting_id> Participant report for a past meeting

Configuration & Setup

Command Description
zoom init [--profile <name>] Set up credentials interactively
zoom config show Show current configuration
zoom config delete <profile> [--force] Delete a profile
zoom schema <resource> Print field reference for a resource (meetings, recordings, users, reports, webinars)
zoom completions <shell> Generate shell completions (bash, zsh, fish, elvish, powershell)

Shell Completions

# zsh
zoom completions zsh > ~/.zsh/completions/_zoom

# bash
zoom completions bash > /etc/bash_completion.d/zoom

# fish
zoom completions fish > ~/.config/fish/completions/zoom.fish

Agent Integration

JSON output

JSON output is automatic when stdout is not a TTY, or forced with --json. Data goes to stdout, messages to stderr.

zoom meetings list --json | jq '.[].topic'

Schema introspection

zoom schema meetings | jq '.fields'

The schema command outputs a JSON description of resource fields and types -- enabling AI agents to discover operations without parsing help text.

Exit codes

Code Meaning
0 Success
1 General error
2 Auth or config error
3 Not found

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zoomcli-0.2.4.tar.gz (63.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zoomcli-0.2.4-py3-none-win_amd64.whl (2.8 MB view details)

Uploaded Python 3Windows x86-64

zoomcli-0.2.4-py3-none-manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

zoomcli-0.2.4-py3-none-manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

zoomcli-0.2.4-py3-none-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

zoomcli-0.2.4-py3-none-macosx_10_12_x86_64.whl (2.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file zoomcli-0.2.4.tar.gz.

File metadata

  • Download URL: zoomcli-0.2.4.tar.gz
  • Upload date:
  • Size: 63.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for zoomcli-0.2.4.tar.gz
Algorithm Hash digest
SHA256 c585ca71a8a98d2ec5c7aacfa9ba4c57a65ee425fb8cda9d88b6bd73cfc51116
MD5 877b00f5fa52e930e420f704cb2a24fc
BLAKE2b-256 61f66b1abe78403de9928108c785cf9e8d44248a10750019c6b9f5ec86d7608c

See more details on using hashes here.

File details

Details for the file zoomcli-0.2.4-py3-none-win_amd64.whl.

File metadata

  • Download URL: zoomcli-0.2.4-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for zoomcli-0.2.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7319b3bd37624f6352bd27c20abf6e4c2e25f20ae7bacb03220b0dd501750798
MD5 e66100be07b3fd04b2482b229b1d20ed
BLAKE2b-256 221c75b412596217e3825f94b51a61a9e953c63acbcbd15e95f1cb0c650e8828

See more details on using hashes here.

File details

Details for the file zoomcli-0.2.4-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zoomcli-0.2.4-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 26d51f51d039e6b7ca50adc1632d4bef33f83547414d0982f4331a4d5089b23a
MD5 a2ea15ddcff8ef2fea95789bbe42dceb
BLAKE2b-256 3ecd271aa4cc6d5fc587ca303fb780e152715f9fb5bf65b4ee0d5c5750710df3

See more details on using hashes here.

File details

Details for the file zoomcli-0.2.4-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zoomcli-0.2.4-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 40e6aad5a57e42b925cb3e1b7b8cf7bbf58bb72e04d262544595392ea1d720e0
MD5 22530a9d4c06088e9935e4695a77f444
BLAKE2b-256 123df2b661db9b27ea0595bcfd72723cc8a83ff4e9cc49e7738a605dbfb26c4a

See more details on using hashes here.

File details

Details for the file zoomcli-0.2.4-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zoomcli-0.2.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4d98e2e8c744dd9ccb411f53cde8c52e509a1f67f2b18b0f53f1a7d2c4f2a3e
MD5 bb2c7e83119ca03871cab10a7dde0eaf
BLAKE2b-256 2f733833ea64b2d050578a9ec90ea4feabed761cd1712851d2446ae9424e6390

See more details on using hashes here.

File details

Details for the file zoomcli-0.2.4-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for zoomcli-0.2.4-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ebb1a7bafb3ad984afe7ff1c3b6ead58f2ffc6700c8c53c7ebb4d1e43dbf94e8
MD5 612de98fa304aa3bb2d15c78246b2b63
BLAKE2b-256 80807da1dc6bd546adf9d840b230e77a41d48965387c9eed77fc01e957ace0dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page