Zones API
The Zones API provides access to zone-level resources in Cloudflare. A zone represents a domain and its configuration within Cloudflare.
Overview
Access the Zones API through ICloudflareApiClient.Zones:
public class MyService(ICloudflareApiClient cf)
{
public async Task ManageZoneAsync(string zoneId)
{
// Get zone details
var zone = await cf.Zones.GetZoneDetailsAsync(zoneId);
Console.WriteLine($"Zone: {zone.Name}, Status: {zone.Status}");
}
}
Available APIs
| API | Property | Description |
|---|---|---|
| Zone Management | cf.Zones |
Create, list, edit, delete zones |
| Zone Holds | cf.Zones |
Prevent unauthorized zone takeover |
| Zone Settings | cf.Zones |
Configure zone-level settings |
| DNS Records | cf.Dns |
Full DNS CRUD and batch operations |
| DNS Scanning | cf.Dns |
Discover and review DNS records |
| Worker Routes | cf.Workers |
Map URL patterns to Workers |
| Cache Purge | cf.Zones |
Clear cached content |
| Access Rules | cf.Zones.AccessRules |
IP-based access control |
| Rulesets | cf.Zones.Rulesets |
WAF custom rules and rate limiting |
| Lockdown | cf.Zones.Lockdown |
Restrict URLs to specific IPs |
| UA Rules | cf.Zones.UaRules |
Block/challenge by User-Agent |
| Custom Hostnames | cf.Zones.CustomHostnames |
SSL for SaaS hostname management |
Zone Management
Create a Zone
var zone = await cf.Zones.CreateZoneAsync(new CreateZoneRequest(
Name: "example.com",
Type: ZoneType.Full,
Account: new ZoneAccountReference(accountId),
JumpStart: true
));
List All Zones
await foreach (var zone in cf.Zones.ListAllZonesAsync())
{
Console.WriteLine($"{zone.Name}: {zone.Status}");
}
Get Zone Details
var zone = await cf.Zones.GetZoneDetailsAsync(zoneId);
Console.WriteLine($"Plan: {zone.Plan.Name}");
Console.WriteLine($"Nameservers: {string.Join(", ", zone.NameServers)}");
Quick Links
Zone Operations
- Zone Management - CRUD operations for zones
- Zone Holds - Domain takeover protection
- Zone Settings - Security and performance settings
DNS
- DNS Records - Manage DNS records with batch operations
- DNS Scanning - Discover existing DNS records
Workers
- Worker Routes - Route traffic to Worker scripts
Security
- Access Rules - IP-based firewall rules
- WAF Rulesets - Custom WAF rules and rate limiting
- Zone Lockdown - Restrict access to specific URLs
- User-Agent Rules - Block by User-Agent string
Other
- Cache Purge - Clear cached content
- Custom Hostnames - Cloudflare for SaaS
Required Permissions
| Feature | Permission | Level |
|---|---|---|
| Zone Management | Zone | Read/Write |
| Zone Settings | Zone Settings | Read/Write |
| DNS Records | DNS | Read/Write |
| Worker Routes | Workers Routes | Read/Write |
| Cache Purge | Cache Purge | Purge |
| Access Rules | Firewall Services | Write |
| Rulesets | Zone WAF | Read/Write |
| Lockdown | Firewall Services | Write |
| UA Rules | Firewall Services | Write |
| Custom Hostnames | SSL and Certificates | Read/Write |
Related
- Account API - Account-level operations
- User API - User profile and memberships
- Subscriptions - Zone subscription management