Service Overview
Cloudflare API is the official zone and DNS control api from Cloudflare for zones, DNS records, DNSSEC, secondary DNS, cache settings, and related zone-scoped configuration. This Hub entry keeps the service explanation, setup links, and Harbor-safe import path together so operators can review the integration before local credentials and policies are applied.
Cloudflare API
Service
Zone and DNS control API
Service type
https://api.cloudflare.com/client/v4/
Base URL
What This Port Does
- List, inspect, create, update, and delete Cloudflare zones plus rerun activation checks and manage subscriptions.
- Manage DNS records, DNSSEC, secondary DNS configuration, DNS analytics, and zone DNS settings with explicit zone identifiers.
- Control zone cache behavior through purge, Cache Reserve, Smart Tiered Cache, cache variants, and Regional Tiered Cache actions.
- Manage zone tags and security.txt while keeping every mutating route on approval by default.
- Keeps service credentials local to Harbor Node so approval, execution, and audit stay inside the Harbor ecosystem.
Operator Setup
- Create or confirm a Cloudflare account with the API access needed for the actions you plan to enable.
- Import this Hub entry into Harbor, then verify the service base URL and connection settings before testing actions.
- Store the required Bearer token locally in Harbor Node using the Authorization header, then review automatic versus approval-required actions before publish.
- Use the vendor setup guide linked below to create a token with the smallest viable zone, DNS, and cache permissions for your Harbor policy.
Install
Use in Harbor UI or the import-by-URL route.
https://hub.breakwaterharbor.net/p/cloudflare/cloudflare-api
http_api
Local shell
69
Actions
Community
Required tier
Never
Secrets imported
Actions
List Zones JSON
{
"slug": "list-zones",
"label": "List Zones",
"description": "List Cloudflare zones with typed pagination and optional zone filters.",
"method": "GET",
"path": "/zones",
"inputs": {
"parameters": [
{
"name": "name",
"in": "query",
"schema": {
"type": "string",
"maxLength": 253
},
"description": "Optional domain name filter."
},
{
"name": "status",
"in": "query",
"schema": {
"type": "string",
"enum": [
"initializing",
"pending",
"active",
"moved"
]
},
"description": "Optional zone status filter."
},
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1
},
"description": "Page number of paginated results."
},
{
"name": "per_page",
"in": "query",
"schema": {
"type": "integer",
"minimum": 5,
"maximum": 50
},
"default": 20,
"description": "Number of zones per page."
}
]
},
"approvalMode": "automatic",
"requestBodyMode": "none",
"resultMode": "json_summary"
}