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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

zoomcli-0.2.5-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.5.tar.gz.

File metadata

  • Download URL: zoomcli-0.2.5.tar.gz
  • Upload date:
  • Size: 73.0 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.5.tar.gz
Algorithm Hash digest
SHA256 0da164e0960328fe24e75f59018c313fb2abd595fee616f93817828c27f3b76d
MD5 463825ff6d07827045f27d48c0cbf61f
BLAKE2b-256 ceb3810247cee2008dcc627e107676f4f4822fa186245b6239bbfc0c9ea58f5b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zoomcli-0.2.5-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.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 59cae35bb9cdbb1f7d4c7880e7b56aa109cfc4be0f22c2bbf5f286e1db363c41
MD5 65ede795890d86f27d0c86fe64b901f6
BLAKE2b-256 946a46c88fef52401a69e183c303913768d9ee32885e5d8831ce63a2298ceba4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.5-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0083049a13c1a32ad7435096bbb8de36359605d4b14e59d20da7a9aec4b0af52
MD5 283b87e5f5e4a9ae27b4818124dc603d
BLAKE2b-256 c613577a8dc4a7c3077626cf81b49a413b203d0509324e7156702a9a01faf782

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.5-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2ea60f4b195816aef53bd1ab88f9d7227ea429bdce51e2ce794f395d43891a2a
MD5 422b80876a9353a843be9a8a6da0b3bc
BLAKE2b-256 f0f0215bcb79a2cbf74d80d1f1c94204e311cfcb07a9ef6284b5cad1bc01658a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5884d0b9a887cc8e80b4eb06ecc2cf9e54daa18f2007ce6df9f137dc441cf746
MD5 995b99e71a78a82a376947a5dfc1926c
BLAKE2b-256 2a20c490b0378813af05821422c3c7375b325135795676943a403b59b7f5ba47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zoomcli-0.2.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 81b3e47b9aae16310be4b52f006396e142ebe4dc84ba59b19bdaaff1b8444d33
MD5 dbc3f1b0b06f42bcd00ff60d2b7faa88
BLAKE2b-256 42c613f18a00533e10981d375a483c4e9d4063c8d911164f6bf64b060025b868

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