cloudflare-cli | Skills Pool
cloudflare-cli Manage Cloudflare via CLI - zones, dns, workers, kv, d1, r2, pages, queues, tunnels, ssl, waf, firewall, bot, rate-limits, security, access, cache, page-rules, email-routing, dnssec, waiting-room, analytics, logs, rules, settings, accounts, argo, spectrum, custom-hostnames, load-balancers. Use when user mentions 'cloudflare', 'DNS records', 'workers', 'KV', 'D1 database', 'R2 bucket', 'pages deploy', 'tunnel', 'SSL certificate', 'WAF rule', 'firewall rule', 'bot management', 'rate limit', 'security level', 'zero trust', 'access policy', 'cache purge', 'page rules', 'email routing', 'DNSSEC', 'waiting room', 'logpush', 'origin rules', 'load balancer', 'spectrum', 'custom hostname', or 'argo'.
Melvynx 0 スター 2026/03/20
Setup
If cloudflare-cli is not found, install and build it:
bun --version || curl -fsSL https://bun.sh/install | bash
npx api2cli bundle cloudflare
npx api2cli link cloudflare
api2cli link adds ~/.local/bin to PATH automatically. The CLI is available in the next command.
Always use --json flag when calling commands programmatically.
Authentication
cloudflare-cli auth set "your-token"
cloudflare-cli auth test
Auth commands: auth set <token>, auth show, auth remove, auth test
Token is stored in ~/.config/tokens/cloudflare-cli.txt.
Resources
npx skillvault add Melvynx/melvynx-cloudflare-cli-skills-cloudflare-cli-skill-md
作者 Melvynx
スター 0
更新日 2026/03/20
職業
zones - Manage Cloudflare zones Command Description cloudflare-cli zones list --jsonList all zones cloudflare-cli zones list --name example.com --jsonFilter by domain cloudflare-cli zones get <zone-id> --jsonGet zone details cloudflare-cli zones create --name example.com --jsonCreate zone cloudflare-cli zones delete <zone-id> --jsonDelete zone cloudflare-cli zones purge <zone-id> --everything --jsonPurge all cache cloudflare-cli zones purge <zone-id> --files "url1,url2" --jsonPurge specific URLs cloudflare-cli zones settings <zone-id> --jsonList all zone settings cloudflare-cli zones set-setting <zone-id> <setting> --value "val" --jsonUpdate setting cloudflare-cli zones activate-check <zone-id> --jsonTrigger activation check
dns - Manage DNS records Command Description cloudflare-cli dns list <zone-id> --jsonList all DNS records cloudflare-cli dns list <zone-id> --type CNAME --jsonFilter by type cloudflare-cli dns get <zone-id> <record-id> --jsonGet record cloudflare-cli dns create <zone-id> --type A --name @ --content 1.2.3.4 --jsonCreate A record cloudflare-cli dns create <zone-id> --type CNAME --name www --content example.com --proxied --jsonCreate proxied CNAME cloudflare-cli dns update <zone-id> <record-id> --content 5.6.7.8 --jsonUpdate record cloudflare-cli dns delete <zone-id> <record-id> --jsonDelete record cloudflare-cli dns export <zone-id>Export as BIND format cloudflare-cli dns scan <zone-id> --jsonScan DNS records
accounts - Manage accounts Command Description cloudflare-cli accounts list --jsonList accounts cloudflare-cli accounts get <account-id> --jsonGet account cloudflare-cli accounts members <account-id> --jsonList members cloudflare-cli accounts roles <account-id> --jsonList roles
settings - Zone settings Command Description cloudflare-cli settings list <zone-id> --jsonList all settings cloudflare-cli settings get <zone-id> always_use_https --jsonGet setting cloudflare-cli settings set <zone-id> min_tls_version --value "1.2" --jsonSet setting cloudflare-cli settings batch-set <zone-id> --items '[{"id":"always_use_https","value":"on"}]' --jsonBatch update
workers - Workers scripts, routes, crons, secrets Command Description cloudflare-cli workers list <account-id> --jsonList scripts cloudflare-cli workers get <account-id> <script> --jsonGet script cloudflare-cli workers delete <account-id> <script> --jsonDelete script cloudflare-cli workers routes <zone-id> --jsonList routes cloudflare-cli workers create-route <zone-id> --pattern "*.example.com/*" --script my-worker --jsonCreate route cloudflare-cli workers crons <account-id> <script> --jsonList cron triggers cloudflare-cli workers secrets <account-id> <script> --jsonList secrets cloudflare-cli workers put-secret <account-id> <script> --name KEY --text value --jsonSet secret cloudflare-cli workers delete-secret <account-id> <script> <secret> --jsonDelete secret cloudflare-cli workers domains <account-id> --jsonList custom domains
kv - Workers KV namespaces and key-value pairs Command Description cloudflare-cli kv list <account-id> --jsonList namespaces cloudflare-cli kv create <account-id> --title "My KV" --jsonCreate namespace cloudflare-cli kv delete <account-id> <ns-id> --jsonDelete namespace cloudflare-cli kv keys <account-id> <ns-id> --jsonList keys cloudflare-cli kv get-value <account-id> <ns-id> <key>Get value cloudflare-cli kv put-value <account-id> <ns-id> <key> --value "data" --jsonSet value cloudflare-cli kv delete-value <account-id> <ns-id> <key> --jsonDelete value cloudflare-cli kv bulk-write <account-id> <ns-id> --data '[{"key":"k","value":"v"}]' --jsonBulk write
d1 - D1 databases Command Description cloudflare-cli d1 list <account-id> --jsonList databases cloudflare-cli d1 create <account-id> --name mydb --jsonCreate database cloudflare-cli d1 get <account-id> <db-id> --jsonGet database cloudflare-cli d1 delete <account-id> <db-id> --jsonDelete database cloudflare-cli d1 query <account-id> <db-id> --sql "SELECT * FROM users" --jsonRun query
r2 - R2 storage buckets Command Description cloudflare-cli r2 list <account-id> --jsonList buckets cloudflare-cli r2 create <account-id> --name my-bucket --jsonCreate bucket cloudflare-cli r2 get <account-id> <bucket> --jsonGet bucket cloudflare-cli r2 delete <account-id> <bucket> --jsonDelete bucket
pages - Pages projects and deployments Command Description cloudflare-cli pages list <account-id> --jsonList projects cloudflare-cli pages create <account-id> --name my-site --jsonCreate project cloudflare-cli pages deployments <account-id> <project> --jsonList deployments cloudflare-cli pages deployment-rollback <account-id> <project> <deploy-id> --jsonRollback cloudflare-cli pages domains <account-id> <project> --jsonList custom domains cloudflare-cli pages add-domain <account-id> <project> --name custom.example.com --jsonAdd domain
queues - Cloudflare Queues Command Description cloudflare-cli queues list <account-id> --jsonList queues cloudflare-cli queues create <account-id> --name my-queue --jsonCreate queue cloudflare-cli queues consumers <account-id> <queue-id> --jsonList consumers cloudflare-cli queues add-consumer <account-id> <queue-id> --script-name worker --jsonAdd consumer
tunnels - Cloudflare Tunnels Command Description cloudflare-cli tunnels list <account-id> --jsonList tunnels cloudflare-cli tunnels get <account-id> <tunnel-id> --jsonGet tunnel cloudflare-cli tunnels create <account-id> --name my-tunnel --tunnel-secret <b64> --jsonCreate tunnel cloudflare-cli tunnels delete <account-id> <tunnel-id> --jsonDelete tunnel cloudflare-cli tunnels configs <account-id> <tunnel-id> --jsonGet config cloudflare-cli tunnels update-config <account-id> <tunnel-id> --config '{}' --jsonUpdate config cloudflare-cli tunnels connections <account-id> <tunnel-id> --jsonList connections cloudflare-cli tunnels token <account-id> <tunnel-id> --jsonGet token
ssl - SSL/TLS certificates and settings Command Description cloudflare-cli ssl mode <zone-id> --jsonGet SSL mode cloudflare-cli ssl set-mode <zone-id> --value strict --jsonSet SSL mode cloudflare-cli ssl universal <zone-id> --jsonUniversal SSL settings cloudflare-cli ssl certificate-packs <zone-id> --jsonList certificate packs cloudflare-cli ssl tls-versions <zone-id> --jsonGet min TLS version cloudflare-cli ssl set-tls-version <zone-id> --value 1.2 --jsonSet min TLS cloudflare-cli ssl always-https <zone-id> --jsonGet always HTTPS cloudflare-cli ssl set-always-https <zone-id> --value on --jsonEnable always HTTPS cloudflare-cli ssl origin-certs --jsonList origin certificates
waf - WAF rulesets and custom rules Command Description cloudflare-cli waf rulesets <zone-id> --jsonList rulesets cloudflare-cli waf ruleset-get <zone-id> <ruleset-id> --jsonGet ruleset cloudflare-cli waf phase-get <zone-id> http_request_firewall_custom --jsonGet phase entrypoint cloudflare-cli waf create-rule <zone-id> <ruleset-id> --action block --expression "(ip.src eq 1.2.3.4)" --jsonCreate rule cloudflare-cli waf delete-rule <zone-id> <ruleset-id> <rule-id> --jsonDelete rule
firewall - IP access rules and user agent rules Command Description cloudflare-cli firewall ip-rules <zone-id> --jsonList IP access rules cloudflare-cli firewall ip-rule-create <zone-id> --mode block --target-type ip --target-value 1.2.3.4 --jsonBlock IP cloudflare-cli firewall ip-rule-create <zone-id> --mode block --target-type country --target-value CN --jsonBlock country cloudflare-cli firewall ip-rule-delete <zone-id> <rule-id> --jsonDelete rule cloudflare-cli firewall ua-rules <zone-id> --jsonList UA rules cloudflare-cli firewall ua-rule-create <zone-id> --mode block --ua-value "BadBot" --jsonBlock user agent
bot - Bot management Command Description cloudflare-cli bot get <zone-id> --jsonGet bot settings cloudflare-cli bot update <zone-id> --fight-mode --jsonEnable bot fight mode cloudflare-cli bot update <zone-id> --no-fight-mode --jsonDisable bot fight mode
rate-limits - Rate limiting rules Command Description cloudflare-cli rate-limits list <zone-id> --jsonList rules cloudflare-cli rate-limits create <zone-id> --threshold 100 --period 60 --action-mode ban --action-timeout 3600 --jsonCreate rule cloudflare-cli rate-limits delete <zone-id> <rule-id> --jsonDelete rule
security - Zone security settings Command Description cloudflare-cli security get-level <zone-id> --jsonGet security level cloudflare-cli security set-level <zone-id> --value high --jsonSet security level cloudflare-cli security set-level <zone-id> --value under_attack --jsonEnable Under Attack mode cloudflare-cli security challenge-ttl <zone-id> --jsonGet challenge TTL cloudflare-cli security browser-check <zone-id> --jsonGet browser check
access - Zero Trust Access Command Description cloudflare-cli access apps <account-id> --jsonList Access apps cloudflare-cli access app-create <account-id> --name "My App" --domain app.example.com --type self_hosted --jsonCreate app cloudflare-cli access policies <account-id> <app-id> --jsonList policies cloudflare-cli access groups <account-id> --jsonList groups cloudflare-cli access service-tokens <account-id> --jsonList service tokens cloudflare-cli access idps <account-id> --jsonList identity providers
Command Description cloudflare-cli rules list-phases <zone-id> --jsonList all rulesets cloudflare-cli rules origin <zone-id> --jsonGet origin rules cloudflare-cli rules transform <zone-id> --jsonGet transform rules cloudflare-cli rules redirect <zone-id> --jsonGet redirect rules cloudflare-cli rules cache-rules <zone-id> --jsonGet cache rules cloudflare-cli rules config <zone-id> --jsonGet config rules cloudflare-cli rules update-phase <zone-id> <phase> --rules '[...]' --jsonUpdate phase rules
cache - Cache settings and purge Command Description cloudflare-cli cache purge <zone-id> --everything --jsonPurge all cloudflare-cli cache purge <zone-id> --files "url1,url2" --jsonPurge files cloudflare-cli cache level <zone-id> --jsonGet cache level cloudflare-cli cache set-level <zone-id> --value aggressive --jsonSet cache level cloudflare-cli cache dev-mode <zone-id> --jsonGet dev mode cloudflare-cli cache set-dev-mode <zone-id> --value on --jsonEnable dev mode
page-rules - Page rules Command Description cloudflare-cli page-rules list <zone-id> --jsonList page rules cloudflare-cli page-rules create <zone-id> --url "*.example.com/*" --actions '[...]' --jsonCreate rule cloudflare-cli page-rules delete <zone-id> <rule-id> --jsonDelete rule
email-routing - Email routing Command Description cloudflare-cli email-routing status <zone-id> --jsonGet routing status cloudflare-cli email-routing enable <zone-id> --jsonEnable routing cloudflare-cli email-routing rules <zone-id> --jsonList rules cloudflare-cli email-routing rule-create <zone-id> --matchers '[...]' --actions '[...]' --jsonCreate rule cloudflare-cli email-routing addresses <account-id> --jsonList addresses cloudflare-cli email-routing catch-all <zone-id> --jsonGet catch-all
dnssec - DNSSEC settings Command Description cloudflare-cli dnssec get <zone-id> --jsonGet DNSSEC status cloudflare-cli dnssec enable <zone-id> --jsonEnable DNSSEC cloudflare-cli dnssec disable <zone-id> --jsonDisable DNSSEC
waiting-room - Waiting rooms Command Description cloudflare-cli waiting-room list <zone-id> --jsonList waiting rooms cloudflare-cli waiting-room create <zone-id> --name "Queue" --host example.com --total-active-users 200 --new-users-per-minute 100 --jsonCreate cloudflare-cli waiting-room status <zone-id> <wr-id> --jsonCheck status
analytics - Zone analytics and GraphQL Command Description cloudflare-cli analytics dashboard <zone-id> --jsonGet dashboard analytics cloudflare-cli analytics colos <zone-id> --jsonGet colo analytics cloudflare-cli analytics graphql --query "{ viewer { ... } }" --jsonExecute GraphQL
logs - Logpush jobs Command Description cloudflare-cli logs jobs <zone-id> --jsonList logpush jobs cloudflare-cli logs job-create <zone-id> --destination-conf "s3://..." --dataset http_requests --jsonCreate job cloudflare-cli logs datasets <zone-id> http_requests --jsonList fields cloudflare-cli logs account-jobs <account-id> --jsonList account jobs
argo - Smart Routing and Tiered Caching Command Description cloudflare-cli argo smart-routing <zone-id> --jsonGet smart routing cloudflare-cli argo set-smart-routing <zone-id> --value on --jsonEnable cloudflare-cli argo tiered-caching <zone-id> --jsonGet tiered caching cloudflare-cli argo set-tiered-caching <zone-id> --value on --jsonEnable
spectrum - TCP/UDP proxying Command Description cloudflare-cli spectrum list <zone-id> --jsonList apps cloudflare-cli spectrum create <zone-id> --protocol tcp/443 --dns-type CNAME --dns-name proxy --origin-dns-name origin.example.com --jsonCreate cloudflare-cli spectrum delete <zone-id> <app-id> --jsonDelete
custom-hostnames - SSL for SaaS Command Description cloudflare-cli custom-hostnames list <zone-id> --jsonList hostnames cloudflare-cli custom-hostnames create <zone-id> --hostname app.customer.com --jsonCreate cloudflare-cli custom-hostnames fallback <zone-id> --jsonGet fallback origin cloudflare-cli custom-hostnames set-fallback <zone-id> --origin fallback.example.com --jsonSet fallback
load-balancers - Load balancers, pools, monitors Command Description cloudflare-cli load-balancers list <zone-id> --jsonList LBs cloudflare-cli load-balancers create <zone-id> --name lb.example.com --default-pools "pool1,pool2" --jsonCreate LB cloudflare-cli load-balancers pools <account-id> --jsonList pools cloudflare-cli load-balancers pool-create <account-id> --name "Pool 1" --origins '[{"name":"o1","address":"1.2.3.4"}]' --jsonCreate pool cloudflare-cli load-balancers monitors <account-id> --jsonList monitors cloudflare-cli load-balancers monitor-create <account-id> --type https --jsonCreate monitor
--json returns a standardized envelope:
{ "ok": true, "data": { ... }, "meta": { "total": 42 } }
On error: { "ok": false, "error": { "message": "...", "code": 401 } }
Quick Reference cloudflare-cli --help # List all resources and global flags
cloudflare-cli <resource> --help # List all actions for a resource
cloudflare-cli <resource> <action> --help # Show flags for a specific action
Global Flags All commands support: --json, --format <text|json|csv|yaml>, --verbose, --no-color, --no-header
Exit codes: 0 = success, 1 = API error, 2 = usage error