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.3.tar.gz (63.1 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.3-py3-none-win_amd64.whl (2.8 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

zoomcli-0.2.3-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.3.tar.gz.

File metadata

  • Download URL: zoomcli-0.2.3.tar.gz
  • Upload date:
  • Size: 63.1 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.3.tar.gz
Algorithm Hash digest
SHA256 29d166a33caec00bb2683cf02f751e9262ba2cda6c5356b8c8a7cd96209d8771
MD5 040d3e8571e9b53dcb4c6eb9cba212c8
BLAKE2b-256 e6cc6deb55cb615cf6d864cc1e1e9170abad6a5ed01d95b7948f67327389bd14

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zoomcli-0.2.3-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.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 078b18b0418444cee9b7bd94ec1dea8fd6fcb9b5faa2fa655e10927c4f16cdf7
MD5 94b59ef69defaf2a6403a772b4c697c7
BLAKE2b-256 ba3ad2d55be0fbb55e937ea9111c9aa5fafcaf076ea9b08541ea6ed02b18e289

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.3-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f24930597ce33573ca5061283dc4c341912ed9a4c19941a3ae198680d9884434
MD5 cdfbf655985789914cffa9a1c5e6ceeb
BLAKE2b-256 eb63ff03d275c0e069462e6aa84650bbf3eb81536d9e8f39370ea8a291ad290e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.3-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f3bb763fb59d87fec08a35ad22cbf0258e0375de303101fbfebaf21429515d96
MD5 4954020d59dff9672a9a99bb6fdd29cc
BLAKE2b-256 22e1ebc57bf2ad7718c58c626d298432174593a03694ec3fb719309c72ce587e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5313482bcea793b1dfe11a6ab936dd63b4b74a91ea1f8276bbbf7e5ea86c720c
MD5 a1561835974f30f9a8576f5ba01584c0
BLAKE2b-256 79ace6fa550e19af7da59f39aa2c9303b06efb4adb2e24ffa62b699e4e2bcb3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 84cb9efc8550180328e61638f7df2f86661f0cd3d03734726a207b230ed3a459
MD5 53b9d13ff3fc502123d139de41321492
BLAKE2b-256 1a7233c8b3666bad3edfb8104924f8d917a03233a4a4ab210515ab047a38d0e0

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