{"formatVersion":"1","kind":"dock_integration","slug":"cloudflare-api","title":"Cloudflare API","summary":"Import a Harbor-safe Cloudflare zone control integration for zones, DNS, cache, and related zone-scoped configuration.","description":"A Dock-hosted Cloudflare zone control integration for Harbor. Importing it creates a local http_api port shell plus a broad Cloudflare action set for zone lifecycle, DNS records, DNSSEC, secondary DNS, cache controls, zone tags, and security.txt management with approval on all writes. Tokens remain local to Harbor Node.","version":"0.2.0","publisher":{"slug":"cloudflare","name":"Cloudflare","websiteUrl":"https://developers.cloudflare.com/api/"},"category":"Infrastructure","tags":["cloudflare","dns","infrastructure","domains","edge"],"compatibility":{"harborNode":">=0.1.0","notes":"Requires local operator-configured auth after import. This manifest covers Cloudflare's zone-scoped JSON control plane for zones, DNS, cache, and selected security metadata. Binary and multipart flows remain documented separately as current Harbor platform limitations."},"requiredPlan":"community","portTemplates":[{"kind":"http_api","label":"Cloudflare API","description":"Cloudflare API connection managed locally through Harbor.","baseUrl":"https://api.cloudflare.com/client/v4/","authMode":"header_token","authHeaderName":"Authorization","authTokenPrefix":"Bearer"}],"actionTemplates":[{"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"},{"slug":"get-zone","label":"Get Zone","description":"Retrieve Cloudflare zone details for a specific zone identifier.","method":"GET","path":"/zones/{zone_id}","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-zone","label":"Create Zone","description":"Create a Cloudflare zone using a bounded JSON request body.","method":"POST","path":"/zones","approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"update-zone","label":"Update Zone","description":"Update a Cloudflare zone using an explicit zone identifier and a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-zone","label":"Delete Zone","description":"Delete a Cloudflare zone using an explicit zone identifier.","method":"DELETE","path":"/zones/{zone_id}","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"trigger-zone-activation-check","label":"Trigger Zone Activation Check","description":"Rerun the activation check for a specific Cloudflare zone.","method":"PUT","path":"/zones/{zone_id}/activation_check","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-zone-settings","label":"List Zone Settings","description":"List all zone settings for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/settings","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-zone-setting","label":"Get Zone Setting","description":"Get a specific Cloudflare zone setting using explicit zone and setting identifiers.","method":"GET","path":"/zones/{zone_id}/settings/{setting_id}","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."},{"name":"setting_id","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Cloudflare zone setting identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"update-zone-setting","label":"Update Zone Setting","description":"Update a specific Cloudflare zone setting using explicit identifiers and a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}/settings/{setting_id}","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."},{"name":"setting_id","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Cloudflare zone setting identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"bulk-update-zone-settings","label":"Bulk Update Zone Settings","description":"Update multiple Cloudflare zone settings for a specific zone using a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}/settings","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"get-zone-hold","label":"Get Zone Hold","description":"Get the zone hold status for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/hold","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-zone-hold","label":"Create Zone Hold","description":"Create a zone hold for a specific Cloudflare zone using a bounded JSON request body.","method":"POST","path":"/zones/{zone_id}/hold","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"update-zone-hold","label":"Update Zone Hold","description":"Update the zone hold for a specific Cloudflare zone using a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}/hold","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-zone-hold","label":"Delete Zone Hold","description":"Remove the zone hold for a specific Cloudflare zone.","method":"DELETE","path":"/zones/{zone_id}/hold","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-zone-subscription","label":"Get Zone Subscription","description":"Get subscription details for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/subscription","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-zone-subscription","label":"Create Zone Subscription","description":"Create a subscription for a specific Cloudflare zone using a bounded JSON request body.","method":"POST","path":"/zones/{zone_id}/subscription","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"update-zone-subscription","label":"Update Zone Subscription","description":"Update a zone subscription for a specific Cloudflare zone using a bounded JSON request body.","method":"PUT","path":"/zones/{zone_id}/subscription","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"list-available-plans","label":"List Available Plans","description":"List available plans for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/available_plans","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-available-plan","label":"Get Available Plan","description":"Get a specific available plan for a Cloudflare zone using explicit identifiers.","method":"GET","path":"/zones/{zone_id}/available_plans/{plan_identifier}","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."},{"name":"plan_identifier","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Cloudflare plan identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-available-rate-plans","label":"List Available Rate Plans","description":"List available rate plans for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/available_rate_plans","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-dnssec","label":"Get DNSSEC","description":"Get DNSSEC configuration for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/dnssec","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"update-dnssec","label":"Update DNSSEC","description":"Update DNSSEC status for a specific Cloudflare zone using a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}/dnssec","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-dnssec","label":"Delete DNSSEC","description":"Delete DNSSEC records for a specific Cloudflare zone.","method":"DELETE","path":"/zones/{zone_id}/dnssec","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-dns-records","label":"List DNS Records","description":"List DNS records for a specific Cloudflare zone using explicit zone and bounded filter inputs.","method":"GET","path":"/zones/{zone_id}/dns_records","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."},{"name":"name","in":"query","schema":{"type":"string","maxLength":255},"description":"Optional DNS record name filter."},{"name":"type","in":"query","schema":{"type":"string","enum":["A","AAAA","CAA","CERT","CNAME","DNSKEY","DS","HTTPS","LOC","MX","NAPTR","NS","PTR","SMIMEA","SRV","SSHFP","SVCB","TLSA","TXT","URI"]},"description":"Optional DNS record type filter."},{"name":"content","in":"query","schema":{"type":"string","maxLength":255},"description":"Optional DNS record content filter."},{"name":"proxied","in":"query","schema":{"type":"boolean"},"description":"Whether returned records should be proxied through Cloudflare."},{"name":"page","in":"query","schema":{"type":"integer","minimum":1},"description":"Page number of paginated results."},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":100},"default":20,"description":"Number of DNS records to return per page."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-dns-record","label":"Get DNS Record","description":"Get a specific Cloudflare DNS record using explicit zone and record identifiers.","method":"GET","path":"/zones/{zone_id}/dns_records/{dns_record_id}","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."},{"name":"dns_record_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare DNS record identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-dns-record","label":"Create DNS Record","description":"Create a Cloudflare DNS record for a specific zone using a bounded JSON request body.","method":"POST","path":"/zones/{zone_id}/dns_records","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"overwrite-dns-record","label":"Overwrite DNS Record","description":"Replace a Cloudflare DNS record using explicit identifiers and a bounded JSON request body.","method":"PUT","path":"/zones/{zone_id}/dns_records/{dns_record_id}","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."},{"name":"dns_record_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare DNS record identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"update-dns-record","label":"Update DNS Record","description":"Patch a Cloudflare DNS record using explicit identifiers and a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}/dns_records/{dns_record_id}","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."},{"name":"dns_record_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare DNS record identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-dns-record","label":"Delete DNS Record","description":"Delete a Cloudflare DNS record using explicit zone and record identifiers.","method":"DELETE","path":"/zones/{zone_id}/dns_records/{dns_record_id}","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."},{"name":"dns_record_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare DNS record identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"trigger-dns-record-scan","label":"Trigger DNS Record Scan","description":"Trigger DNS record scanning for a specific Cloudflare zone.","method":"POST","path":"/zones/{zone_id}/dns_records/scan/trigger","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-scanned-dns-records","label":"List Scanned DNS Records","description":"List scanned DNS records awaiting review for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/dns_records/scan/review","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"review-scanned-dns-records","label":"Review Scanned DNS Records","description":"Accept or reject scanned DNS records for a specific Cloudflare zone using a bounded JSON request body.","method":"POST","path":"/zones/{zone_id}/dns_records/scan/review","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"batch-dns-records","label":"Batch DNS Records","description":"Create, update, or delete multiple DNS records in one Cloudflare batch request using a bounded JSON request body.","method":"POST","path":"/zones/{zone_id}/dns_records/batch","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"get-zone-dns-settings","label":"Get Zone DNS Settings","description":"Get DNS settings for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/dns_settings","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"update-zone-dns-settings","label":"Update Zone DNS Settings","description":"Update DNS settings for a specific Cloudflare zone using a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}/dns_settings","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"get-dns-analytics-report","label":"Get DNS Analytics Report","description":"Retrieve DNS analytics table data for a Cloudflare zone using typed query inputs.","method":"GET","path":"/zones/{zone_id}/dns_analytics/report","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."},{"name":"since","in":"query","schema":{"type":"string"},"description":"Optional ISO 8601 start time."},{"name":"until","in":"query","schema":{"type":"string"},"description":"Optional ISO 8601 end time."},{"name":"dimensions","in":"query","schema":{"type":"string"},"description":"Optional comma-separated dimension list."},{"name":"metrics","in":"query","schema":{"type":"string"},"description":"Optional comma-separated metrics list."},{"name":"filters","in":"query","schema":{"type":"string"},"description":"Optional Cloudflare analytics filter string."},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Optional comma-separated sort list."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1},"description":"Optional maximum row count."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-dns-analytics-report-bytime","label":"Get DNS Analytics Report By Time","description":"Retrieve DNS analytics time-series data for a Cloudflare zone using typed query inputs.","method":"GET","path":"/zones/{zone_id}/dns_analytics/report/bytime","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."},{"name":"since","in":"query","schema":{"type":"string"},"description":"Optional ISO 8601 start time."},{"name":"until","in":"query","schema":{"type":"string"},"description":"Optional ISO 8601 end time."},{"name":"dimensions","in":"query","schema":{"type":"string"},"description":"Optional comma-separated dimension list."},{"name":"metrics","in":"query","schema":{"type":"string"},"description":"Optional comma-separated metrics list."},{"name":"filters","in":"query","schema":{"type":"string"},"description":"Optional Cloudflare analytics filter string."},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Optional comma-separated sort list."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1},"description":"Optional maximum row count."},{"name":"time_delta","in":"query","schema":{"type":"string"},"description":"Optional Cloudflare time grouping value such as auto or hour."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"force-axfr","label":"Force AXFR","description":"Force an AXFR for a specific Cloudflare secondary DNS zone.","method":"POST","path":"/zones/{zone_id}/secondary_dns/force_axfr","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-secondary-dns-incoming","label":"Get Secondary DNS Incoming","description":"Get incoming secondary DNS configuration for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/secondary_dns/incoming","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-secondary-dns-incoming","label":"Create Secondary DNS Incoming","description":"Create incoming secondary DNS configuration for a specific Cloudflare zone using a bounded JSON request body.","method":"POST","path":"/zones/{zone_id}/secondary_dns/incoming","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"update-secondary-dns-incoming","label":"Update Secondary DNS Incoming","description":"Update incoming secondary DNS configuration for a specific Cloudflare zone using a bounded JSON request body.","method":"PUT","path":"/zones/{zone_id}/secondary_dns/incoming","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-secondary-dns-incoming","label":"Delete Secondary DNS Incoming","description":"Delete incoming secondary DNS configuration for a specific Cloudflare zone.","method":"DELETE","path":"/zones/{zone_id}/secondary_dns/incoming","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-secondary-dns-outgoing","label":"Get Secondary DNS Outgoing","description":"Get outgoing secondary DNS configuration for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/secondary_dns/outgoing","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-secondary-dns-outgoing","label":"Create Secondary DNS Outgoing","description":"Create outgoing secondary DNS configuration for a specific Cloudflare zone using a bounded JSON request body.","method":"POST","path":"/zones/{zone_id}/secondary_dns/outgoing","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"update-secondary-dns-outgoing","label":"Update Secondary DNS Outgoing","description":"Update outgoing secondary DNS configuration for a specific Cloudflare zone using a bounded JSON request body.","method":"PUT","path":"/zones/{zone_id}/secondary_dns/outgoing","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-secondary-dns-outgoing","label":"Delete Secondary DNS Outgoing","description":"Delete outgoing secondary DNS configuration for a specific Cloudflare zone.","method":"DELETE","path":"/zones/{zone_id}/secondary_dns/outgoing","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"disable-secondary-dns-outgoing","label":"Disable Secondary DNS Outgoing","description":"Disable outgoing secondary DNS transfers for a specific Cloudflare zone.","method":"POST","path":"/zones/{zone_id}/secondary_dns/outgoing/disable","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"enable-secondary-dns-outgoing","label":"Enable Secondary DNS Outgoing","description":"Enable outgoing secondary DNS transfers for a specific Cloudflare zone.","method":"POST","path":"/zones/{zone_id}/secondary_dns/outgoing/enable","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"force-secondary-dns-notify","label":"Force Secondary DNS Notify","description":"Force DNS NOTIFY for a specific Cloudflare zone.","method":"POST","path":"/zones/{zone_id}/secondary_dns/outgoing/force_notify","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-secondary-dns-outgoing-status","label":"Get Secondary DNS Outgoing Status","description":"Get outgoing secondary DNS transfer status for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/secondary_dns/outgoing/status","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"purge-cache","label":"Purge Cache","description":"Purge cached content for a specific Cloudflare zone using a bounded JSON request body.","method":"POST","path":"/zones/{zone_id}/purge_cache","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"get-cache-reserve","label":"Get Cache Reserve","description":"Get Cache Reserve settings for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/cache/cache_reserve","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"update-cache-reserve","label":"Update Cache Reserve","description":"Update Cache Reserve settings for a specific Cloudflare zone using a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}/cache/cache_reserve","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"get-cache-reserve-clear-status","label":"Get Cache Reserve Clear Status","description":"Get Cache Reserve clear status for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/cache/cache_reserve_clear","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"start-cache-reserve-clear","label":"Start Cache Reserve Clear","description":"Start Cache Reserve clearing for a specific Cloudflare zone.","method":"POST","path":"/zones/{zone_id}/cache/cache_reserve_clear","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-smart-tiered-cache","label":"Get Smart Tiered Cache","description":"Get Smart Tiered Cache settings for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/cache/tiered_cache_smart_topology_enable","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"update-smart-tiered-cache","label":"Update Smart Tiered Cache","description":"Update Smart Tiered Cache settings for a specific Cloudflare zone using a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}/cache/tiered_cache_smart_topology_enable","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-smart-tiered-cache","label":"Delete Smart Tiered Cache","description":"Delete Smart Tiered Cache settings for a specific Cloudflare zone.","method":"DELETE","path":"/zones/{zone_id}/cache/tiered_cache_smart_topology_enable","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-cache-variants","label":"Get Cache Variants","description":"Get cache variants settings for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/cache/variants","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"update-cache-variants","label":"Update Cache Variants","description":"Update cache variants settings for a specific Cloudflare zone using a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}/cache/variants","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-cache-variants","label":"Delete Cache Variants","description":"Delete cache variants settings for a specific Cloudflare zone.","method":"DELETE","path":"/zones/{zone_id}/cache/variants","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-regional-tiered-cache","label":"Get Regional Tiered Cache","description":"Get Regional Tiered Cache settings for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/cache/regional_tiered_cache","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"update-regional-tiered-cache","label":"Update Regional Tiered Cache","description":"Update Regional Tiered Cache settings for a specific Cloudflare zone using a bounded JSON request body.","method":"PATCH","path":"/zones/{zone_id}/cache/regional_tiered_cache","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"get-zone-tags","label":"Get Zone Tags","description":"Get tags for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/tags","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"update-zone-tags","label":"Update Zone Tags","description":"Set tags for a specific Cloudflare zone using a bounded JSON request body.","method":"PUT","path":"/zones/{zone_id}/tags","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-zone-tags","label":"Delete Zone Tags","description":"Delete tags from a specific Cloudflare zone.","method":"DELETE","path":"/zones/{zone_id}/tags","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-security-txt","label":"Get Security TXT","description":"Retrieve security.txt for a specific Cloudflare zone.","method":"GET","path":"/zones/{zone_id}/security-center/securitytxt","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"update-security-txt","label":"Update Security TXT","description":"Update security.txt for a specific Cloudflare zone using a bounded JSON request body.","method":"PUT","path":"/zones/{zone_id}/security-center/securitytxt","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-security-txt","label":"Delete Security TXT","description":"Delete security.txt for a specific Cloudflare zone.","method":"DELETE","path":"/zones/{zone_id}/security-center/securitytxt","inputs":{"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32},"description":"Cloudflare zone identifier."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"}],"helpText":"Import to Harbor, configure local auth, then use list-zones, get-zone, and list-dns-records to inspect the target zone before enabling write actions. Keep mutating zone, DNS, cache, and security actions on approval unless your local policy explicitly allows a narrower safe subset.","installNotes":"Dock shares only safe metadata. Hidden auth must be configured locally inside Harbor after import. This Cloudflare manifest stays on zone-scoped JSON endpoints that fit Harbor's current action model. DNS export and import remain documented as platform-limited because Harbor does not yet support raw text responses or multipart uploads."}