Table of Contents

API Coverage

This document provides a comprehensive overview of the Cloudflare API endpoints supported by the SDK.

Summary

CategoryEndpointsDescription
Accounts5Account CRUD and settings management
Account Members5Invite, update, and remove account members
Account Roles2List and retrieve account-level roles
Account Security2Account-scoped IP rules and WAF rulesets
Audit Logs2Query account and user activity logs
API Tokens8Create, verify, and manage API tokens
DNS Records12Full DNS lifecycle including batch and BIND import/export
R2 Buckets22Bucket management, CORS, lifecycle, domains, and Sippy
Workers KV19Namespace and key-value CRUD, metadata, bulk operations
D1 Databases11Database CRUD, SQL queries, export/import operations
Subscriptions6Account, zone, and user subscription details
Turnstile5CAPTCHA widget configuration and secret rotation
User11Profile, invitations, and membership management
Workers (Routes)4Zone-level Workers route management
Zones18Zone CRUD, holds, settings, and cache purge
Zone Security4Zone-scoped firewall, lockdown, UA rules, and rulesets
Extension Packages2R2 S3-compatible client and GraphQL analytics

Accounts API

Account Management

OperationMethodEndpointStatus
List AccountsListAccountsAsyncGET /accounts✅
List All AccountsListAllAccountsAsyncGET /accounts (auto)✅
Get AccountGetAccountAsyncGET /accounts/{id}✅
Create AccountCreateAccountAsyncPOST /accounts✅
Update AccountUpdateAccountAsyncPUT /accounts/{id}✅
Delete AccountDeleteAccountAsyncDELETE /accounts/{id}✅

Account Members

OperationMethodEndpointStatus
List MembersListAccountMembersAsyncGET /accounts/{id}/members✅
List All MembersListAllAccountMembersAsyncGET /accounts/{id}/members (auto)✅
Get MemberGetAccountMemberAsyncGET /accounts/{id}/members/{member_id}✅
Create MemberCreateAccountMemberAsyncPOST /accounts/{id}/members✅
Update MemberUpdateAccountMemberAsyncPUT /accounts/{id}/members/{member_id}✅
Delete MemberDeleteAccountMemberAsyncDELETE /accounts/{id}/members/{member_id}✅

Account Roles

OperationMethodEndpointStatus
List RolesListAccountRolesAsyncGET /accounts/{id}/roles✅
List All RolesListAllAccountRolesAsyncGET /accounts/{id}/roles (auto)✅
Get RoleGetAccountRoleAsyncGET /accounts/{id}/roles/{id}✅

Account Security

OperationMethodEndpointStatus
IP Access RulesAccounts.AccessRules.*/accounts/{id}/firewall/access_rules/rules✅
Rulesets (WAF)Accounts.Rulesets.*/accounts/{id}/rulesets✅

API Tokens

OperationMethodEndpointStatus
List Account TokensListAccountTokensAsyncGET /accounts/{id}/tokens✅
Get Account TokenGetAccountTokenAsyncGET /accounts/{id}/tokens/{token_id}✅
Create Account TokenCreateAccountTokenAsyncPOST /accounts/{id}/tokens✅
Update Account TokenUpdateAccountTokenAsyncPUT /accounts/{id}/tokens/{token_id}✅
Delete Account TokenDeleteAccountTokenAsyncDELETE /accounts/{id}/tokens/{token_id}✅
Verify TokenVerifyTokenAsyncGET /user/tokens/verify✅
List User TokensListUserTokensAsyncGET /user/tokens✅
List Permission GroupsListPermissionGroupsAsyncGET /accounts/{id}/tokens/permission_groups✅

Audit Logs

OperationMethodEndpointStatus
Get Account LogsGetAccountAuditLogsAsyncGET /accounts/{id}/audit_logs✅
Get User LogsGetUserAuditLogsAsyncGET /user/audit_logs✅

DNS Records

