Accounts API
The Accounts API provides access to account-level resources in Cloudflare, including account management, members, roles, tokens, and R2 storage.
Overview
Access the Accounts API through ICloudflareApiClient:
public class AccountService(ICloudflareApiClient cf)
{
public async Task GetAccountInfoAsync(string accountId)
{
var account = await cf.Accounts.GetAccountDetailsAsync(accountId);
Console.WriteLine($"Account: {account.Name}, Type: {account.Type}");
}
}
Available APIs
| API | Property | Description |
|---|---|---|
| Account Management | cf.Accounts |
Create, list, edit, delete accounts |
| Members | cf.Members |
Invite and manage account members |
| Roles | cf.Roles |
View available permission roles |
| API Tokens | cf.ApiTokens |
Manage account-scoped API tokens |
| Audit Logs | cf.AuditLogs |
View account activity logs |
| Turnstile | cf.Turnstile |
Manage Turnstile widgets |
| R2 Buckets | cf.Accounts |
Create and manage R2 buckets |
| Workers KV | cf.Accounts.Kv |
Global key-value storage |
| D1 Databases | cf.Accounts.D1 |
Serverless SQL databases |
| Access Rules | cf.Accounts.AccessRules |
Account-level IP access control |
| Rulesets | cf.Accounts.Rulesets |
Account-level WAF rules |
Account Management
List Accounts
await foreach (var account in cf.Accounts.ListAllAccountsAsync())
{
Console.WriteLine($"{account.Name}: {account.Type}");
}
Get Account Details
var account = await cf.Accounts.GetAccountDetailsAsync(accountId);
Console.WriteLine($"Name: {account.Name}");
Console.WriteLine($"2FA Required: {account.Settings?.EnforceTwofactor}");
Quick Links
Account Operations
- Account Management - CRUD operations for accounts
- Members - Invite and manage team members
- Roles - View available permission roles
Authentication & Security
- API Tokens - Create and manage API tokens
- Audit Logs - View security and activity logs
- Turnstile - Bot protection widgets
R2 Storage
- Bucket Management - Create, list, and delete buckets
- Custom Domains - Attach custom hostnames to buckets
- CORS Configuration - Configure cross-origin access
- Lifecycle Policies - Automatic object expiration
Workers
- Workers KV - Global low-latency key-value storage
D1 Databases
- D1 Serverless Database - Serverless SQL databases with SQLite
Security
- Access Rules - Account-level IP firewall rules
- WAF Rulesets - Account-level WAF custom rules
Required Permissions
| Feature | Permission | Level |
|---|---|---|
| Account Management | Account Settings | Read/Write |
| Members | Account Members | Read/Write |
| Roles | Account Members | Read |
| API Tokens | API Tokens | Read/Write |
| Audit Logs | Audit Logs | Read |
| Turnstile | Turnstile | Read/Write |
| R2 Buckets | Workers R2 Storage | Read/Write |
| Workers KV | Workers KV Storage | Read/Write |
| D1 Databases | D1 | Read/Write |
| Access Rules | Account Firewall Access Rules | Read/Write |
| Rulesets | Account Rulesets | Read/Write |
Account vs Zone Level
Many security features are available at both account and zone levels:
| Feature | Account Level | Zone Level |
|---|---|---|
| Access Rules | Applies to all zones | Applies to specific zone |
| Rulesets | Shared across zones | Zone-specific |
| API Tokens | Access multiple zones | Zone-scoped access |
| Audit Logs | All account activity | (use account logs) |
Use account-level features for policies that should apply across all zones. Use zone-level features for zone-specific policies.
Related
- Zone API - Zone-level operations
- User API - User profile and memberships
- Subscriptions - Account subscription management