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.6.tar.gz (73.7 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.6-py3-none-win_amd64.whl (2.9 MB view details)

Uploaded Python 3Windows x86-64

zoomcli-0.2.6-py3-none-manylinux_2_28_x86_64.whl (2.9 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

zoomcli-0.2.6-py3-none-manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

zoomcli-0.2.6-py3-none-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

zoomcli-0.2.6-py3-none-macosx_10_12_x86_64.whl (2.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: zoomcli-0.2.6.tar.gz
  • Upload date:
  • Size: 73.7 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.6.tar.gz
Algorithm Hash digest
SHA256 0d27134415d493c3f62f554f573d86e7708b7e8a5ee300715964850ece90c269
MD5 7ce4df544d3f0e2567bc03f1be68339c
BLAKE2b-256 d41f8bb6ce52bb568507dc37ad2320e7b28557ca272bc7cdf46520e41e2919ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zoomcli-0.2.6-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.9 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.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 df98c9ae88cc9d5d765e9a74df93e47c57b8c4c850aebe13076a2387e0054a12
MD5 8c2f7671acebf5a93cee62cfa90b121b
BLAKE2b-256 1190a8fb6ad8082e18040ad71acca5bfc9f48e7bca349e23c727554a160c87e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.6-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 375491b7ca6ab9a4ef9063a4255089c20ddfff7ec5bebf192e1ab5b4b17c13bc
MD5 6a19769f4129b8e173f040c4803c7125
BLAKE2b-256 02c9a92e4ca839db598782bcee8170d6b34233fb113787f4efc4c60aab285181

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.6-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 599603e72bad721167f94007a7b301549d1c5ce28b9cd8baa1bca308aee6a844
MD5 526284e4d735ec2a3b6bd90c174a11b6
BLAKE2b-256 fd48758ce47218536daa697cae8aec856d27fb6ae977402728525f8c36cd3e8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba6a4d9de4194120361e7096f987be83aa01e6bace4784dfc4582fc0a5f8ccf8
MD5 c40ae3322a2932ee4ffdcc9cac9400b2
BLAKE2b-256 05e2a561dde9c52c791bc8db97d50063738fc6e86f872cb8e998b3488e027e61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.6-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b2e56db98554d816583b61e3b05833759d6e60b9d1001146ddb29e77021853ee
MD5 5a76847c61aced4ee5d67dc177e4af94
BLAKE2b-256 b60d2928d02956b9d885565813394434a2cf5c213a38db2f7233f7f4e789800e

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