OperationMethodEndpointStatus
Get RecordGetDnsRecordAsyncGET /zones/{id}/dns_records/{record_id}✅
List RecordsListDnsRecordsAsyncGET /zones/{id}/dns_records✅
List All RecordsListAllDnsRecordsAsyncGET /zones/{id}/dns_records (auto)✅
Find by NameFindDnsRecordByNameAsyncGET /zones/{id}/dns_records?name=...✅
Create RecordCreateDnsRecordAsyncPOST /zones/{id}/dns_records✅
Create CNAMECreateCnameRecordAsyncPOST /zones/{id}/dns_records✅
Update RecordUpdateDnsRecordAsyncPUT /zones/{id}/dns_records/{record_id}✅
Patch RecordPatchDnsRecordAsyncPATCH /zones/{id}/dns_records/{record_id}✅
Delete RecordDeleteDnsRecordAsyncDELETE /zones/{id}/dns_records/{record_id}✅
Batch OperationsBatchDnsRecordsAsyncPOST /zones/{id}/dns_records/batch✅
Export (BIND)ExportDnsRecordsAsyncGET /zones/{id}/dns_records/export✅
Import (BIND)ImportDnsRecordsAsyncPOST /zones/{id}/dns_records/import✅
Trigger ScanTriggerDnsRecordScanAsyncPOST /zones/{id}/dns_records/scan✅
Get Scan ReviewGetDnsRecordScanReviewAsyncGET /zones/{id}/dns_records/scan✅
Submit ReviewSubmitDnsRecordScanReviewAsyncPOST /zones/{id}/dns_records/scan/review✅

R2 Buckets

Core Operations

OperationMethodEndpointStatus
Create BucketBuckets.CreateAsyncPOST /accounts/{id}/r2/buckets✅
Get BucketBuckets.GetAsyncGET /accounts/{id}/r2/buckets/{name}✅
List BucketsBuckets.ListAsyncGET /accounts/{id}/r2/buckets✅
List All BucketsBuckets.ListAllAsyncGET /accounts/{id}/r2/buckets (auto)✅
Delete BucketBuckets.DeleteAsyncDELETE /accounts/{id}/r2/buckets/{name}✅

CORS Configuration

OperationMethodEndpointStatus
Get CORSBuckets.GetCorsAsyncGET /accounts/{id}/r2/buckets/{name}/cors✅
Set CORSBuckets.SetCorsAsyncPUT /accounts/{id}/r2/buckets/{name}/cors✅
Delete CORSBuckets.DeleteCorsAsyncDELETE .../r2/buckets/{name}/cors✅

Lifecycle Configuration

OperationMethodEndpointStatus
Get LifecycleBuckets.GetLifecycleAsyncGET /accounts/{id}/r2/buckets/{name}/lifecycle✅
Set LifecycleBuckets.SetLifecycleAsyncPUT /accounts/{id}/r2/buckets/{name}/lifecycle✅
Delete LifecycleBuckets.DeleteLifecycleAsyncPUT .../lifecycle (empty)✅

Custom Domains

OperationMethodEndpointStatus
List DomainsBuckets.ListCustomDomainsAsyncGET .../r2/buckets/{name}/domains/custom✅
Attach DomainBuckets.AttachCustomDomainAsyncPOST .../r2/buckets/{name}/domains/custom✅
Get Domain StatusBuckets.GetCustomDomainStatusAsyncGET .../domains/custom/{hostname}✅
Update DomainBuckets.UpdateCustomDomainAsyncPUT .../domains/custom/{hostname}✅
Detach DomainBuckets.DetachCustomDomainAsyncDELETE .../domains/custom/{hostname}✅

Managed Domain (r2.dev)

OperationMethodEndpointStatus
Get StatusBuckets.GetManagedDomainAsyncGET .../r2/buckets/{name}/domains/managed✅
EnableBuckets.EnableManagedDomainAsyncPUT .../r2/buckets/{name}/domains/managed✅
DisableBuckets.DisableManagedDomainAsyncDELETE .../r2/buckets/{name}/domains/managed✅

