This guide covers the API token permissions required for each SDK feature.
Overview
Cloudflare uses a permission-based system for API tokens. To adhere to the principle of least privilege, create API tokens with only the required scopes for your use case.
Permission Reference
Permission Group
Scope
Level
Typical Uses
Workers R2 Storage
Account
Write
Create/delete R2 buckets, manage domains
Workers R2 Storage
Account
Read
List buckets and read configurations
Account Firewall Access Rules
Account
Write
Manage IP Access Rules at account level
Account Firewall Access Rules
Account
Read
Audit firewall rules at account level
Firewall Services
Zone
Write
Manage IP Access Rules at zone level
Account Rulesets
Account
Write
Deploy WAF custom rulesets at account level
Account Rulesets
Account
Read
List WAF rulesets at account level
Zone WAF
Zone
Write
Deploy WAF custom rulesets at zone level
Zone WAF
Zone
Read
List WAF rulesets at zone level
DNS
Zone
Write
Automate DNS changes, bulk import/export
DNS
Zone
Read
List and verify DNS state
Cache Purge
Zone
Purge
Purge cache via API
SSL and Certificates
Zone
Write
Manage client certificates, SaaS hostnames
SSL and Certificates
Zone
Read
Monitor certificate status
Account Analytics
Account
Read
Query R2 usage via GraphQL
R2 Credentials
Note
The R2 S3-compatible client (IR2Client) uses separate R2 credentials (Access Key ID and Secret), not API tokens. These credentials are created in the Cloudflare dashboard under R2 > Manage R2 API Tokens.