Bucket Locks

OperationMethodEndpointStatus
Get LockBuckets.GetLockAsyncGET /accounts/{id}/r2/buckets/{name}/lock✅
Set LockBuckets.SetLockAsyncPUT /accounts/{id}/r2/buckets/{name}/lock✅
Delete LockBuckets.DeleteLockAsyncPUT .../lock (empty)✅

Sippy (Incremental Migration)

OperationMethodEndpointStatus
Get ConfigBuckets.GetSippyAsyncGET /accounts/{id}/r2/buckets/{name}/sippy✅
EnableBuckets.EnableSippyAsyncPUT /accounts/{id}/r2/buckets/{name}/sippy✅
DisableBuckets.DisableSippyAsyncDELETE .../r2/buckets/{name}/sippy✅

Temporary Credentials

OperationMethodEndpointStatus
Create CredentialsBuckets.CreateTempCredentialsAsyncPOST /accounts/{id}/r2/temp-access-credentials✅

Subscriptions

OperationMethodEndpointStatus
List Account SubsListAccountSubscriptionsAsyncGET /accounts/{id}/subscriptions✅
Create Account SubCreateAccountSubscriptionAsyncPOST /accounts/{id}/subscriptions✅
Update Account SubUpdateAccountSubscriptionAsyncPUT /accounts/{id}/subscriptions/{sub_id}✅
Delete Account SubDeleteAccountSubscriptionAsyncDELETE .../subscriptions/{sub_id}✅
Get Zone SubGetZoneSubscriptionAsyncGET /zones/{id}/subscription✅
Get User SubGetUserSubscriptionAsyncGET /user/subscriptions✅

Turnstile

OperationMethodEndpointStatus
List WidgetsListWidgetsAsyncGET /accounts/{id}/challenges/widgets✅
Get WidgetGetWidgetAsyncGET /accounts/{id}/challenges/widgets/{sitekey}✅
Create WidgetCreateWidgetAsyncPOST /accounts/{id}/challenges/widgets✅
Update WidgetUpdateWidgetAsyncPUT /accounts/{id}/challenges/widgets/{sitekey}✅
Delete WidgetDeleteWidgetAsyncDELETE /accounts/{id}/challenges/widgets/{sitekey}✅
Rotate SecretRotateSecretAsyncPOST .../widgets/{sitekey}/rotate_secret✅

User

Profile

OperationMethodEndpointStatus
Get UserGetUserAsyncGET /user✅
Edit UserEditUserAsyncPATCH /user✅

Invitations

OperationMethodEndpointStatus
List InvitationsListInvitationsAsyncGET /user/invites✅
Get InvitationGetInvitationAsyncGET /user/invites/{id}✅
Respond to InvitationRespondToInvitationAsyncPATCH /user/invites/{id}✅

Memberships

OperationMethodEndpointStatus
List MembershipsListMembershipsAsyncGET /memberships✅
List AllListAllMembershipsAsyncGET /memberships (auto)✅
Get MembershipGetMembershipAsyncGET /memberships/{id}✅
Update MembershipUpdateMembershipAsyncPUT /memberships/{id}✅
Delete MembershipDeleteMembershipAsyncDELETE /memberships/{id}✅

Workers KV

Namespace Operations

OperationMethodEndpointStatus
List NamespacesKv.ListAsyncGET /accounts/{id}/storage/kv/namespaces✅
List All NamespacesKv.ListAllAsyncGET /accounts/{id}/storage/kv/namespaces (auto)✅
Create NamespaceKv.CreateAsyncPOST /accounts/{id}/storage/kv/namespaces✅
Get NamespaceKv.GetAsyncGET /accounts/{id}/storage/kv/namespaces/{ns_id}✅
Rename NamespaceKv.RenameAsyncPUT /accounts/{id}/storage/kv/namespaces/{ns_id}✅
Delete NamespaceKv.DeleteAsyncDELETE /accounts/{id}/storage/kv/namespaces/{ns_id}✅

Key Operations

OperationMethodEndpointStatus
List KeysKv.ListKeysAsyncGET .../namespaces/{ns_id}/keys✅
List All KeysKv.ListAllKeysAsyncGET .../namespaces/{ns_id}/keys (auto)✅

Value Operations

OperationMethodEndpointStatus
Get ValueKv.GetValueAsyncGET .../namespaces/{ns_id}/values/{key}✅
Get Value (with exp)Kv.GetValueWithExpirationAsyncGET .../namespaces/{ns_id}/values/{key}✅
Get Value (bytes)Kv.GetValueBytesAsyncGET .../namespaces/{ns_id}/values/{key}✅
Get Value (bytes+exp)Kv.GetValueBytesWithExpirationAsyncGET .../namespaces/{ns_id}/values/{key}✅
Get MetadataKv.GetMetadataAsyncGET .../namespaces/{ns_id}/metadata/{key}✅
Write ValueKv.WriteValueAsyncPUT .../namespaces/{ns_id}/values/{key}✅
Delete ValueKv.DeleteValueAsyncDELETE .../namespaces/{ns_id}/values/{key}✅

Bulk Operations

OperationMethodEndpointStatus
Bulk WriteKv.BulkWriteAsyncPUT .../namespaces/{ns_id}/bulk✅
Bulk DeleteKv.BulkDeleteAsyncPOST .../namespaces/{ns_id}/bulk/delete✅
Bulk GetKv.BulkGetAsyncPOST .../namespaces/{ns_id}/bulk/get✅
Bulk Get (metadata)Kv.BulkGetWithMetadataAsyncPOST .../namespaces/{ns_id}/bulk/get✅

D1 Databases

Database Operations

OperationMethodEndpointStatus
List DatabasesD1.ListAsyncGET /accounts/{id}/d1/database✅
List All DatabasesD1.ListAllAsyncGET /accounts/{id}/d1/database (auto)✅
Create DatabaseD1.CreateAsyncPOST /accounts/{id}/d1/database✅
Get DatabaseD1.GetAsyncGET /accounts/{id}/d1/database/{uuid}✅
Update DatabaseD1.UpdateAsyncPATCH /accounts/{id}/d1/database/{uuid}✅
Delete DatabaseD1.DeleteAsyncDELETE /accounts/{id}/d1/database/{uuid}✅

Query Operations

OperationMethodEndpointStatus
Execute QueryD1.QueryAsyncPOST /accounts/{id}/d1/database/{uuid}/query✅
Execute Query (typed)D1.QueryAsync<T>POST /accounts/{id}/d1/database/{uuid}/query✅
Execute Query (raw)D1.QueryRawAsyncPOST /accounts/{id}/d1/database/{uuid}/raw✅

Export/Import Operations

OperationMethodEndpointStatus
Start ExportD1.StartExportAsyncPOST /accounts/{id}/d1/database/{uuid}/export✅
Poll ExportD1.PollExportAsyncPOST /accounts/{id}/d1/database/{uuid}/export✅
Start ImportD1.StartImportAsyncPOST /accounts/{id}/d1/database/{uuid}/import✅
Complete ImportD1.CompleteImportAsyncPOST /accounts/{id}/d1/database/{uuid}/import✅
Poll ImportD1.PollImportAsyncPOST /accounts/{id}/d1/database/{uuid}/import✅

Workers Route

OperationMethodEndpointStatus
List RoutesListRoutesAsyncGET /zones/{id}/workers/routes✅
Get RouteGetRouteAsyncGET /zones/{id}/workers/routes/{id}✅
Create RouteCreateRouteAsyncPOST /zones/{id}/workers/routes✅
Update RouteUpdateRouteAsyncPUT /zones/{id}/workers/routes/{id}✅
Delete RouteDeleteRouteAsyncDELETE /zones/{id}/workers/routes/{id}✅

Zones

Zone CRUD

OperationMethodEndpointStatus
List ZonesListZonesAsyncGET /zones✅
List All ZonesListAllZonesAsyncGET /zones (auto)✅
Get ZoneGetZoneDetailsAsyncGET /zones/{id}✅
Create ZoneCreateZoneAsyncPOST /zones✅
Edit ZoneEditZoneAsyncPATCH /zones/{id}✅
Delete ZoneDeleteZoneAsyncDELETE /zones/{id}✅
Activation CheckTriggerActivationCheckAsyncPOST /zones/{id}/activation_check✅

Zone Convenience Methods

OperationMethodEndpointStatus
Set PausedSetZonePausedAsyncPATCH /zones/{id}✅
Set TypeSetZoneTypeAsyncPATCH /zones/{id}✅
Set Vanity NSSetVanityNameServersAsyncPATCH /zones/{id}✅

Zone Holds

OperationMethodEndpointStatus
Get HoldGetZoneHoldAsyncGET /zones/{id}/hold✅
Create HoldCreateZoneHoldAsyncPOST /zones/{id}/hold✅
Update HoldUpdateZoneHoldAsyncPATCH /zones/{id}/hold✅
Remove HoldRemoveZoneHoldAsyncDELETE /zones/{id}/hold✅

Zone Settings

OperationMethodEndpointStatus
Get SettingGetZoneSettingAsyncGET /zones/{id}/settings/{setting_id}✅
Set SettingSetZoneSettingAsyncPATCH /zones/{id}/settings/{id}✅

Cache

OperationMethodEndpointStatus
Purge CachePurgeCacheAsyncPOST /zones/{id}/purge_cache✅

Zone Security

OperationMethodEndpointStatus
IP Access RulesZones.AccessRules.*/zones/{id}/firewall/access_rules/rules✅
Zone LockdownZones.Lockdown.*/zones/{id}/firewall/lockdowns✅
User-Agent RulesZones.UaRules.*/zones/{id}/firewall/ua_rules✅
Rulesets (WAF)Zones.Rulesets.*/zones/{id}/rulesets✅
Custom HostnamesZones.CustomHostnames.*/zones/{id}/custom_hostnames✅

Extension Packages

Cloudflare.NET.R2 (S3-Compatible Client)

OperationMethodPurpose
UploadUploadAsyncAuto-selects single-part or multipart, with optional content type, checksum and Cache-Control
Upload Single PartUploadSinglePartAsyncDirect PUT (≤5 GiB), with optional content type, checksum and Cache-Control
Upload MultipartUploadMultipartAsyncMultipart upload (5 MiB–5 GiB parts), with optional content type and Cache-Control
DownloadDownloadFileAsyncDownload to file or stream
Delete ObjectDeleteObjectAsyncSingle object delete
Delete ObjectsDeleteObjectsAsyncBatch delete (up to 1000 keys)
Clear BucketClearBucketAsyncBatch delete all objects, then abort any upload left open
List ObjectsListObjectsAsyncList with automatic pagination
List Objects (single page)ListObjectsPageAsyncOne page plus its continuation token
List Multipart UploadsListMultipartUploadsAsyncUploads started but never completed
Presigned GET URLCreatePresignedGetUrlPresigned URL for download
Presigned PUT URLCreatePresignedPutUrlPresigned URL for upload, with optional checksum enforcement and signed Cache-Control
Presigned Part URLCreatePresignedUploadPartUrlPresigned URL for multipart part, with optional checksum enforcement

Cloudflare.NET.Analytics (GraphQL Client)

OperationMethodPurpose
Send QuerySendQueryAsync<T>Generic GraphQL query execution

Planned API Resources

The following API surfaces are being considered for future implementation:

API FamilyUse CaseNotes
SSL & Certificates (mTLS)Client certificate managementGET /zones/{id}/client_certificates
R2 Object MetadataCloudflare object metadataGET .../r2/buckets/.../objects
PagesCloudFlare Pages