diff --git a/public/_redirects b/public/_redirects
index a889f52c3efa667..41cfd7a2d909eb7 100644
--- a/public/_redirects
+++ b/public/_redirects
@@ -644,7 +644,7 @@
/images/cloudflare-images/upload-images/custom-id/ /images/upload-images/upload-custom-path/ 301
/images/cloudflare-images/upload-images/dashboard-upload/ /images/upload-images/upload-dashboard/ 301
/images/cloudflare-images/upload-images/direct-creator-upload/ /images/upload-images/direct-creator-upload/ 301
-/images/cloudflare-images/upload-images/images-batch/ /api/operations/cloudflare-images-list-images 301
+/images/cloudflare-images/upload-images/images-batch/ /api/resources/images/subresources/v2/methods/list/ 301
/images/cloudflare-images/upload-images/upload-via-url/ /images/upload-images/upload-url/ 301
/images/faq/ /images/ 301
/images/image-resizing/ /images/manage-images/create-variants/ 301
@@ -1317,9 +1317,9 @@
/workers/about/tips/signing-requests/ /workers/examples/signing-requests/ 301
/workers/about/using-cache/ /workers/reference/how-the-cache-works/ 301
/workers/learning/how-the-cache-works/ /workers/reference/how-the-cache-works/ 301
-/workers/api/ /api/operations/worker-script-list-workers 301
+/workers/api/ /api/resources/workers/subresources/scripts/methods/list/ 301
/workers/learning/how-kv-works/ /kv/learning/how-kv-works/ 301
-/workers/api/resource-bindings/webassembly-modules/ /api/operations/worker-script-list-workers 301
+/workers/api/resource-bindings/webassembly-modules/ /api/resources/workers/subresources/scripts/methods/list/ 301
/workers/api/route-matching/ /workers/platform/routing/routes/ 301
/workers/cli-wrangler/ /workers/wrangler/ 301
/workers/cli-wrangler/configuration/ /workers/wrangler/configuration/ 301
@@ -1334,7 +1334,7 @@
/workers/learning/fetch-event-lifecycle/ /workers/runtime-apis/fetch-event/ 301
/workers/learning/getting-started/ /workers/get-started/guide/ 301
/workers/learning/profiling-workers/ /workers/reference/how-workers-works/ 301
-/workers/platform/scripts/ /api/operations/worker-script-list-workers 301
+/workers/platform/scripts/ /api/resources/workers/subresources/scripts/methods/list/ 301
/workers/platform/services/ /workers/runtime-apis/bindings/service-bindings/ 301
/workers/platform/web-assembly/ /workers/platform/webassembly/ 301
/workers/platform/web-assembly/rust/ /workers/platform/webassembly/rust/ 301
diff --git a/src/content/changelogs/ai-gateway.yaml b/src/content/changelogs/ai-gateway.yaml
index 638296c089c1a0b..58e5f12e8155f17 100644
--- a/src/content/changelogs/ai-gateway.yaml
+++ b/src/content/changelogs/ai-gateway.yaml
@@ -92,7 +92,7 @@ entries:
- publish_date: "2024-05-09"
description: |-
- * Added new endpoints to the [REST API](/api/operations/aig-config-create-gateway).
+ * Added new endpoints to the [REST API](/api/resources/ai_gateway/methods/create/).
- publish_date: "2024-03-26"
diff --git a/src/content/changelogs/api-deprecations.yaml b/src/content/changelogs/api-deprecations.yaml
index 184571da870ed7f..909f5fee94f85c1 100644
--- a/src/content/changelogs/api-deprecations.yaml
+++ b/src/content/changelogs/api-deprecations.yaml
@@ -10,7 +10,7 @@ entries:
description: |-
Deprecation date: November 21, 2025
- The `self_hosted_domains` field for [Access applications](https://developers.cloudflare.com/api/operations/access-applications-update-an-access-application) is deprecated in favor of `destinations` to allow for more flexibility in defining different types of domains.
+ The `self_hosted_domains` field for [Access applications](https://developers.cloudflare.com/api/resources/zero_trust/subresources/access/subresources/applications/methods/update/) is deprecated in favor of `destinations` to allow for more flexibility in defining different types of domains.
Before:
```json
@@ -57,7 +57,7 @@ entries:
Deprecation date: March 21, 2025
The Zone Settings API endpoints for managing zone-level CNAME flattening are deprecated.
- Instead, use the [Show DNS Settings](/api/operations/dns-settings-for-a-zone-list-dns-settings) and [Update DNS Settings](/api/operations/dns-settings-for-a-zone-update-dns-settings) endpoints to manage this setting.
+ Instead, use the [Show DNS Settings](/api/resources/dns/subresources/settings/methods/get/) and [Update DNS Settings](/api/resources/dns/subresources/settings/methods/edit/) endpoints to manage this setting.
Changes via the old endpoints will be reflected in the new ones, and vice versa, so there is no need to migrate existing zones. However, future API calls must use DNS Settings instead of the Zone Settings endpoints.
@@ -80,7 +80,7 @@ entries:
Deprecation date: March 14, 2025
The fields `"default_nameservers"` and `"use_account_custom_ns_by_default"` within the `"settings"` object of accounts are deprecated.
- Instead, use the [Show DNS Settings](/api/operations/dns-settings-for-an-account-list-dns-settings) and [Update DNS Settings](/api/operations/dns-settings-for-an-account-update-dns-settings) endpoints to manage this setting.
+ Instead, use the [Show DNS Settings](/api/resources/dns/subresources/settings/methods/get/) and [Update DNS Settings](/api/resources/dns/subresources/settings/methods/edit/) endpoints to manage this setting.
This setting is available in the new API as `.zone_defaults.nameservers.type`, with allowed values `"cloudflare.standard"`, `"cloudflare.standard.random"`, `"custom.account"` and `"custom.tenant"`.
Changes via the old endpoints will be reflected in the new ones, and vice versa, so there is no need to migrate existing zones. However, future API calls must use DNS Settings instead of the Accounts endpoints.
@@ -283,7 +283,7 @@ entries:
The dedicated endpoints for DNS settings `use_apex_ns` and `secondary_overrides` are being deprecated.
- Instead, use the [Show DNS Settings](/api/operations/dns-settings-for-a-zone-list-dns-settings) and [Update DNS Settings](/api/operations/dns-settings-for-a-zone-update-dns-settings) endpoints to manage these settings.
+ Instead, use the [Show DNS Settings](/api/resources/dns/subresources/settings/methods/get/) and [Update DNS Settings](/api/resources/dns/subresources/settings/methods/edit/) endpoints to manage these settings.
- Instead of the `.../use_apex_ns` endpoint, use the `multi_provider` field.
- Instead of the `.../secondary_overrides` endpoint, use the `secondary_overrides` field.
@@ -371,7 +371,7 @@ entries:
The complete name would then be, e.g., `_xmpp._tcp.example.com`.
- When interacting with DNS records through the [API](/api/operations/dns-records-for-a-zone-create-dns-record), SRV records contain both a full `name` as well as a `data` map containing the individual components of the name:
+ When interacting with DNS records through the [API](/api/resources/dns/subresources/records/methods/create/), SRV records contain both a full `name` as well as a `data` map containing the individual components of the name:
```txt
{
diff --git a/src/content/changelogs/byoip.yaml b/src/content/changelogs/byoip.yaml
index 9fe7d02f0add233..1d50e007c8784f0 100644
--- a/src/content/changelogs/byoip.yaml
+++ b/src/content/changelogs/byoip.yaml
@@ -7,4 +7,4 @@ productAreaLink: /fundamentals/reference/changelog/performance/
entries:
- publish_date: "2024-07-02"
title: Address Maps for BYOIP and Static IPs
- description: Address Maps is available via [API](/api/operations/ip-address-management-address-maps-list-address-maps) and via [dashboard](https://dash.cloudflare.com/?to=/:account/ip-addresses/proxy-ips). Address Maps allows customers with BYOIP prefixes or account-level Static IPs to specify which IP addresses should be mapped to DNS records when they are proxied through Cloudflare. Refer to the [documentation](/byoip/address-maps/) for details.
+ description: Address Maps is available via [API](/api/resources/addressing/subresources/address_maps/methods/list/) and via [dashboard](https://dash.cloudflare.com/?to=/:account/ip-addresses/proxy-ips). Address Maps allows customers with BYOIP prefixes or account-level Static IPs to specify which IP addresses should be mapped to DNS records when they are proxied through Cloudflare. Refer to the [documentation](/byoip/address-maps/) for details.
diff --git a/src/content/changelogs/d1.yaml b/src/content/changelogs/d1.yaml
index f197aac7caaac02..143e89c00d02291 100644
--- a/src/content/changelogs/d1.yaml
+++ b/src/content/changelogs/d1.yaml
@@ -26,7 +26,7 @@ entries:
- publish_date: "2024-06-17"
title: HTTP API now returns a HTTP 429 error for overloaded D1 databases
description: |-
- Previously, D1's [HTTP API](/api/operations/cloudflare-d1-query-database) returned a HTTP `500 Internal Server` error for queries that came in while a D1 database was overloaded. These requests now correctly return a `HTTP 429 Too Many Requests` error.
+ Previously, D1's [HTTP API](/api/resources/d1/subresources/database/methods/query/) returned a HTTP `500 Internal Server` error for queries that came in while a D1 database was overloaded. These requests now correctly return a `HTTP 429 Too Many Requests` error.
D1's [Workers API](/d1/worker-api/) is unaffected by this change.
@@ -40,7 +40,7 @@ entries:
- publish_date: "2024-04-12"
title: HTTP API now returns a HTTP 400 error for invalid queries
description: |-
- Previously, D1's [HTTP API](/api/operations/cloudflare-d1-query-database) returned a HTTP `500 Internal Server` error for an invalid query. An invalid SQL query now correctly returns a `HTTP 400 Bad Request` error.
+ Previously, D1's [HTTP API](/api/resources/d1/subresources/database/methods/query/) returned a HTTP `500 Internal Server` error for an invalid query. An invalid SQL query now correctly returns a `HTTP 400 Bad Request` error.
D1's [Workers API](/d1/worker-api/) is unaffected by this change.
diff --git a/src/content/changelogs/gateway.yaml b/src/content/changelogs/gateway.yaml
index f85e6207b202a09..66b658db5908c75 100644
--- a/src/content/changelogs/gateway.yaml
+++ b/src/content/changelogs/gateway.yaml
@@ -36,7 +36,7 @@ entries:
- publish_date: "2024-06-25"
title: Gateway DNS policy setting to ignore CNAME category matches
description: |-
- Gateway now offers the ability to selectively ignore CNAME domain categories in DNS policies via the [**Ignore CNAME domain categories** setting](/cloudflare-one/policies/gateway/domain-categories/#ignore-cname-domain-categories) in the policy builder and the [`ignore_cname_category_matches` setting](/api/operations/zero-trust-gateway-rules-create-zero-trust-gateway-rule) in the API.
+ Gateway now offers the ability to selectively ignore CNAME domain categories in DNS policies via the [**Ignore CNAME domain categories** setting](/cloudflare-one/policies/gateway/domain-categories/#ignore-cname-domain-categories) in the policy builder and the [`ignore_cname_category_matches` setting](/api/resources/zero_trust/subresources/gateway/subresources/rules/methods/create/) in the API.
- publish_date: "2024-04-05"
title: Gateway file type control improvements
description: |-
diff --git a/src/content/changelogs/kv.yaml b/src/content/changelogs/kv.yaml
index 6ff47e6cad508cf..17fd25cdfa5bf90 100644
--- a/src/content/changelogs/kv.yaml
+++ b/src/content/changelogs/kv.yaml
@@ -9,7 +9,7 @@ entries:
title: Workers KV REST API bulk operations provide granular errors
description: |-
- The REST API endpoints for bulk operations ([write](/api/operations/workers-kv-namespace-write-multiple-key-value-pairs), [delete](/api/operations/workers-kv-namespace-delete-multiple-key-value-pairs)) now return the keys of operations that failed during the bulk operation. The updated response bodies are documented in the [REST API documentation](/api/operations/workers-kv-namespace-list-namespaces) and contain the following information in the `result` field:
+ The REST API endpoints for bulk operations ([write](/api/resources/kv/subresources/namespaces/methods/bulk_update/), [delete](/api/resources/kv/subresources/namespaces/methods/bulk_delete/)) now return the keys of operations that failed during the bulk operation. The updated response bodies are documented in the [REST API documentation](/api/resources/kv/subresources/namespaces/methods/list/) and contain the following information in the `result` field:
```
{
@@ -26,5 +26,5 @@ entries:
Workers KV now has a new [metrics dashboard](/kv/observability/metrics-analytics/#view-metrics-in-the-dashboard) and [analytics API](/kv/observability/metrics-analytics/#query-via-the-graphql-api) that leverages the [GraphQL Analytics API](/analytics/graphql-api/) used by many other Cloudflare products. The new analytics API provides per-account and per-namespace metrics for both operations and storage, including latency metrics for read and write operations to Workers KV.
- The legacy Workers KV [analytics REST API](/api/operations/workers-kv-request-analytics-query-request-analytics) will be turned off as of January 31st, 2025.
+ The legacy Workers KV [analytics REST API](/api/resources/kv/subresources/namespaces/subresources/analytics/methods/list/) will be turned off as of January 31st, 2025.
Developers using this API will receive a series of email notifications prior to the shutdown of the legacy API.
diff --git a/src/content/changelogs/r2.yaml b/src/content/changelogs/r2.yaml
index 902878253166b5b..58b46936e3ef094 100644
--- a/src/content/changelogs/r2.yaml
+++ b/src/content/changelogs/r2.yaml
@@ -28,10 +28,10 @@ entries:
- R2 [`bucket domain` command](/workers/wrangler/commands/#domain-add) added to Wrangler. Supports listing, adding, removing, and updating [R2 bucket custom domains](/r2/buckets/public-buckets/#custom-domains).
- publish_date: "2024-11-01"
description: |-
- - Add `minTLS` to response of [list custom domains](/api/operations/r2-list-custom-domains) endpoint.
+ - Add `minTLS` to response of [list custom domains](/api/resources/r2/subresources/buckets/subresources/domains/subresources/custom/methods/list/) endpoint.
- publish_date: "2024-10-28"
description: |-
- - Add [get custom domain](/api/operations/r2-get-custom-domain-settings) endpoint.
+ - Add [get custom domain](/api/resources/r2/subresources/buckets/subresources/domains/subresources/custom/methods/get/) endpoint.
- publish_date: "2024-10-21"
description: |-
- Event notifications can now be configured for R2 buckets in [jurisdictions](/r2/reference/data-location/#jurisdictional-restrictions) (e.g., EU, FedRAMP).
@@ -43,7 +43,7 @@ entries:
- Add the ability to set and [update minimum TLS version](/r2/buckets/public-buckets/#minimum-tls-version) for R2 bucket custom domains.
- publish_date: "2024-08-26"
description: |-
- - Added support for configuring R2 bucket custom domains via [API](/api/operations/r2-add-custom-domain).
+ - Added support for configuring R2 bucket custom domains via [API](/api/resources/r2/subresources/buckets/subresources/domains/subresources/custom/methods/create/).
- publish_date: "2024-08-21"
description: |-
- [Sippy](/r2/data-migration/sippy/) is now generally available. Metrics for ongoing migrations can now be found in the dashboard or via the GraphQL analytics API.
@@ -64,7 +64,7 @@ entries:
- Added support for [Infrequent Access](/r2/buckets/storage-classes/) storage class (beta).
- publish_date: "2024-05-24"
description: |-
- - Added [create temporary access tokens](/api/operations/r2-create-temp-access-credentials) endpoint.
+ - Added [create temporary access tokens](/api/resources/r2/subresources/temporary_credentials/methods/create/) endpoint.
- publish_date: "2024-04-03"
description: |-
- [Event notifications](/r2/buckets/event-notifications/) for R2 is now available as an open beta.
@@ -79,7 +79,7 @@ entries:
- The shape of the configuration object when modifying Sippy's configuration has changed.
- publish_date: "2024-02-02"
description: |-
- - Updated [GetBucket](/api/operations/r2-get-bucket) endpoint: Now fetches by `bucket_name` instead of `bucket_id`.
+ - Updated [GetBucket](/api/resources/r2/subresources/buckets/methods/get/) endpoint: Now fetches by `bucket_name` instead of `bucket_id`.
- publish_date: "2024-01-30"
description: |-
- Fixed a bug where the API would accept empty strings in the `AllowedHeaders` property of `PutBucketCors` actions.
@@ -115,14 +115,14 @@ entries:
hashes.
- publish_date: "2023-06-16"
description: |-
- - Fixed a bug where calling [GetBucket](/api/operations/r2-get-bucket) on a non-existent bucket would return a 500 instead of a 404.
+ - Fixed a bug where calling [GetBucket](/api/resources/r2/subresources/buckets/methods/get/) on a non-existent bucket would return a 500 instead of a 404.
- Improved S3 compatibility for ListObjectsV1, now nextmarker is only set when truncated is true.
- The R2 worker bindings now support parsing conditional headers with multiple etags. These etags can now be strong, weak or a wildcard. Previously the bindings only accepted headers containing a single strong etag.
- S3 putObject now supports sha256 and sha1 checksums. These were already supported by the R2 worker bindings.
- CopyObject in the S3 compatible api now supports Cloudflare specific headers which allow the copy operation to be conditional on the state of the destination object.
- publish_date: "2023-04-01"
description: |-
- - [GetBucket](/api/operations/r2-get-bucket) is now available for use through the Cloudflare API.
+ - [GetBucket](/api/resources/r2/subresources/buckets/methods/get/) is now available for use through the Cloudflare API.
- [Location hints](https://developers.cloudflare.com/r2/reference/data-location/) can now be set when creating a bucket, both through the S3 API, and the dashboard.
- publish_date: "2023-03-16"
description: |-
diff --git a/src/content/changelogs/radar.yaml b/src/content/changelogs/radar.yaml
index 061f3488cade080..5b0a807c714b2a1 100644
--- a/src/content/changelogs/radar.yaml
+++ b/src/content/changelogs/radar.yaml
@@ -9,8 +9,8 @@ entries:
title: Change TCP connection tampering API endpoints to TCP Resets Timeouts
description: |-
* Changed the connection tampering summary and timeseries API endpoints to
- TCP resets timeouts [summary](/api/operations/radar-get-tcp-resets-timeouts-summary)
- and [timeseries](/api/operations/radar-get-tcp-resets-timeouts-timeseries-group),
+ TCP resets timeouts [summary](/api/resources/radar/subresources/tcp_resets_timeouts/methods/summary/)
+ and [timeseries](/api/resources/radar/subresources/tcp_resets_timeouts/methods/timeseries_groups/),
respectively.
- publish_date: "2023-11-27"
title: Add more meta information's
@@ -20,83 +20,83 @@ entries:
- publish_date: "2023-11-16"
title: Add new Layer 3 endpoints and Layer 7 dimensions
description: |-
- * Added Layer 3 [top origin locations](/api/operations/radar-get-attacks-layer3-top-origin-locations)
- and [top target location](/api/operations/radar-get-attacks-layer3-top-target-locations).
+ * Added Layer 3 [top origin locations](/api/resources/radar/subresources/attacks/subresources/layer3/subresources/top/subresources/locations/methods/origin/)
+ and [top target location](/api/resources/radar/subresources/attacks/subresources/layer3/subresources/top/subresources/locations/methods/target/).
* Added Layer 7 Summaries by `http_method`, `http_version`, `ip_version`, `managed_rules`, `mitigation_product`.
* Added Layer 7 Timeseries Groups by `http_method`, `http_version`, `ip_version`, `managed_rules`, `mitigation_product`, `industry`, `vertical`.
* Added Layer 7 Top by `industry`, `vertical`.
- * Deprecated Layer 7 [timeseries groups without dimension](/api/operations/radar-get-attacks-layer7-timeseries-group).
+ * Deprecated Layer 7 [timeseries groups without dimension](/api/resources/radar/subresources/attacks/subresources/layer7/methods/timeseries/-group).
* To continue getting this data, switch to the new
- [timeseries group by mitigation_product](/api/operations/radar-get-attacks-layer7-timeseries-group-by-mitigation-product)
+ [timeseries group by mitigation_product](/api/resources/radar/subresources/attacks/subresources/layer7/methods/timeseries/-group-by-mitigation-product)
endpoint.
- * Deprecated Layer 7 [summary without dimension)](/api/operations/radar-get-attacks-layer7-summary).
+ * Deprecated Layer 7 [summary without dimension)](/api/resources/radar/subresources/attacks/subresources/layer7/subresources/summary/methods/get/).
* To continue getting this data, switch to the new
- [summary by mitigation_product](/api/operations/radar-get-attacks-layer7-summary-by-mitigation-product)
+ [summary by mitigation_product](/api/resources/radar/subresources/attacks/subresources/layer7/subresources/summary/methods/get/-by-mitigation-product)
endpoint.
* Added new [Error codes](/radar/get-started/error-codes/).
- publish_date: "2023-10-31"
title: Add new Layer 3 direction parameter
description: |-
* Added a `direction` parameter to all Layer 3 endpoints. Use together with `location` parameter to filter by origin or
- target location [timeseries groups](/api/operations/radar-get-attacks-layer3-timeseries-group-by-vector).
+ target location [timeseries groups](/api/resources/radar/subresources/attacks/subresources/layer3/subresources/timeseries_groups/methods/vector/).
- publish_date: "2023-09-08"
title: Add Connection Tampering endpoints
description: |-
- * Added Connection Tampering [summary](/api/operations/radar-get-tcp-resets-timeouts-summary)
- and [timeseries](/api/operations/radar-get-tcp-resets-timeouts-timeseries-group) endpoints.
+ * Added Connection Tampering [summary](/api/resources/radar/subresources/tcp_resets_timeouts/methods/summary/)
+ and [timeseries](/api/resources/radar/subresources/tcp_resets_timeouts/methods/timeseries_groups/) endpoints.
- publish_date: "2023-08-14"
title: Deprecate old layer 3 dataset
description: |-
* Added Regional Internet Registry (see field `source` in response)
- to [get asn by id](/api/operations/radar-get-entities-asn-by-id)
- and [get asn by ip](/api/operations/radar-get-entities-asn-by-ip) endpoints.
+ to [get asn by id](/api/resources/radar/subresources/entities/subresources/asns/methods/get/)
+ and [get asn by ip](/api/resources/radar/subresources/entities/subresources/asns/methods/ip/) endpoints.
* Stopped collecting data in the old Layer 3 data source.
* Updated Layer 3
- [timeseries](/api/operations/radar-get-attacks-layer3-timeseries-by-bytes) endpoint
+ [timeseries](/api/resources/radar/subresources/attacks/subresources/layer3/methods/timeseries/) endpoint
to start using the new Layer 3 data source by default, fetching the old data source now requires sending the parameter
`metric=bytes_old`.
* Deprecated Layer 3
- [summary](/api/operations/radar-get-attacks-layer3-summary) endpoint, this will stop
+ [summary](/api/resources/radar/subresources/attacks/subresources/layer3/subresources/summary/methods/get/) endpoint, this will stop
receiving data after 2023-08-14.
* To continue getting this data, switch to the
- new [timeseries group protocol](/api/operations/radar-get-attacks-layer3-summary-by-protocol)
+ new [timeseries group protocol](/api/resources/radar/subresources/attacks/subresources/layer3/subresources/summary/methods/get/-by-protocol)
endpoint.
* Deprecated Layer 3
- [timeseries groups](/api/operations/radar-get-attacks-layer3-timeseries-groups)
+ [timeseries groups](/api/resources/radar/subresources/attacks/subresources/layer3/subresources/timeseries_groups/methods/get/)
endpoint, this will stop receiving data after 2023-08-14.
* To continue getting this data, switch to the
- new [timeseries group protocol](/api/operations/radar-get-attacks-layer3-timeseries-group-by-protocol)
+ new [timeseries group protocol](/api/resources/radar/subresources/attacks/subresources/layer3/subresources/timeseries_groups/methods/protocol/)
endpoint.
- publish_date: "2023-07-31"
title: Fix HTTP timeseries endpoint urls
description: |-
* Updated HTTP `timeseries` endpoints urls
- to `timeseries_groups` ([example](/api/operations/radar-get-http-timeseries-group-by-browser-families))
+ to `timeseries_groups` ([example](/api/resources/radar/subresources/http/methods/timeseries/-group-by-browser-families))
due to consistency. Old timeseries endpoints are still available, but will soon be removed.
- publish_date: "2023-07-20"
title: Add URL Scanner endpoints
description: |-
- * Added [urlscanner endpoints](/api/operations/urlscanner-search-scans). For more information, refer to [URL Scanner](/radar/investigate/url-scanner/).
+ * Added [urlscanner endpoints](/api/resources/url_scanner/subresources/scans/methods/list/). For more information, refer to [URL Scanner](/radar/investigate/url-scanner/).
- publish_date: "2023-06-20"
title: Add Quality endpoints
description: |-
- * Added [quality endpoints](/api/operations/radar-get-quality-index-summary).
+ * Added [quality endpoints](/api/resources/radar/subresources/quality/subresources/iqi/methods/summary/).
- publish_date: "2023-06-07"
title: Add BGP stats, pfx2as and moas endpoint
description: |-
- * Added BGP [stats](/api/operations/radar-get-bgp-routes-stats),
- [pfx2as](/api/operations/radar-get-bgp-pfx2as)
- and [moas](/api/operations/radar-get-bgp-pfx2as-moas) endpoints.
+ * Added BGP [stats](/api/resources/radar/subresources/bgp/subresources/routes/methods/stats/),
+ [pfx2as](/api/resources/radar/subresources/bgp/subresources/routes/methods/pfx2as/)
+ and [moas](/api/resources/radar/subresources/bgp/subresources/routes/methods/moas/) endpoints.
- publish_date: "2023-05-10"
title: Added `IOS` as an option for the OS parameter in all HTTP
description: |-
* Added `IOS` as an option for the OS parameter in all HTTP
- endpoints ([example](/api/operations/radar-get-http-summary-by-bot-class)).
+ endpoints ([example](/api/resources/radar/subresources/http/subresources/summary/methods/bot_class/)).
- publish_date: "2023-03-20"
title: Add AS112 and email endpoints
description: |-
- * Added [AS112 endpoints](/api/operations/radar-get-dns-as112-timeseries-by-dnssec).
- * Added [email endpoints](/api/operations/radar-get-email-security-summary-by-arc).
+ * Added [AS112 endpoints](/api/resources/radar/subresources/as112/subresources/summary/methods/dnssec/).
+ * Added [email endpoints](/api/resources/radar/subresources/email/subresources/security/subresources/summary/methods/arc/).
- publish_date: "2023-01-23"
title: Updated IPv6 calculation method
description: |-
@@ -107,11 +107,11 @@ entries:
description: |-
* Added new Layer 3 data source and related endpoints.
* Updated Layer 3
- [timeseries](/api/operations/radar-get-attacks-layer3-timeseries-by-bytes) endpoint
+ [timeseries](/api/resources/radar/subresources/attacks/subresources/layer3/methods/timeseries/) endpoint
to support fetching both current and new data sources. For retro-compatibility
reasons, fetching the new data source requires sending the parameter `metric=bytes` else the current data
source will be returned.
* Deprecated old Layer 3 endpoints
- [TimeseriesGroups](/api/operations/radar-get-attacks-layer3-timeseries-groups) and
- [Summary](/api/operations/radar-get-attacks-layer3-summary).
+ [TimeseriesGroups](/api/resources/radar/subresources/attacks/subresources/layer3/subresources/timeseries_groups/methods/get/) and
+ [Summary](/api/resources/radar/subresources/attacks/subresources/layer3/subresources/summary/methods/get/).
Users should upgrade to newer endpoints.
diff --git a/src/content/changelogs/ssl.yaml b/src/content/changelogs/ssl.yaml
index 2684fd1f5b8e842..b0e4c49dd2d0fb0 100644
--- a/src/content/changelogs/ssl.yaml
+++ b/src/content/changelogs/ssl.yaml
@@ -7,7 +7,7 @@ productAreaLink: /fundamentals/reference/changelog/performance/
entries:
- publish_date: "2024-10-18"
title: New cloudflare_branding flag allows hostnames with over 64 characters for all CAs
- description: To order certificates for hostnames longer than 64 characters, customers can now use the `cloudflare_branding` flag when ordering a certificate via [API](/api/operations/certificate-packs-order-advanced-certificate-manager-certificate-pack). Setting `cloudflare_branding` to `true` will cause `sni.cloudflaressl.com` to be used as the common name, while the long hostname is added as part of the subject alternative name (SAN).
+ description: To order certificates for hostnames longer than 64 characters, customers can now use the `cloudflare_branding` flag when ordering a certificate via [API](/api/resources/ssl/subresources/certificate_packs/methods/create/). Setting `cloudflare_branding` to `true` will cause `sni.cloudflaressl.com` to be used as the common name, while the long hostname is added as part of the subject alternative name (SAN).
- publish_date: "2024-09-19"
title: SSL.com available with ACM and SSL for SaaS
description: SSL.com is one of the [certificate authorities](/ssl/reference/certificate-authorities/) that Cloudflare partners with. SSL.com is now available as an option to customers with Advanced Certificate Manager (ACM) or SSL for SaaS. Consider our [reference documentation](/ssl/reference/certificate-authorities/#sslcom) for details.
diff --git a/src/content/changelogs/stream.yaml b/src/content/changelogs/stream.yaml
index 70553b86f9dcd3b..c928623852c9cc8 100644
--- a/src/content/changelogs/stream.yaml
+++ b/src/content/changelogs/stream.yaml
@@ -121,7 +121,7 @@ entries:
- publish_date: "2022-11-01"
title: Create an unlimited number of live inputs
description: |-
- Cloudflare Stream now has no limit on the number of [live inputs](/api/operations/stream-live-inputs-retrieve-a-live-input) you can create. Stream is designed to allow your end-users to go live — live inputs can be created quickly on-demand via a single API request for each of user of your platform or app.
+ Cloudflare Stream now has no limit on the number of [live inputs](/api/resources/stream/subresources/live_inputs/methods/get/) you can create. Stream is designed to allow your end-users to go live — live inputs can be created quickly on-demand via a single API request for each of user of your platform or app.
For more on creating and managing live inputs, get started with the [docs](/stream/stream-live/).
- publish_date: "2022-10-20"
@@ -174,7 +174,7 @@ entries:
title: Live inputs
description:
The Live Inputs API now supports optional pagination, search, and filter
- parameters. For more information, refer to the [Live Inputs API documentation](/api/operations/stream-live-inputs-list-live-inputs).
+ parameters. For more information, refer to the [Live Inputs API documentation](/api/resources/stream/subresources/live_inputs/methods/list/).
- publish_date: "2022-05-24"
title: Picture-in-Picture support
description:
diff --git a/src/content/changelogs/vectorize.yaml b/src/content/changelogs/vectorize.yaml
index ab74658cbaecb32..0552b4ce625f781 100644
--- a/src/content/changelogs/vectorize.yaml
+++ b/src/content/changelogs/vectorize.yaml
@@ -14,8 +14,8 @@ entries:
title: Improved query latency through REST API
description: |-
Vectorize now has a significantly improved query latency through REST API:
- * [Query vectors](/api/operations/vectorize-query-vector).
- * [Get vector by identifier](/api/operations/vectorize-get-vectors-by-id).
+ * [Query vectors](/api/resources/vectorize/subresources/indexes/methods/query/).
+ * [Get vector by identifier](/api/resources/vectorize/subresources/indexes/methods/get_by_ids/).
- publish_date: "2024-10-24"
title: Vectorize increased limits
diff --git a/src/content/changelogs/workers.yaml b/src/content/changelogs/workers.yaml
index ba9e7434719948e..aa9e8610c20fea1 100644
--- a/src/content/changelogs/workers.yaml
+++ b/src/content/changelogs/workers.yaml
@@ -67,7 +67,7 @@ entries:
- [Exceptions](/durable-objects/best-practices/error-handling) thrown from Durable Object internal operations and tunneled to the caller may now be populated with a `.retryable: true` property if the exception was likely due to a transient failure, or populated with an `.overloaded: true` property if the exception was due to [overload](/durable-objects/observability/troubleshooting/#durable-object-is-overloaded).
- publish_date: "2024-06-20"
description: |-
- - We now prompt for extra confirmation if attempting to rollback to a version of a Worker using the [Deployments API](/api/operations/worker-deployments-create-deployment) where the value of a secret is different than the currently deployed version. A `?force=true` query parameter can be specified to proceed with the rollback.
+ - We now prompt for extra confirmation if attempting to rollback to a version of a Worker using the [Deployments API](/api/resources/workers/subresources/scripts/subresources/deployments/methods/create/) where the value of a secret is different than the currently deployed version. A `?force=true` query parameter can be specified to proceed with the rollback.
- publish_date: "2024-06-19"
description: |-
- When using [`nodejs_compat` compatibility flag](/workers/runtime-apis/nodejs/), the `buffer` module now has an implementation of `isAscii()` and `isUtf8()` methods.
diff --git a/src/content/docs/ai-gateway/api-reference.mdx b/src/content/docs/ai-gateway/api-reference.mdx
index cd97c39297691bd..c098a154fac34f2 100644
--- a/src/content/docs/ai-gateway/api-reference.mdx
+++ b/src/content/docs/ai-gateway/api-reference.mdx
@@ -1,7 +1,7 @@
---
pcx_content_type: navigation
title: REST API reference
-external_link: /api/operations/aig-config-list-gateway
+external_link: /api/resources/ai_gateway/methods/list/
sidebar:
order: 8
diff --git a/src/content/docs/ai-gateway/configuration/caching.mdx b/src/content/docs/ai-gateway/configuration/caching.mdx
index 6d7a6851228400f..f894f7189904ec4 100644
--- a/src/content/docs/ai-gateway/configuration/caching.mdx
+++ b/src/content/docs/ai-gateway/configuration/caching.mdx
@@ -41,7 +41,7 @@ To set the default caching configuration using the API:
- `AI Gateway - Edit`
2. Get your [Account ID](/fundamentals/setup/find-account-and-zone-ids/).
-3. Using that API token and Account ID, send a [`POST` request](/api/operations/aig-config-create-gateway) to create a new Gateway and include a value for the `cache_ttl`.
+3. Using that API token and Account ID, send a [`POST` request](/api/resources/ai_gateway/methods/create/) to create a new Gateway and include a value for the `cache_ttl`.
diff --git a/src/content/docs/ai-gateway/configuration/rate-limiting.mdx b/src/content/docs/ai-gateway/configuration/rate-limiting.mdx
index d026ecf1b08819d..5a7724946b8b937 100644
--- a/src/content/docs/ai-gateway/configuration/rate-limiting.mdx
+++ b/src/content/docs/ai-gateway/configuration/rate-limiting.mdx
@@ -43,7 +43,7 @@ To set the default rate limiting configuration using the API:
- `AI Gateway - Edit`
2. Get your [Account ID](/fundamentals/setup/find-account-and-zone-ids/).
-3. Using that API token and Account ID, send a [`POST` request](/api/operations/aig-config-create-gateway) to create a new Gateway and include a value for the `rate_limiting_interval`, `rate_limiting_limit`, and `rate_limiting_technique`.
+3. Using that API token and Account ID, send a [`POST` request](/api/resources/ai_gateway/methods/create/) to create a new Gateway and include a value for the `rate_limiting_interval`, `rate_limiting_limit`, and `rate_limiting_technique`.
diff --git a/src/content/docs/ai-gateway/evaluations/add-human-feedback-api.mdx b/src/content/docs/ai-gateway/evaluations/add-human-feedback-api.mdx
index 7a36c96b6901e24..3a5dc89ca7c213d 100644
--- a/src/content/docs/ai-gateway/evaluations/add-human-feedback-api.mdx
+++ b/src/content/docs/ai-gateway/evaluations/add-human-feedback-api.mdx
@@ -17,7 +17,7 @@ If you prefer to add human feedback via the dashboard, refer to [Add Human Feedb
- `AI Gateway - Edit`
2. Get your [Account ID](/fundamentals/setup/find-account-and-zone-ids/).
-3. Using that API token and Account ID, send a [`POST` request](/api/operations/aig-config-create-gateway) to the Cloudflare API.
+3. Using that API token and Account ID, send a [`POST` request](/api/resources/ai_gateway/methods/create/) to the Cloudflare API.
## 2. Using the API Token
@@ -62,7 +62,7 @@ In the example below, the `cf-aig-log-id` is `01JADMCQQQBWH3NXZ5GCRN98DP`.
### Method 2: Retrieve the `cf-aig-log-id` via API (GET request)
-If you don't have the `cf-aig-log-id` in the response body or you need to access it after the fact, you can retrieve it by querying the logs using the [Cloudflare API](/api/operations/aig-config-list-gateway-logs).
+If you don't have the `cf-aig-log-id` in the response body or you need to access it after the fact, you can retrieve it by querying the logs using the [Cloudflare API](/api/resources/ai_gateway/subresources/logs/methods/list/).
The steps below outline how to do this.
diff --git a/src/content/docs/analytics/analytics-integrations/datadog.mdx b/src/content/docs/analytics/analytics-integrations/datadog.mdx
index 56b0ba83ebcdda6..9c1153ec52fcd74 100644
--- a/src/content/docs/analytics/analytics-integrations/datadog.mdx
+++ b/src/content/docs/analytics/analytics-integrations/datadog.mdx
@@ -13,7 +13,7 @@ This tutorial explains how to analyze Cloudflare metrics using the [Cloudflare I
Before viewing the Cloudflare dashboard in Datadog, note that this integration:
* Is available to all Cloudflare customer plans (Free, Pro, Business and Enterprise)
-* Is based on the [Cloudflare Analytics API](/api/operations/zone-analytics-\(-deprecated\)-get-dashboard)
+* Is based on the Cloudflare Analytics API
* Provides Cloudflare web traffic and DNS metrics only
* Does not feature data coming from request logs stored in Cloudflare Logs
diff --git a/src/content/docs/analytics/graphql-api/migration-guides/index.mdx b/src/content/docs/analytics/graphql-api/migration-guides/index.mdx
index 9e1479734e268d0..743eb170974a74d 100644
--- a/src/content/docs/analytics/graphql-api/migration-guides/index.mdx
+++ b/src/content/docs/analytics/graphql-api/migration-guides/index.mdx
@@ -12,7 +12,7 @@ If you are currently using the deprecated `httpRequests1mByColoGroups` or `httpR
## Zone Analytics migrations
-If you are currently using the [Zone Analytics API](/api/operations/zone-analytics-\(-deprecated\)-get-dashboard), the following guide will help you migrate your queries to the new GraphQL Analytics API:
+If you are currently using the Zone Analytics API, the following guide will help you migrate your queries to the new GraphQL Analytics API:
* [Zone Analytics to GraphQL Analytics](/analytics/graphql-api/migration-guides/zone-analytics/)
* [Zone Analytics Colos Endpoint to GraphQL Analytics](/analytics/graphql-api/migration-guides/zone-analytics-colos/)
diff --git a/src/content/docs/analytics/graphql-api/migration-guides/zone-analytics.mdx b/src/content/docs/analytics/graphql-api/migration-guides/zone-analytics.mdx
index 090309e74ff1642..73436a6782d15ea 100644
--- a/src/content/docs/analytics/graphql-api/migration-guides/zone-analytics.mdx
+++ b/src/content/docs/analytics/graphql-api/migration-guides/zone-analytics.mdx
@@ -8,7 +8,7 @@ sidebar:
import { Details } from "~/components"
-The [Zone Analytics API](/api/operations/zone-analytics-\(-deprecated\)-get-dashboard) allows you to get request data by zone. It offers optional `since` and `until` parameters to specify the request time period and a `continuous` parameter to indicate whether the time period should be moved backward to find a period with completely aggregated data.
+The Zone Analytics API allows you to get request data by zone. It offers optional `since` and `until` parameters to specify the request time period and a `continuous` parameter to indicate whether the time period should be moved backward to find a period with completely aggregated data.
For example, here is a sample curl call to get data for a two minute period:
diff --git a/src/content/docs/analytics/types-of-analytics.mdx b/src/content/docs/analytics/types-of-analytics.mdx
index 723065f45febe05..2682a129a26b585 100644
--- a/src/content/docs/analytics/types-of-analytics.mdx
+++ b/src/content/docs/analytics/types-of-analytics.mdx
@@ -59,4 +59,4 @@ Beyond the analytics provided for your properties, you can also access analytics
## GraphQL APIs
-If you would like to have more control over how you visualize the analytic and log information available on the Cloudflare dashboard, use the [GraphQL Analytics API](/analytics/graphql-api/) to build customized views. This API replaces and expands on the previous [Zone Analytics API](/api/operations/zone-analytics-\(-deprecated\)-get-dashboard).
+If you would like to have more control over how you visualize the analytic and log information available on the Cloudflare dashboard, use the [GraphQL Analytics API](/analytics/graphql-api/) to build customized views. This API replaces and expands on the previous Zone Analytics API.
diff --git a/src/content/docs/api-shield/get-started.mdx b/src/content/docs/api-shield/get-started.mdx
index 45e81dc140abeee..aebb682bcaa09ae 100644
--- a/src/content/docs/api-shield/get-started.mdx
+++ b/src/content/docs/api-shield/get-started.mdx
@@ -91,7 +91,7 @@ You can import the learned schema of an entire hostname using the [Cloudflare da
Learned schemas will always include the listed hostname in the servers section, all endpoints by host, method, and path, and detected path variables. They can also potentially include detected query parameters and their format. You can optionally include API Shield’s rate limit threshold recommendations.
-You can export your learned schemas in the [Cloudflare dashboard](/api-shield/management-and-monitoring/#export-a-schema) or via the [API](/api/operations/api-shield-endpoint-management-retrieve-operations-and-features-as-open-api-schemas).
+You can export your learned schemas in the [Cloudflare dashboard](/api-shield/management-and-monitoring/#export-a-schema) or via the [API](/api/resources/api_gateway/subresources/schemas/methods/list/).
## View and configure Sequence Analytics
diff --git a/src/content/docs/api-shield/management-and-monitoring/index.mdx b/src/content/docs/api-shield/management-and-monitoring/index.mdx
index 79a7123bd579f38..b044d7e4265d634 100644
--- a/src/content/docs/api-shield/management-and-monitoring/index.mdx
+++ b/src/content/docs/api-shield/management-and-monitoring/index.mdx
@@ -150,7 +150,7 @@ Customers viewing analytics have the ability to toggle detailed metrics view bet
## Using the Cloudflare API
-You can interact with Endpoint Management through the Cloudflare API. Refer to [Endpoint Management’s API documentation](/api/operations/api-shield-api-discovery-retrieve-discovered-operations-on-a-zone) for more information.
+You can interact with Endpoint Management through the Cloudflare API. Refer to [Endpoint Management’s API documentation](/api/resources/api_gateway/subresources/discovery/subresources/operations/methods/list/) for more information.
## Sensitive Data Detection
diff --git a/src/content/docs/api-shield/security/jwt-validation/configure.mdx b/src/content/docs/api-shield/security/jwt-validation/configure.mdx
index 9919acb8ce195e1..b388a63e142da81 100644
--- a/src/content/docs/api-shield/security/jwt-validation/configure.mdx
+++ b/src/content/docs/api-shield/security/jwt-validation/configure.mdx
@@ -170,7 +170,7 @@ If you only need JWT Validation on specific hostnames or subdomains of your apex
If you need to exclude endpoints from JWT validation that never have valid JWTs used with them (by design), such as a path and method used to establish a valid JWT in the first place, you must use the endpoint’s operation ID to exclude the endpoint in a selector.
-To find the operation ID, refer to [Endpoint Management](/api-shield/management-and-monitoring/) or use the [Cloudflare API](/api/operations/api-shield-endpoint-management-retrieve-information-about-all-operations-on-a-zone).
+To find the operation ID, refer to [Endpoint Management](/api-shield/management-and-monitoring/) or use the [Cloudflare API](/api/resources/api_gateway/subresources/operations/methods/list/).
## Define a security policy
diff --git a/src/content/docs/api-shield/security/jwt-validation/index.mdx b/src/content/docs/api-shield/security/jwt-validation/index.mdx
index b8cfbc00d16b7b2..b84c6daaac384cc 100644
--- a/src/content/docs/api-shield/security/jwt-validation/index.mdx
+++ b/src/content/docs/api-shield/security/jwt-validation/index.mdx
@@ -69,4 +69,4 @@ JWT Validation is available for all API Shield customers. Enterprise customers w
Currently, the following known limitations exist:
1. JWT Validation only operates on JWTs sent in client request headers or cookies. If your clients send in JWTs in a `POST` body, direct that feedback to your account team.
-2. JWT Validation only operates for endpoints (host, method, and path) added to Endpoint Management. You can add all of your endpoints to endpoint management through [API Discovery](/api-shield/management-and-monitoring/#add-endpoints-from-api-discovery), [Schema Validation](/api-shield/management-and-monitoring/#add-endpoints-from-schema-validation), [manually via the Cloudflare dashboard](/api-shield/management-and-monitoring/#add-endpoints-manually), or via the [API](/api/operations/api-shield-endpoint-management-add-operations-to-a-zone).
+2. JWT Validation only operates for endpoints (host, method, and path) added to Endpoint Management. You can add all of your endpoints to endpoint management through [API Discovery](/api-shield/management-and-monitoring/#add-endpoints-from-api-discovery), [Schema Validation](/api-shield/management-and-monitoring/#add-endpoints-from-schema-validation), [manually via the Cloudflare dashboard](/api-shield/management-and-monitoring/#add-endpoints-manually), or via the [API](/api/resources/api_gateway/subresources/operations/methods/create/).
diff --git a/src/content/docs/api-shield/security/sequence-mitigation/configure.mdx b/src/content/docs/api-shield/security/sequence-mitigation/configure.mdx
index 3e751e3856288a6..73ba3e2a51fc004 100644
--- a/src/content/docs/api-shield/security/sequence-mitigation/configure.mdx
+++ b/src/content/docs/api-shield/security/sequence-mitigation/configure.mdx
@@ -43,7 +43,7 @@ Otherwise, the request to endpoint `b704ab4d-5be0-46e0-9875-b2b3d1ab42f9` is blo
| `last_updated` | When this rule was last changed. | A date string | `2023-05-02T12:06:51.796286Z` |
| `created_at` | When this rule was created. | A date string | `2023-05-02T12:06:51.796286Z` |
-You can find an endpoint's operation ID by exporting the schema in [Endpoint Management](/api-shield/management-and-monitoring/#export-a-schema) or via the [API](/api/operations/api-shield-endpoint-management-retrieve-information-about-all-operations-on-a-zone).
+You can find an endpoint's operation ID by exporting the schema in [Endpoint Management](/api-shield/management-and-monitoring/#export-a-schema) or via the [API](/api/resources/api_gateway/subresources/operations/methods/list/).
### List sequence rules
diff --git a/src/content/docs/api-shield/security/volumetric-abuse-detection.mdx b/src/content/docs/api-shield/security/volumetric-abuse-detection.mdx
index a045665b40cbfb2..15755d15d71327c 100644
--- a/src/content/docs/api-shield/security/volumetric-abuse-detection.mdx
+++ b/src/content/docs/api-shield/security/volumetric-abuse-detection.mdx
@@ -67,7 +67,7 @@ To create rate limits:
## API
-[Rate limit recommendations are available via the API](/api/operations/api-shield-endpoint-management-retrieve-information-about-an-operation) if you would like to dynamically update rate limits over time.
+[Rate limit recommendations are available via the API](/api/resources/api_gateway/subresources/operations/methods/get/) if you would like to dynamically update rate limits over time.
## Limitations
diff --git a/src/content/docs/argo-smart-routing/get-started.mdx b/src/content/docs/argo-smart-routing/get-started.mdx
index 4058370e73b0345..312a4f81b0a917c 100644
--- a/src/content/docs/argo-smart-routing/get-started.mdx
+++ b/src/content/docs/argo-smart-routing/get-started.mdx
@@ -26,7 +26,7 @@ To enable [Argo Smart Routing](https://dash.cloudflare.com/?to=/:account/:zone/t
-To enable or disable Argo Smart Routing with the API, send a [`PATCH`](/api/operations/argo-smart-routing-patch-argo-smart-routing-setting) request with the `value` parameter set to your desired setting (`"on"` or `"off"`).
+To enable or disable Argo Smart Routing with the API, send a [`PATCH`](/api/resources/argo/subresources/smart_routing/methods/edit/) request with the `value` parameter set to your desired setting (`"on"` or `"off"`).
You will need to already have a [billing profile](/fundamentals/subscriptions-and-billing/create-billing-profile/) on your account to enable Argo Smart Routing.
diff --git a/src/content/docs/byoip/concepts/dynamic-advertisement/best-practices.mdx b/src/content/docs/byoip/concepts/dynamic-advertisement/best-practices.mdx
index 860df6b730b55ef..e819f0fdf8e66ce 100644
--- a/src/content/docs/byoip/concepts/dynamic-advertisement/best-practices.mdx
+++ b/src/content/docs/byoip/concepts/dynamic-advertisement/best-practices.mdx
@@ -14,7 +14,7 @@ To prevent issues and simplify the advertisement process during an attack scenar
- Assign appropriate user roles. Ensure that users assigned to manage the status of IP prefix advertisement have the **Administrator** or **Super Administrator** role in your Cloudflare account. For more information, refer to [Setting up Multi-user accounts on Cloudflare](/fundamentals/setup/manage-members/).
-- Get a list of the prefix IDs that you want to manage. Maintain a list of Cloudflare prefix IDs to simplify dynamic advertisement management and operations. You can [obtain prefix IDs](#obtain-prefix-ids) via the Cloudflare dashboard or use the [list prefixes](/api/operations/ip-address-management-prefixes-list-prefixes) operation in the Cloudflare API. Refer to these prefix IDs when managing prefix advertisement.
+- Get a list of the prefix IDs that you want to manage. Maintain a list of Cloudflare prefix IDs to simplify dynamic advertisement management and operations. You can [obtain prefix IDs](#obtain-prefix-ids) via the Cloudflare dashboard or use the [list prefixes](/api/resources/addressing/subresources/prefixes/methods/list/) operation in the Cloudflare API. Refer to these prefix IDs when managing prefix advertisement.
## Enable prefix advertisement
@@ -55,7 +55,7 @@ After saving your changes, it takes between two to seven minutes to enable adver
### Via the API
-To configure prefix advertisement with the Cloudflare API, use the [IP Address Management and Dynamic Advertisement](/api/operations/ip-address-management-dynamic-advertisement-get-advertisement-status) API.
+To configure prefix advertisement with the Cloudflare API, use the [IP Address Management and Dynamic Advertisement](/api/resources/addressing/subresources/prefixes/subresources/bgp/subresources/statuses/methods/get/) API.
Most dynamic advertisement operations require that you supply the Cloudflare ID for any prefix you want to access with the Cloudflare API. The following section outlines how to obtain prefix IDs.
@@ -70,6 +70,6 @@ Most dynamic advertisement operations require that you supply the Cloudflare ID
-To obtain prefix IDs using the API, refer to the [list prefixes](/api/operations/ip-address-management-prefixes-list-prefixes) operation in the Cloudflare API.
+To obtain prefix IDs using the API, refer to the [list prefixes](/api/resources/addressing/subresources/prefixes/methods/list/) operation in the Cloudflare API.
diff --git a/src/content/docs/byoip/concepts/prefix-delegations.mdx b/src/content/docs/byoip/concepts/prefix-delegations.mdx
index b721b44156c09d2..863d1809a7fc1f6 100644
--- a/src/content/docs/byoip/concepts/prefix-delegations.mdx
+++ b/src/content/docs/byoip/concepts/prefix-delegations.mdx
@@ -18,7 +18,7 @@ In this example, Account A is using BYOIP + CDN and Cloudflare for SaaS. Account
## API calls for prefix delegations
-API calls for delegations can be found at [Prefix Delegations](/api/operations/ip-address-management-prefix-delegation-list-prefix-delegations).
+API calls for delegations can be found at [Prefix Delegations](/api/resources/addressing/subresources/prefixes/subresources/delegations/methods/list/).
## Configure prefix delegations
diff --git a/src/content/docs/byoip/service-bindings/index.mdx b/src/content/docs/byoip/service-bindings/index.mdx
index 8bfa9b51577fe36..35a48aeb7d037e3 100644
--- a/src/content/docs/byoip/service-bindings/index.mdx
+++ b/src/content/docs/byoip/service-bindings/index.mdx
@@ -12,12 +12,12 @@ description: In IP address management, service binding refers to the association
Service bindings are mappings that control whether traffic destined for a given IP address is routed to [Magic Transit](/magic-transit/), the CDN pipeline [^1], or the Spectrum pipeline [^2].
:::note
-Service binding operations are currently only available via API. You can find all endpoints and their specifications in the [Cloudflare API documentation](/api/operations/ip-address-management-service-bindings-list-service-bindings).
+Service binding operations are currently only available via API. You can find all endpoints and their specifications in the [Cloudflare API documentation](/api/resources/addressing/subresources/prefixes/subresources/bgp/subresources/bindings/methods/list/).
:::
## Scope
-Customers using BYOIP with Magic Transit can leverage the [service binding API endpoints](/api/operations/ip-address-management-service-bindings-list-service-bindings) to selectively route traffic through the CDN [^1] or Spectrum [^2] pipelines on a per-IP address basis.
+Customers using BYOIP with Magic Transit can leverage the [service binding API endpoints](/api/resources/addressing/subresources/prefixes/subresources/bgp/subresources/bindings/methods/list/) to selectively route traffic through the CDN [^1] or Spectrum [^2] pipelines on a per-IP address basis.
You can upgrade individual IPs within a Magic Transit prefix to either a CDN IP or a Spectrum IP. For example, if you have `203.0.113.0/24`, you can upgrade `203.0.113.1` to CDN and `203.0.113.2` to Spectrum.
diff --git a/src/content/docs/byoip/service-bindings/magic-transit-with-cdn.mdx b/src/content/docs/byoip/service-bindings/magic-transit-with-cdn.mdx
index f37f4abf7d303c1..85c8248bec674fd 100644
--- a/src/content/docs/byoip/service-bindings/magic-transit-with-cdn.mdx
+++ b/src/content/docs/byoip/service-bindings/magic-transit-with-cdn.mdx
@@ -48,8 +48,8 @@ This guide assumes that the prefix is tied to a single Cloudflare account that h
## 1. Get account information
1. Log in to your Cloudflare account and get your [account ID](/fundamentals/setup/find-account-and-zone-ids/) and [API token](/fundamentals/api/get-started/create-token/). The token permissions should include `Account` - `IP Prefixes` - `Edit`.
-2. Make a `GET` request to the [List Services](/api/operations/ip-address-management-service-bindings-list-services) endpoint and take note of the `id` associated with the CDN service.
-3. Use the [List Prefixes](/api/operations/ip-address-management-prefixes-list-prefixes) endpoint and take note of the `id` associated with the prefix (`cidr`) you will configure.
+2. Make a `GET` request to the [List Services](/api/resources/addressing/subresources/services/methods/list/) endpoint and take note of the `id` associated with the CDN service.
+3. Use the [List Prefixes](/api/resources/addressing/subresources/prefixes/methods/list/) endpoint and take note of the `id` associated with the prefix (`cidr`) you will configure.
@@ -62,7 +62,7 @@ At this point, continuing the [example](#before-you-begin), you should have a ma
-4. To confirm you currently only have a Magic Transit service binding and that it spans across your entire prefix, make a `GET` request to the [List Service Bindings](/api/operations/ip-address-management-service-bindings-list-service-bindings) endpoint. Replace the `{prefix_id}` in the URI path by the actual prefix ID you got from the previous step.
+4. To confirm you currently only have a Magic Transit service binding and that it spans across your entire prefix, make a `GET` request to the [List Service Bindings](/api/resources/addressing/subresources/prefixes/subresources/bgp/subresources/bindings/methods/list/) endpoint. Replace the `{prefix_id}` in the URI path by the actual prefix ID you got from the previous step.
@@ -79,7 +79,7 @@ curl https://api.cloudflare.com/client/v4/accounts/{account_id}/addressing/prefi
Once a service binding is created (or deleted), it will take four to six hours to propagate across Cloudflare's global network. Services for the IP addresses in scope will likely be disrupted during this window.
:::
-1. Make a `POST` request to the [Create service binding](/api/operations/ip-address-management-service-bindings-create-service-binding) endpoint, indicating the IP address you want to bind to the CDN. Specify the **corresponding network mask** as needed.
+1. Make a `POST` request to the [Create service binding](/api/resources/addressing/subresources/prefixes/subresources/bgp/subresources/bindings/methods/create/) endpoint, indicating the IP address you want to bind to the CDN. Specify the **corresponding network mask** as needed.
@@ -119,7 +119,7 @@ In the response body, the initial provisioning state should be `provisioning`.
-You can periodically check the service binding status using the [List Service Bindings](/api/operations/ip-address-management-service-bindings-list-service-bindings) endpoint.
+You can periodically check the service binding status using the [List Service Bindings](/api/resources/addressing/subresources/prefixes/subresources/bgp/subresources/bindings/methods/list/) endpoint.
## 3. Create address maps
@@ -148,7 +148,7 @@ If you need to map only specific subdomains (and not all proxied DNS records) to
-Use the [Create Address Map](/api/operations/ip-address-management-address-maps-create-address-map) endpoint.
+Use the [Create Address Map](/api/resources/addressing/subresources/address_maps/methods/create/) endpoint.
Make sure you have the correct Key/Token and permissions.
@@ -173,7 +173,7 @@ To create a DNS record in the dashboard:
-To create records with the API, use a [POST request](/api/operations/dns-records-for-a-zone-create-dns-record). For field definitions, select a record type under the request body specification.
+To create records with the API, use a [POST request](/api/resources/dns/subresources/records/methods/create/). For field definitions, select a record type under the request body specification.
diff --git a/src/content/docs/cache/advanced-configuration/cache-reserve.mdx b/src/content/docs/cache/advanced-configuration/cache-reserve.mdx
index f775889a08daa7c..462912cbea0aa37 100644
--- a/src/content/docs/cache/advanced-configuration/cache-reserve.mdx
+++ b/src/content/docs/cache/advanced-configuration/cache-reserve.mdx
@@ -29,7 +29,7 @@ A paid Cache Reserve Plan is required for the enablement.
-Refer to the [Change Cache Reserve setting API](/api/operations/zone-cache-settings-change-cache-reserve-setting) for more information.
+Refer to the [Change Cache Reserve setting API](/api/resources/cache/subresources/cache_reserve/methods/edit/) for more information.
@@ -199,7 +199,7 @@ Be aware that the deletion may take up to 24 hours to complete.
-To delete Cache Reserve data via API use the following example requests. For more information, refer to the [API documentation](/api/operations/zone-cache-settings-start-cache-reserve-clear).
+To delete Cache Reserve data via API use the following example requests. For more information, refer to the [API documentation](/api/resources/cache/subresources/cache_reserve/methods/clear/).
```bash title="Request 1: Get Cache Reserve status"
curl https://api.cloudflare.com/client/v4/zones/{zone_id}/cache/cache_reserve \
diff --git a/src/content/docs/cache/cache-security/cors.mdx b/src/content/docs/cache/cache-security/cors.mdx
index 1b33f0ed31b43ea..1cddf76e7806347 100644
--- a/src/content/docs/cache/cache-security/cors.mdx
+++ b/src/content/docs/cache/cache-security/cors.mdx
@@ -18,5 +18,5 @@ The `Access-Control-Allow-Origin` header allows servers to specify rules for sha
If you add or change CORS configuration at your origin web server, purging the Cloudflare cache by URL does not update the CORS headers. Force Cloudflare to retrieve the new CORS headers via one of the following options:
* Change the filename or URL to bypass cache to instruct Cloudflare to retrieve the latest CORS headers.
-* Use the [single-file purge API](/api/operations/zone-purge#purge-cached-content-by-url) to specify the appropriate CORS headers along with the purge request.
+* Use the [single-file purge API](/api/resources/cache/methods/purge/#purge-cached-content-by-url) to specify the appropriate CORS headers along with the purge request.
* Update the resource’s last-modified time at your origin web server. Then, complete a [full purge](/cache/how-to/purge-cache/purge-everything/) to retrieve the latest version of your assets including updated CORS headers.
diff --git a/src/content/docs/cache/how-to/cache-rules/create-api.mdx b/src/content/docs/cache/how-to/cache-rules/create-api.mdx
index e1b5e8e748e9b39..cf022328cbf11c8 100644
--- a/src/content/docs/cache/how-to/cache-rules/create-api.mdx
+++ b/src/content/docs/cache/how-to/cache-rules/create-api.mdx
@@ -24,12 +24,12 @@ When creating a cache rule via API, make sure you:
## Procedure
-1. Use the [List zone rulesets](/api/operations/listZoneRulesets) method to obtain the list of rules already present in the `http_request_cache_settings` phase entry point ruleset.
-2. If the phase ruleset does not exist, create it using the [Create a zone ruleset](/api/operations/createZoneRuleset) operation. In the new ruleset properties, set the following values:
+1. Use the [List zone rulesets](/api/resources/rulesets/methods/list/) method to obtain the list of rules already present in the `http_request_cache_settings` phase entry point ruleset.
+2. If the phase ruleset does not exist, create it using the [Create a zone ruleset](/api/resources/rulesets/methods/create/) operation. In the new ruleset properties, set the following values:
* kind: `zone`
* phase: `http_request_cache_settings`
-3. Use the [Update a zone ruleset](/api/operations/updateZoneRuleset) operation to add a cache rule to the list of ruleset rules. Alternatively, include the rule in the [Create a zone ruleset](/api/operations/createZoneRuleset) request mentioned in the previous step.
-4. (Optional) To update an existing cache rule, use the [Update a zone ruleset rule](/api/operations/updateZoneRulesetRule) operation. For an example, refer to the section below.
+3. Use the [Update a zone ruleset](/api/resources/rulesets/methods/update/) operation to add a cache rule to the list of ruleset rules. Alternatively, include the rule in the [Create a zone ruleset](/api/resources/rulesets/methods/create/) request mentioned in the previous step.
+4. (Optional) To update an existing cache rule, use the [Update a zone ruleset rule](/api/resources/rulesets/methods/update/) operation. For an example, refer to the section below.
## Example requests
diff --git a/src/content/docs/cache/how-to/edge-browser-cache-ttl/set-browser-ttl.mdx b/src/content/docs/cache/how-to/edge-browser-cache-ttl/set-browser-ttl.mdx
index 022b083d0220530..7de3391d9efb346 100644
--- a/src/content/docs/cache/how-to/edge-browser-cache-ttl/set-browser-ttl.mdx
+++ b/src/content/docs/cache/how-to/edge-browser-cache-ttl/set-browser-ttl.mdx
@@ -19,7 +19,7 @@ Nevertheless, the value you set via Cache Rule will be ignored if `Cache-Control
## Set Browser Cache TTL
-The Cloudflare UI and [API](/api/operations/zone-settings-edit-single-setting) both prohibit setting Browser Cache TTL to 0 for non-Enterprise domains.
+The Cloudflare UI and [API](/api/resources/zones/subresources/settings/methods/edit/) both prohibit setting Browser Cache TTL to 0 for non-Enterprise domains.
:::note[Note]
diff --git a/src/content/docs/cache/how-to/purge-cache/purge-by-hostname.mdx b/src/content/docs/cache/how-to/purge-cache/purge-by-hostname.mdx
index f278c2c5bd9b7fc..6033667249f0e1a 100644
--- a/src/content/docs/cache/how-to/purge-cache/purge-by-hostname.mdx
+++ b/src/content/docs/cache/how-to/purge-cache/purge-by-hostname.mdx
@@ -22,7 +22,7 @@ Purging by hostname means that all assets at URLs with a host that matches one o
:::note[API]
-You can purge hostnames via the Cloudflare API. For more information, refer to the [API documentation](/api/operations/zone-purge). You can use up to 30 hostnames per API call and make up to 30,000 purge API calls in a 24-hour period.
+You can purge hostnames via the Cloudflare API. For more information, refer to the [API documentation](/api/resources/cache/methods/purge/). You can use up to 30 hostnames per API call and make up to 30,000 purge API calls in a 24-hour period.
:::
diff --git a/src/content/docs/cache/how-to/purge-cache/purge-by-single-file.mdx b/src/content/docs/cache/how-to/purge-cache/purge-by-single-file.mdx
index 8cf8f3a2093690f..846e5fa326deaf8 100644
--- a/src/content/docs/cache/how-to/purge-cache/purge-by-single-file.mdx
+++ b/src/content/docs/cache/how-to/purge-cache/purge-by-single-file.mdx
@@ -22,7 +22,7 @@ A single-file purge performed through your Cloudflare dashboard does not clear o
* `X-Rewrite-URL`
* `Forwarded`
-You can purge objects with these characteristics using an API call to ([purge files by URL](/api/operations/zone-purge#purge-cached-content-by-url)). In the data/header section of the API call, you must include all headers and cache keys contained in the cached resource, along with their matching values.
+You can purge objects with these characteristics using an API call to ([purge files by URL](/api/resources/cache/methods/purge/#purge-cached-content-by-url)). In the data/header section of the API call, you must include all headers and cache keys contained in the cached resource, along with their matching values.
:::caution[Warning]
diff --git a/src/content/docs/cache/how-to/purge-cache/purge-by-tags.mdx b/src/content/docs/cache/how-to/purge-cache/purge-by-tags.mdx
index de0be1ae83b88a1..96a17365440ffba 100644
--- a/src/content/docs/cache/how-to/purge-cache/purge-by-tags.mdx
+++ b/src/content/docs/cache/how-to/purge-cache/purge-by-tags.mdx
@@ -13,7 +13,7 @@ Cache-tag purging makes multi-file purging easier because you can instantly bulk
1. Add tags to the `Cache-Tag` HTTP response header from your origin web server for your web content, such as pages, static assets, etc.
2. [Ensure your web traffic is proxied](/dns/manage-dns-records/reference/proxied-dns-records/) through Cloudflare.
3. Cloudflare associates the tags in the `Cache-Tag` HTTP header with the content being cached.
-4. Use specific cache-tags to instantly purge your Cloudflare CDN cache of all content containing that cache-tag from your dashboard or [using our API](/api/operations/zone-purge).
+4. Use specific cache-tags to instantly purge your Cloudflare CDN cache of all content containing that cache-tag from your dashboard or [using our API](/api/resources/cache/methods/purge/).
5. Cloudflare forces a [cache MISS](/cache/concepts/cache-responses/#miss) on content with the purged cache-tag.
:::caution[Warning]
@@ -56,7 +56,7 @@ When your content reaches our edge network, Cloudflare:
:::note[API]
-You can purge using cache-tags via the Cloudflare API. For more information, refer to the [API documentation](/api/operations/zone-purge). You can purge up to 30 cache-tags per API call and up to 250,000 cache-tags per a 24-hour period.
+You can purge using cache-tags via the Cloudflare API. For more information, refer to the [API documentation](/api/resources/cache/methods/purge/). You can purge up to 30 cache-tags per API call and up to 250,000 cache-tags per a 24-hour period.
:::
diff --git a/src/content/docs/cache/how-to/purge-cache/purge-cache-key.mdx b/src/content/docs/cache/how-to/purge-cache/purge-cache-key.mdx
index 5db7b46ab196b2b..e618c9b6de08620 100644
--- a/src/content/docs/cache/how-to/purge-cache/purge-cache-key.mdx
+++ b/src/content/docs/cache/how-to/purge-cache/purge-cache-key.mdx
@@ -6,11 +6,11 @@ sidebar:
---
-Instantly purge resources that use Cache Keys via the [Cloudflare API](/api/operations/zone-purge). If you use [Cloudflare's Purge by URL](/api/operations/zone-purge#purge-cached-content-by-url), include the headers and query strings that are in your custom Cache Key.
+Instantly purge resources that use Cache Keys via the [Cloudflare API](/api/resources/cache/methods/purge/). If you use [Cloudflare's Purge by URL](/api/resources/cache/methods/purge/#purge-cached-content-by-url), include the headers and query strings that are in your custom Cache Key.
Currently, it is not possible to purge a URL stored through Cache API that uses a custom cache key set by a Worker. Instead, use a [custom key created by Cache Rules](/cache/how-to/cache-rules/settings/#cache-key). Alternatively, purge your assets using purge everything, purge by tag, purge by host or purge by prefix.
-To instantly purge by `device_type`, `geo`, or `lang` use `CF-Device-Type`, `CF-IPCountry` or `accept-language`, respectively. [Purge by Tag / Host](/api/operations/zone-purge#purge-cached-content-by-tag-host-or-prefix) and [Purge Everything](/api/operations/zone-purge#purge-all-cached-content) are not impacted by the use of custom Cache Keys.
+To instantly purge by `device_type`, `geo`, or `lang` use `CF-Device-Type`, `CF-IPCountry` or `accept-language`, respectively. [Purge by Tag / Host](/api/resources/cache/methods/purge/#purge-cached-content-by-tag-host-or-prefix) and [Purge Everything](/api/resources/cache/methods/purge/#purge-all-cached-content) are not impacted by the use of custom Cache Keys.
## Purge by device type
diff --git a/src/content/docs/cache/how-to/purge-cache/purge_by_prefix.mdx b/src/content/docs/cache/how-to/purge-cache/purge_by_prefix.mdx
index f495d6c8e9e4155..e736aa8270cb08e 100644
--- a/src/content/docs/cache/how-to/purge-cache/purge_by_prefix.mdx
+++ b/src/content/docs/cache/how-to/purge-cache/purge_by_prefix.mdx
@@ -33,7 +33,7 @@ Purging by prefix is useful in different scenarios, such as:
:::note[API]
-You can purge prefixes via the Cloudflare API. For more information, refer to the [API documentation](/api/operations/zone-purge). You can use up to 30 prefixes per API call and make up to 30,000 purge API calls in a 24-hour period.
+You can purge prefixes via the Cloudflare API. For more information, refer to the [API documentation](/api/resources/cache/methods/purge/). You can use up to 30 prefixes per API call and make up to 30,000 purge API calls in a 24-hour period.
:::
@@ -59,7 +59,7 @@ There are several limitations regarding purge by prefix:
* Path separators are limited to 31 for a prefix `(example.com/a/b/c/d/e/f/g/h/i/j/k/l/m…)`.
* Purge requests are limited to 30 prefixes per request.
-* [Purge rate-limits apply](/api/operations/zone-purge).
+* [Purge rate-limits apply](/api/resources/cache/methods/purge/).
* URI query strings & fragments cannot purge by prefix:
* `www.example.com/foo?a=b` (query string)
* `www.example.com/foo#bar` (fragment)
diff --git a/src/content/docs/cache/how-to/tiered-cache.mdx b/src/content/docs/cache/how-to/tiered-cache.mdx
index 56f7ebb19d214c0..7d4b2a9099931cb 100644
--- a/src/content/docs/cache/how-to/tiered-cache.mdx
+++ b/src/content/docs/cache/how-to/tiered-cache.mdx
@@ -114,7 +114,7 @@ https://api.cloudflare.com/client/v4/zones/{zone_id}/cache/regional_tiered_cache
-For more API examples and configuration options for Tiered Cache, refer to the [API documentation](/api/operations/tiered-caching-get-tiered-caching-setting).
+For more API examples and configuration options for Tiered Cache, refer to the [API documentation](/api/resources/argo/subresources/tiered_caching/methods/get/).
:::note
diff --git a/src/content/docs/calls/get-started.mdx b/src/content/docs/calls/get-started.mdx
index 7dc7a96ab0d4819..7bdf51b95925e98 100644
--- a/src/content/docs/calls/get-started.mdx
+++ b/src/content/docs/calls/get-started.mdx
@@ -17,7 +17,7 @@ You must first [create a Cloudflare account](/fundamentals/setup/account/create-
## Create your first app
Every Calls App is a separate environment, so you can make one for development, staging and production versions for your product.
-Either using [Dashboard](https://dash.cloudflare.com/?to=/:account/calls), or the [API](/api/operations/calls-apps-create-a-new-app) create a Calls App. When you create a Calls App, you will get:
+Either using [Dashboard](https://dash.cloudflare.com/?to=/:account/calls), or the [API](/api/resources/calls/subresources/sfu/methods/create/) create a Calls App. When you create a Calls App, you will get:
* App ID
* App Secret
diff --git a/src/content/docs/calls/turn/generate-credentials.mdx b/src/content/docs/calls/turn/generate-credentials.mdx
index 5f902d2f561c73d..b2ff149d21b9e8a 100644
--- a/src/content/docs/calls/turn/generate-credentials.mdx
+++ b/src/content/docs/calls/turn/generate-credentials.mdx
@@ -10,7 +10,7 @@ Cloudflare will issue TURN keys, but these keys cannot be used as credentials wi
## Create a TURN key
-To create a TURN credential, you first need to create a TURN key using [Dashboard](https://dash.cloudflare.com/?to=/:account/calls), or the [API](/api/operations/calls-turn-key-create).
+To create a TURN credential, you first need to create a TURN key using [Dashboard](https://dash.cloudflare.com/?to=/:account/calls), or the [API](/api/resources/calls/subresources/turn/methods/create/).
You should keep your TURN key on the server side (don't share it with the browser/app). A TURN key is a long-term secret that allows you to generate unlimited, shorter lived TURN credentials for TURN clients.
diff --git a/src/content/docs/china-network/reference/infrastructure.mdx b/src/content/docs/china-network/reference/infrastructure.mdx
index fce174466aa3a73..e750a4df4b93562 100644
--- a/src/content/docs/china-network/reference/infrastructure.mdx
+++ b/src/content/docs/china-network/reference/infrastructure.mdx
@@ -14,7 +14,7 @@ For up-to-date information, refer to the [Cloudflare China Network](https://www.
Cloudflare publishes a list of IP addresses for JD Cloud data centers, used by Cloudflare when connecting to the origin networks of customers to retrieve assets. These addresses are not the same IP addresses returned to website visitors as part of DNS resolution.
-You can obtain the list of JD Cloud data center IP addresses via Cloudflare API. Use the [Cloudflare/JD Cloud IP Details](/api/operations/cloudflare-i-ps-cloudflare-ip-details) operation with the `networks=jdcloud` query string parameter:
+You can obtain the list of JD Cloud data center IP addresses via Cloudflare API. Use the [Cloudflare/JD Cloud IP Details](/api/resources/ips/methods/list/) operation with the `networks=jdcloud` query string parameter:
```sh title="Example request"
$ curl https://api.cloudflare.com/client/v4/ips?networks=jdcloud
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/api-reference.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/api-reference.mdx
index 6e80ab045ec0a04..8e27512affc5b99 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/api-reference.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/api-reference.mdx
@@ -1,7 +1,7 @@
---
pcx_content_type: navigation
title: API reference
-external_link: /api/operations/custom-hostname-for-a-zone-list-custom-hostnames
+external_link: /api/resources/custom_hostnames/methods/list/
sidebar:
order: 13
---
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/create-custom-hostnames.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/create-custom-hostnames.mdx
index a9e64b763786ee9..423c53f97b798cf 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/create-custom-hostnames.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/create-custom-hostnames.mdx
@@ -32,7 +32,7 @@ To create a custom hostname:
## Hostnames over 64 characters
-The Common Name (CN) restriction establishes a limit of 64 characters ([RFC 5280](https://www.rfc-editor.org/rfc/rfc5280.html)). If you have a hostname that exceeds this length, you can set `cloudflare_branding` to `true` when creating your custom hostnames [via API](/api/operations/custom-hostname-for-a-zone-create-custom-hostname).
+The Common Name (CN) restriction establishes a limit of 64 characters ([RFC 5280](https://www.rfc-editor.org/rfc/rfc5280.html)). If you have a hostname that exceeds this length, you can set `cloudflare_branding` to `true` when creating your custom hostnames [via API](/api/resources/custom_hostnames/methods/create/).
```txt
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/custom-metadata.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/custom-metadata.mdx
index 9765e6892f837f1..842a4efdbe41c09 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/custom-metadata.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/custom-metadata.mdx
@@ -30,7 +30,7 @@ Please speak with your Solutions Engineer to discuss additional logic and requir
## Submitting custom metadata
-You may add custom metadata to Cloudflare via the Custom Hostnames API. This data can be added via a [`PATCH` request](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname) to the specific hostname ID to set metadata for that hostname, for example:
+You may add custom metadata to Cloudflare via the Custom Hostnames API. This data can be added via a [`PATCH` request](/api/resources/custom_hostnames/methods/edit/) to the specific hostname ID to set metadata for that hostname, for example:
```bash
curl --request PATCH \
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/pre-validation.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/pre-validation.mdx
index c986012c927b75c..9b9bf44596e7f67 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/pre-validation.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/pre-validation.mdx
@@ -35,7 +35,7 @@ If your customer cannot update their authoritative DNS, you could also use [HTTP
To set up `TXT` validation:
-1. When you [create a custom hostname](/api/operations/custom-hostname-for-a-zone-create-custom-hostname), save the `ownership_verification` information.
+1. When you [create a custom hostname](/api/resources/custom_hostnames/methods/create/), save the `ownership_verification` information.
```json null {11-12}
{
@@ -73,7 +73,7 @@ When you [create a custom hostname](/cloudflare-for-platforms/cloudflare-for-saa
To get and use the `ownership_verification` record:
-1. Make an API call to [create a Custom Hostname](/api/operations/custom-hostname-for-a-zone-create-custom-hostname).
+1. Make an API call to [create a Custom Hostname](/api/resources/custom_hostnames/methods/create/).
2. In the response, copy the `http_url` and `http_body` from the `ownership_verification_http` object:
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/realtime-validation.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/realtime-validation.mdx
index df9d0ac76c3b9dc..630e6eae32b28b2 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/realtime-validation.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/realtime-validation.mdx
@@ -19,7 +19,7 @@ Real-time validation methods put less burden on your customers because it does n
However, it may cause some downtime since Cloudflare takes a few seconds to iterate over DNS records. This downtime also can increase - due to the increasing [validation backoff schedule](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/backoff-schedule/) - if your customer takes additional time to add their DNS routing record.
-To minimize this downtime, you can continually send no-change [`PATCH` requests](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname) for the specific custom hostname until it validates (which resets the validation backoff schedule).
+To minimize this downtime, you can continually send no-change [`PATCH` requests](/api/resources/custom_hostnames/methods/edit/) for the specific custom hostname until it validates (which resets the validation backoff schedule).
To avoid any chance of downtime, use a [pre-validation method](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/pre-validation/)
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/remove-custom-hostnames.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/remove-custom-hostnames.mdx
index 35a621c3169ad35..3da0af859e622fa 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/remove-custom-hostnames.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/remove-custom-hostnames.mdx
@@ -34,7 +34,7 @@ This is especially important if your end customers are using Cloudflare because
-To delete a custom hostname and any issued certificates using the API, send a [`DELETE` request]().
+To delete a custom hostname and any issued certificates using the API, send a [`DELETE` request](/api/resources/custom_hostnames/methods/delete/).
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/performance/early-hints-for-saas.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/performance/early-hints-for-saas.mdx
index e861d05f43e83e4..25b84dec7080ae1 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/performance/early-hints-for-saas.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/performance/early-hints-for-saas.mdx
@@ -22,7 +22,7 @@ Before you can employ Early Hints for SaaS, you need to create a custom hostname
2. Locate your Authentication Key by selecting **My Profile** > **API tokens** > **Global API Key**.
-3. If you are [creating a new custom hostname](/api/operations/custom-hostname-for-a-zone-create-custom-hostname), make an API call such as the example below, specifying `"early_hints": "on"`:
+3. If you are [creating a new custom hostname](/api/resources/custom_hostnames/methods/create/), make an API call such as the example below, specifying `"early_hints": "on"`:
```bash
curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/custom_hostnames" \
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/reference/troubleshooting.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/reference/troubleshooting.mdx
index b0bc1b18702e6b8..b1733cfdc90891f 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/reference/troubleshooting.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/reference/troubleshooting.mdx
@@ -49,7 +49,7 @@ If you encounter other 1XXX errors, refer to [Troubleshooting Cloudflare 1XXX Er
## Custom hostname in Moved status
-To move a custom hostname back to an Active status, send a [PATCH request](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname) to restart the hostname validation. A Custom Hostname in a Moved status is deleted after 7 days.
+To move a custom hostname back to an Active status, send a [PATCH request](/api/resources/custom_hostnames/methods/edit/) to restart the hostname validation. A Custom Hostname in a Moved status is deleted after 7 days.
In some circumstances, custom hostnames can also enter a **Moved** state if your customer changes their DNS records pointing to your SaaS service. For more details, refer to [Remove custom hostnames](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/remove-custom-hostnames/).
@@ -81,7 +81,7 @@ As Let's Encrypt - one of the [certificate authorities (CAs)](/ssl/reference/cer
Consider the following solutions:
-- Use the [Edit Custom Hostname](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname) endpoint to set the `certificate_authority` parameter to an empty string (`""`): this sets the custom hostname certificate to "default CA", leaving the choice up to Cloudflare. Cloudflare will always attempt to issue the certificate from a more compatible CA, such as [Google Trust Services](/ssl/reference/certificate-authorities/#google-trust-services), and will only fall back to using Let’s Encrypt if there is a [CAA record](/ssl/edge-certificates/caa-records/) in place that blocks Google from issuing a certificate.
+- Use the [Edit Custom Hostname](/api/resources/custom_hostnames/methods/edit/) endpoint to set the `certificate_authority` parameter to an empty string (`""`): this sets the custom hostname certificate to "default CA", leaving the choice up to Cloudflare. Cloudflare will always attempt to issue the certificate from a more compatible CA, such as [Google Trust Services](/ssl/reference/certificate-authorities/#google-trust-services), and will only fall back to using Let’s Encrypt if there is a [CAA record](/ssl/edge-certificates/caa-records/) in place that blocks Google from issuing a certificate.
@@ -103,7 +103,7 @@ Consider the following solutions:
-- Use the [Edit Custom Hostname](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname) endpoint to set the `certificate_authority` parameter to `google`: this sets Google Trust Services as the CA for your custom hostnames.
+- Use the [Edit Custom Hostname](/api/resources/custom_hostnames/methods/edit/) endpoint to set the `certificate_authority` parameter to `google`: this sets Google Trust Services as the CA for your custom hostnames.
- If you are using a custom certificate for your custom hostname, refer to the [custom certificates troubleshooting](/ssl/edge-certificates/custom-certificates/troubleshooting/#lets-encrypt-chain-update).
## Custom hostname fails to verify because the zone is held
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/reference/versioning.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/reference/versioning.mdx
index f3364e80c877297..86b9f8858f43438 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/reference/versioning.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/reference/versioning.mdx
@@ -27,11 +27,11 @@ Using a [TXT](#dns-txt-record) or [HTTP](#http-token) validation method helps yo
#### DNS TXT Record
-When creating a Custom Hostname with the TXT method through the [API](/api/operations/custom-hostname-for-a-zone-create-custom-hostname), a TXT ownership\_verification record is provided for your customer to add to their DNS for the ownership validation check. When the TXT record is added, the Custom Hostname will be marked as **Active** in the Cloudflare SSL/TLS app under the Custom Hostnames tab.
+When creating a Custom Hostname with the TXT method through the [API](/api/resources/custom_hostnames/methods/create/), a TXT ownership\_verification record is provided for your customer to add to their DNS for the ownership validation check. When the TXT record is added, the Custom Hostname will be marked as **Active** in the Cloudflare SSL/TLS app under the Custom Hostnames tab.
#### HTTP Token
-When creating a Custom Hostname with the HTTP through the [API](/api/operations/custom-hostname-for-a-zone-create-custom-hostname), an HTTP ownership\_verification token is provided. HTTP verification is used mainly by organizations with a large deployed base of custom domains with HTTPS support. Serving the HTTP token from your origin web server allows hostname verification before proxying domain traffic through Cloudflare.
+When creating a Custom Hostname with the HTTP through the [API](/api/resources/custom_hostnames/methods/create/), an HTTP ownership\_verification token is provided. HTTP verification is used mainly by organizations with a large deployed base of custom domains with HTTPS support. Serving the HTTP token from your origin web server allows hostname verification before proxying domain traffic through Cloudflare.
Cloudflare sends GET requests to the http\_url using `User-Agent: Cloudflare Custom Hostname Verification`.
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/certificate-signing-requests.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/certificate-signing-requests.mdx
index 22ed60af7bcd10a..719850cd8b81564 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/certificate-signing-requests.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/certificate-signing-requests.mdx
@@ -119,7 +119,7 @@ EOF
))
```
-With the request body built, [create the custom hostname](/api/operations/custom-hostname-for-a-zone-create-custom-hostname) with the supplied custom certificate. If you intend to use the certificate with multiple hostnames, make multiple API calls replacing the `hostname` field.
+With the request body built, [create the custom hostname](/api/resources/custom_hostnames/methods/create/) with the supplied custom certificate. If you intend to use the certificate with multiple hostnames, make multiple API calls replacing the `hostname` field.
***
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/uploading-certificates.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/uploading-certificates.mdx
index 470fb838440b18b..47c6174f7ef44e0 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/uploading-certificates.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/uploading-certificates.mdx
@@ -54,7 +54,7 @@ EOF
#### 2. Upload your certificate and key
-Use a [POST request](/api/operations/custom-hostname-for-a-zone-create-custom-hostname) to upload your certificate and key.
+Use a [POST request](/api/resources/custom_hostnames/methods/create/) to upload your certificate and key.
The serial number returned is unique to the issuer, but not globally unique. Additionally, it is returned as a string, not an integer.
@@ -64,4 +64,4 @@ The serial number returned is unique to the issuer, but not globally unique. Add
If you want to switch from maintaining a custom certificate to using one issued by Cloudflare, you can migrate that certificate with zero downtime.
-Send a [PATCH request](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname) to your custom hostname with a value for the DCV `method`. As soon as the [certificate is validated](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/) and the [hostname is validated](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/), Cloudflare will remove the old custom certificate and begin serving the new one.
+Send a [PATCH request](/api/resources/custom_hostnames/methods/edit/) to your custom hostname with a value for the DCV `method`. As soon as the [certificate is validated](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/) and the [hostname is validated](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/), Cloudflare will remove the old custom certificate and begin serving the new one.
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/enforce-mtls.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/enforce-mtls.mdx
index 196bc17799e9022..71f7d9ac0ff4576 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/enforce-mtls.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/enforce-mtls.mdx
@@ -51,7 +51,7 @@ For security and regulatory reasons, you may want to only allow connections from
-Refer to [Edit zone setting](/api/operations/zone-settings-edit-single-setting) and use `ciphers` as the setting name in the URI path.
+Refer to [Edit zone setting](/api/resources/zones/subresources/settings/methods/edit/) and use `ciphers` as the setting name in the URI path.
@@ -59,7 +59,7 @@ Refer to [Edit zone setting](/api/operations/zone-settings-edit-single-setting)
-Refer to [SSL properties of a custom hostname](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname).
+Refer to [SSL properties of a custom hostname](/api/resources/custom_hostnames/methods/edit/).
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/cname.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/cname.mdx
index 62f894a6e6b352f..36f13168372b8d2 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/cname.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/cname.mdx
@@ -21,7 +21,7 @@ With the [upcoming change](/ssl/reference/migration-guides/digicert-update/custo
:::
-Since this method is only available using the API, you need to make a [POST request](/api/operations/custom-hostname-for-a-zone-create-custom-hostname) and set a `"method":"cname"` parameter.
+Since this method is only available using the API, you need to make a [POST request](/api/resources/custom_hostnames/methods/create/) and set a `"method":"cname"` parameter.
Within the `ssl` object in the response, refer to the values present in the `validation_records` array. Each record will contain a property for `cname` and `cname_target` (you can also access these values in the dashboard by clicking that specific hostname certificate). Provide these values to your customer so they can add a CNAME record at their authoritative DNS provider.
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/email.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/email.mdx
index 7cb3dcba640a027..1cedaff5d7de8be 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/email.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/email.mdx
@@ -23,7 +23,7 @@ With the [change](/ssl/reference/migration-guides/digicert-update/custom-hostnam
-* [**API**](/api/operations/custom-hostname-for-a-zone-custom-hostname-details): Within the `ssl` object, refer to the values present in the `validation_records` array (specifically `emails`).
+* [**API**](/api/resources/custom_hostnames/methods/get/): Within the `ssl` object, refer to the values present in the `validation_records` array (specifically `emails`).
* **Dashboard**: When viewing an individual certificate at **SSL/TLS** > **Custom Hostnames**, refer to the value for **Certificate validation email recipients**.
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/http.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/http.mdx
index 3abad3f65880b24..64b14333199441c 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/http.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/http.mdx
@@ -59,7 +59,7 @@ If you would like to complete the issuance process before asking your customer t
-* [**API**](/api/operations/custom-hostname-for-a-zone-custom-hostname-details): Within the `ssl` object, store the values present in the `validation_records` array (specifically `http_url` and `http_body`).
+* [**API**](/api/resources/custom_hostnames/methods/get/): Within the `ssl` object, store the values present in the `validation_records` array (specifically `http_url` and `http_body`).
* **Dashboard**: When viewing an individual certificate at **SSL/TLS** > **Custom Hostnames**, refer to the values for **Certificate validation request** and **Certificate validation response**.
At your origin, make the `http_body` available in a TXT record at the path specified in `http_url`. This path should also be publicly accessible to anyone on the Internet so your CA can access it.
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/troubleshooting.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/troubleshooting.mdx
index de60b10c5592c46..32302eccb75a1c6 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/troubleshooting.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/troubleshooting.mdx
@@ -51,13 +51,13 @@ If a certificate issuance times out, the error message will indicate where the t
* Timed Out (Deployment)
* Timed Out (Deletion)
-To fix this error, send a [PATCH request](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname) through the API or select **Refresh** for the specific custom hostname in the dashboard. Please make sure that the `--data` field is not empty in your request.
+To fix this error, send a [PATCH request](/api/resources/custom_hostnames/methods/edit/) through the API or select **Refresh** for the specific custom hostname in the dashboard. Please make sure that the `--data` field is not empty in your request.
If these return an error, delete and recreate the custom hostname.
***
## Immediate validation checks
-You can send a [PATCH request](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname) to request an immediate validation check on any certificate. The PATCH data only needs include the same `ssl` object as the original request.
+You can send a [PATCH request](/api/resources/custom_hostnames/methods/edit/) to request an immediate validation check on any certificate. The PATCH data only needs include the same `ssl` object as the original request.
***
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/waf-for-saas/managed-rulesets.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/waf-for-saas/managed-rulesets.mdx
index 5cc6b4d12329053..51f67bc431cf6a2 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/waf-for-saas/managed-rulesets.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/waf-for-saas/managed-rulesets.mdx
@@ -21,7 +21,7 @@ If you would like to deploy a managed ruleset at the account level, refer to the
Ensure you have reviewed [Get Started with Cloudflare for SaaS](/cloudflare-for-platforms/cloudflare-for-saas/start/getting-started/) and familiarize yourself with [WAF for SaaS](/cloudflare-for-platforms/cloudflare-for-saas/security/waf-for-saas/).
-Customers can automate the [custom metadata](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/custom-metadata/) tagging by adding it to the custom hostnames at creation. For more information on tagging a custom hostname with custom metadata, refer to the [API documentation](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname).
+Customers can automate the [custom metadata](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/custom-metadata/) tagging by adding it to the custom hostnames at creation. For more information on tagging a custom hostname with custom metadata, refer to the [API documentation](/api/resources/custom_hostnames/methods/edit/).
***
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/start/advanced-settings/custom-origin.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/start/advanced-settings/custom-origin.mdx
index feb3d74c1fffdb3..2fc99d5f22e669b 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/start/advanced-settings/custom-origin.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/start/advanced-settings/custom-origin.mdx
@@ -22,7 +22,7 @@ To use a custom origin server, you need to meet the following requirements:
## Use a custom origin
-To use a custom origin, select that option when [creating a new custom hostname](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/) in the dashboard or include the `"custom_origin_server": your_custom_origin_server` parameter when using the API [POST command](/api/operations/custom-hostname-for-a-zone-create-custom-hostname).
+To use a custom origin, select that option when [creating a new custom hostname](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/) in the dashboard or include the `"custom_origin_server": your_custom_origin_server` parameter when using the API [POST command](/api/resources/custom_hostnames/methods/create/).
## SNI rewrites
@@ -65,7 +65,7 @@ Choose how your custom hostname populates the SNI value with SNI rewrites:
To set an SNI rewrite in the dashboard, choose your preferred option from **Origin SNI value** when [creating a custom hostname](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/).
-To set an SNI rewrite via the API, set the `custom_origin_sni` parameter when [creating a custom hostname](/api/operations/custom-hostname-for-a-zone-create-custom-hostname):
+To set an SNI rewrite via the API, set the `custom_origin_sni` parameter when [creating a custom hostname](/api/resources/custom_hostnames/methods/create/):
* **Custom origin name** (default): Applies if you do not set the parameter
* **Host header**: Specify `":request_host_header:"`
diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/start/common-api-calls.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/start/common-api-calls.mdx
index 6e1e43c857a5654..61c1a63a5f6dc27 100644
--- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/start/common-api-calls.mdx
+++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/start/common-api-calls.mdx
@@ -14,16 +14,16 @@ As a SaaS provider, you may want to configure and manage Cloudflare for SaaS [vi
| Endpoint | Notes |
| -------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
-| [List custom hostnames](/api/operations/custom-hostname-for-a-zone-list-custom-hostnames) | Use the `page` parameter to pull additional pages. Add a `hostname` parameter to search for specific hostnames. |
-| [Create custom hostname](/api/operations/custom-hostname-for-a-zone-create-custom-hostname) | In the `validation_records` object of the response, use the `txt_name` and `txt_record` listed to validate the custom hostname. |
-| [Custom hostname details](/api/operations/custom-hostname-for-a-zone-custom-hostname-details) | |
-| [Edit custom hostname](/api/operations/custom-hostname-for-a-zone-edit-custom-hostname) | When sent with an `ssl` object that matches the existing value, indicates that hostname should restart domain control validation (DCV). |
-| [Delete custom hostname](/api/operations/custom-hostname-for-a-zone-delete-custom-hostname-\(-and-any-issued-ssl-certificates\)) | Also deletes any associated SSL/TLS certificates. |
+| [List custom hostnames](/api/resources/custom_hostnames/methods/list/) | Use the `page` parameter to pull additional pages. Add a `hostname` parameter to search for specific hostnames. |
+| [Create custom hostname](/api/resources/custom_hostnames/methods/create/) | In the `validation_records` object of the response, use the `txt_name` and `txt_record` listed to validate the custom hostname. |
+| [Custom hostname details](/api/resources/custom_hostnames/methods/get/) | |
+| [Edit custom hostname](/api/resources/custom_hostnames/methods/edit/) | When sent with an `ssl` object that matches the existing value, indicates that hostname should restart domain control validation (DCV). |
+| [Delete custom hostname](/api/resources/custom_hostnames/methods/delete/) | Also deletes any associated SSL/TLS certificates. |
## Fallback origins
Our API includes the following endpoints related to the [fallback origin](/cloudflare-for-platforms/cloudflare-for-saas/start/getting-started/#1-create-fallback-origin) of a custom hostname:
-* [Get fallback origin](/api/operations/custom-hostname-fallback-origin-for-a-zone-get-fallback-origin-for-custom-hostnames)
-* [Update fallback origin](/api/operations/custom-hostname-fallback-origin-for-a-zone-update-fallback-origin-for-custom-hostnames)
-* [Remove fallback origin](/api/operations/custom-hostname-fallback-origin-for-a-zone-delete-fallback-origin-for-custom-hostnames)
+* [Get fallback origin](/api/resources/custom_hostnames/subresources/fallback_origin/methods/get/)
+* [Update fallback origin](/api/resources/custom_hostnames/subresources/fallback_origin/methods/update/)
+* [Remove fallback origin](/api/resources/custom_hostnames/subresources/fallback_origin/methods/delete/)
diff --git a/src/content/docs/cloudflare-for-platforms/workers-for-platforms/get-started/user-workers.mdx b/src/content/docs/cloudflare-for-platforms/workers-for-platforms/get-started/user-workers.mdx
index d2009cda116574f..90e4541bf48514a 100644
--- a/src/content/docs/cloudflare-for-platforms/workers-for-platforms/get-started/user-workers.mdx
+++ b/src/content/docs/cloudflare-for-platforms/workers-for-platforms/get-started/user-workers.mdx
@@ -26,10 +26,10 @@ For simplicity, start with wrangler when [getting started](/cloudflare-for-platf
### Upload user Workers via the API
-Since you will be deploying Workers on behalf of your users, you will likely want to use the [Workers for Platforms script upload APIs](/api/operations/namespace-worker-put-script-content) directly instead of Wrangler to have more control over the upload process. The Workers for Platforms script upload API is the same as the [Worker upload API](/api/operations/worker-script-upload-worker-module), but it will upload the Worker to a [dispatch namespace](/cloudflare-for-platforms/workers-for-platforms/reference/how-workers-for-platforms-works/#dispatch-namespace) instead of to your account directly.
+Since you will be deploying Workers on behalf of your users, you will likely want to use the [Workers for Platforms script upload APIs](/api/resources/workers_for_platforms/subresources/dispatch/subresources/namespaces/subresources/scripts/subresources/content/methods/update/) directly instead of Wrangler to have more control over the upload process. The Workers for Platforms script upload API is the same as the [Worker upload API](/api/resources/workers/subresources/scripts/methods/update/), but it will upload the Worker to a [dispatch namespace](/cloudflare-for-platforms/workers-for-platforms/reference/how-workers-for-platforms-works/#dispatch-namespace) instead of to your account directly.
## Bindings
You can use any Workers [bindings](/workers/runtime-apis/bindings/) with the dynamic dispatch Worker or any user Workers.
-Bindings for your user Workers can be defined on [multipart script uploads](/api/operations/namespace-worker-put-script-content) in the [metadata](/workers/configuration/multipart-upload-metadata/) part.
+Bindings for your user Workers can be defined on [multipart script uploads](/api/resources/workers_for_platforms/subresources/dispatch/subresources/namespaces/subresources/scripts/subresources/content/methods/update/) in the [metadata](/workers/configuration/multipart-upload-metadata/) part.
diff --git a/src/content/docs/cloudflare-for-platforms/workers-for-platforms/wfp-api.mdx b/src/content/docs/cloudflare-for-platforms/workers-for-platforms/wfp-api.mdx
index 864efb2e1d49e6d..dda564299695600 100644
--- a/src/content/docs/cloudflare-for-platforms/workers-for-platforms/wfp-api.mdx
+++ b/src/content/docs/cloudflare-for-platforms/workers-for-platforms/wfp-api.mdx
@@ -1,7 +1,7 @@
---
pcx_content_type: navigation
title: WFP REST API
-external_link: /api/operations/namespace-worker-list
+external_link: /api/resources/workers_for_platforms/subresources/dispatch/subresources/namespaces/methods/list/
sidebar:
order: 20
diff --git a/src/content/docs/cloudflare-one/applications/configure-apps/dash-sso-apps.mdx b/src/content/docs/cloudflare-one/applications/configure-apps/dash-sso-apps.mdx
index d68c54846fb6947..0bd6d38b728ecae 100644
--- a/src/content/docs/cloudflare-one/applications/configure-apps/dash-sso-apps.mdx
+++ b/src/content/docs/cloudflare-one/applications/configure-apps/dash-sso-apps.mdx
@@ -69,7 +69,7 @@ This section describes how to restore access to the Cloudflare dashboard in case
If there is an issue with your SSO IdP provider, you can add an alternate IdP using the API. The following example shows how to add [Cloudflare One-time PIN](/cloudflare-one/identity/one-time-pin/) as a login method:
-1. [Add](/api/operations/access-identity-providers-add-an-access-identity-provider) one-time PIN login:
+1. [Add](/api/resources/zero_trust/subresources/identity_providers/methods/create/) one-time PIN login:
```bash title="cURL command"
curl 'https://api.cloudflare.com/client/v4/accounts/{account_id}/access/identity_providers' \
@@ -82,7 +82,7 @@ curl 'https://api.cloudflare.com/client/v4/accounts/{account_id}/access/identity
}'
```
-2. [Get](/api/operations/access-applications-list-access-applications) the `id` of the `dash_sso` Access application. You can use [`jq`](https://jqlang.github.io/jq/download/) to quickly find the correct application:
+2. [Get](/api/resources/zero_trust/subresources/access/subresources/applications/methods/list/) the `id` of the `dash_sso` Access application. You can use [`jq`](https://jqlang.github.io/jq/download/) to quickly find the correct application:
```bash title="cURL command"
curl 'https://api.cloudflare.com/client/v4/accounts/{account_id}/access/apps' \
@@ -101,7 +101,7 @@ curl 'https://api.cloudflare.com/client/v4/accounts/{account_id}/access/apps' \
}
```
-3. Using the `id` obtained above, [update](/api/operations/access-applications-update-an-access-application) **SSO App** to accept all identity providers:
+3. Using the `id` obtained above, [update](/api/resources/zero_trust/subresources/access/subresources/applications/methods/update/) **SSO App** to accept all identity providers:
```bash title="cURL command"
curl --request PUT \
diff --git a/src/content/docs/cloudflare-one/connections/connect-devices/agentless/pac-files.mdx b/src/content/docs/cloudflare-one/connections/connect-devices/agentless/pac-files.mdx
index d298a0fc6810034..dba1aafe312a45d 100644
--- a/src/content/docs/cloudflare-one/connections/connect-devices/agentless/pac-files.mdx
+++ b/src/content/docs/cloudflare-one/connections/connect-devices/agentless/pac-files.mdx
@@ -65,7 +65,7 @@ https://.proxy.cloudflare-gateway.com
-1. [Create a proxy endpoint](/api/operations/zero-trust-gateway-proxy-endpoints-create-proxy-endpoint) with the following call:
+1. [Create a proxy endpoint](/api/resources/zero_trust/subresources/gateway/subresources/proxy_endpoints/methods/create/) with the following call:
```bash
curl https://api.cloudflare.com/client/v4/accounts//gateway/proxy_endpoints \
diff --git a/src/content/docs/cloudflare-one/connections/connect-devices/user-side-certificates/custom-certificate.mdx b/src/content/docs/cloudflare-one/connections/connect-devices/user-side-certificates/custom-certificate.mdx
index 5d77a3fd817589f..3fdfecc12019678 100644
--- a/src/content/docs/cloudflare-one/connections/connect-devices/user-side-certificates/custom-certificate.mdx
+++ b/src/content/docs/cloudflare-one/connections/connect-devices/user-side-certificates/custom-certificate.mdx
@@ -79,7 +79,7 @@ openssl x509 -in .pem -text
1. Verify that the certificate is installed on your devices.
2.
- 3. Deploy the certificate in Gateway using the certificate's UUID with the [Patch Zero Trust account configuration endpoint](/api/operations/zero-trust-accounts-patch-zero-trust-account-configuration).
+ 3. Deploy the certificate in Gateway using the certificate's UUID with the [Patch Zero Trust account configuration endpoint](/api/resources/zero_trust/subresources/gateway/subresources/configurations/methods/edit/).
```bash {10}
curl --request PATCH \
"https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/configuration" \
@@ -122,7 +122,7 @@ openssl x509 -in .pem -text
"updated_at": "2014-01-01T05:20:00.12345Z"
}
```
- 4. Activate the certificate for use in inspection with the [Activate a Zero Trust certificate endpoint](/api/operations/zero-trust-certificates-activate-zero-trust-certificate).
+ 4. Activate the certificate for use in inspection with the [Activate a Zero Trust certificate endpoint](/api/resources/zero_trust/subresources/gateway/subresources/certificates/methods/activate/).
```bash
curl --request POST \
"https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/certificates/{certificate_id}/activate" \
diff --git a/src/content/docs/cloudflare-one/connections/connect-devices/warp/configure-warp/device-profiles.mdx b/src/content/docs/cloudflare-one/connections/connect-devices/warp/configure-warp/device-profiles.mdx
index fb635cf3d6aee2b..7722ffbc2c8f1ee 100644
--- a/src/content/docs/cloudflare-one/connections/connect-devices/warp/configure-warp/device-profiles.mdx
+++ b/src/content/docs/cloudflare-one/connections/connect-devices/warp/configure-warp/device-profiles.mdx
@@ -32,7 +32,7 @@ Your profile will appear in the **Profile settings** list. You can rearrange the
-Send a `POST` request to the [Devices endpoint](/api/operations/devices-create-device-settings-policy):
+Send a `POST` request to the [Devices endpoint](/api/resources/zero_trust/subresources/devices/subresources/policies/subresources/custom/methods/create/):
```bash
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/devices/policy \
diff --git a/src/content/docs/cloudflare-one/connections/connect-networks/configure-tunnels/remote-management.mdx b/src/content/docs/cloudflare-one/connections/connect-networks/configure-tunnels/remote-management.mdx
index 55d147a40641cc2..351760c2d4b4314 100644
--- a/src/content/docs/cloudflare-one/connections/connect-networks/configure-tunnels/remote-management.mdx
+++ b/src/content/docs/cloudflare-one/connections/connect-networks/configure-tunnels/remote-management.mdx
@@ -164,7 +164,7 @@ To get the token for a remotely-managed tunnel:
-Make a `GET` request to the [Cloudflare Tunnel token](/api/operations/cloudflare-tunnel-get-a-cloudflare-tunnel-token) endpoint:
+Make a `GET` request to the [Cloudflare Tunnel token](/api/resources/zero_trust/subresources/tunnels/methods/get/-token) endpoint:
```sh
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/cfd_tunnel/{tunnel_id}/token \
@@ -210,7 +210,7 @@ To rotate a tunnel token:
AQIDBAUGBwgBAgMEBQYHCAECAwQFBgcIAQIDBAUGBwg=
```
- 2. Make a `PATCH` request to the [Cloudflare Tunnel](/api/operations/cloudflare-tunnel-update-a-cloudflare-tunnel) endpoint:
+ 2. Make a `PATCH` request to the [Cloudflare Tunnel](/api/resources/zero_trust/subresources/tunnels/methods/edit/) endpoint:
```sh
curl --request PATCH \
https://api.cloudflare.com/client/v4/accounts/{account_id}/cfd_tunnel/{tunnel_id} \
@@ -281,7 +281,7 @@ The tunnel token is now fully rotated. The old token is no longer in use.
If your tunnel token is compromised, we recommend taking the following steps:
1. Refresh the token using the dashboard or API. Refer to Step 1 of [Rotate a token without service disruption](#rotate-a-token-without-service-disruption).
-2. [Delete all connections](/api/operations/cloudflare-tunnel-clean-up-cloudflare-tunnel-connections) between `cloudflared` and Cloudflare:
+2. [Delete all connections](/api/resources/zero_trust/subresources/tunnels/subresources/connections/methods/delete/) between `cloudflared` and Cloudflare:
```sh
curl --request DELETE \
https://api.cloudflare.com/client/v4/accounts/{account_id}/cfd_tunnel/{tunnel_id}/connections \
diff --git a/src/content/docs/cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-run-parameters.mdx b/src/content/docs/cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-run-parameters.mdx
index edb319396df9bff..6c7e115928d1581 100644
--- a/src/content/docs/cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-run-parameters.mdx
+++ b/src/content/docs/cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-run-parameters.mdx
@@ -22,7 +22,7 @@ By default, `cloudflared` will periodically check for updates and restart with t
:::note
-For locally-managed tunnels only.
+For locally-managed tunnels only.
:::
| Syntax | Default |
@@ -97,7 +97,7 @@ Disables automatic `cloudflared` updates. See also: [`autoupdate-freq`](#autoupd
:::note
-For locally-managed tunnels only.
+For locally-managed tunnels only.
:::
| Syntax | Default | Environment Variable |
@@ -152,11 +152,11 @@ Specifies custom tags used to identify this tunnel. Multiple tags may be specifi
:::note
-For remotely-managed tunnels only.
+For remotely-managed tunnels only.
:::
| Syntax | Environment Variable |
| ----------------------------------------------- | -------------------- |
| `cloudflared tunnel run --token ` | `TUNNEL_TOKEN` |
-Associates the `cloudflared` instance with a specific tunnel. The tunnel's token is shown in the dashboard when you first [create the tunnel](/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/). You can also retrieve the token using the [API](/api/operations/cloudflare-tunnel-get-a-cloudflare-tunnel-token).
+Associates the `cloudflared` instance with a specific tunnel. The tunnel's token is shown in the dashboard when you first [create the tunnel](/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/). You can also retrieve the token using the [API](/api/resources/zero_trust/subresources/tunnels/subresources/token/methods/get/).
diff --git a/src/content/docs/cloudflare-one/connections/connect-networks/get-started/tunnel-useful-terms.mdx b/src/content/docs/cloudflare-one/connections/connect-networks/get-started/tunnel-useful-terms.mdx
index a652509d3435812..0ccef5a20767a40 100644
--- a/src/content/docs/cloudflare-one/connections/connect-networks/get-started/tunnel-useful-terms.mdx
+++ b/src/content/docs/cloudflare-one/connections/connect-networks/get-started/tunnel-useful-terms.mdx
@@ -29,7 +29,7 @@ You can create and configure a tunnel once and run that tunnel through multiple,
## Remotely-managed tunnel
-A remotely-managed tunnel is a [tunnel](#tunnel) that was created in [Zero Trust](https://one.dash.cloudflare.com/) under **Networks** > **Tunnels**. Tunnel configuration is stored in Cloudflare, which allows you to manage the tunnel from the dashboard or using the [API](/api/operations/cloudflare-tunnel-configuration-get-configuration).
+A remotely-managed tunnel is a [tunnel](#tunnel) that was created in [Zero Trust](https://one.dash.cloudflare.com/) under **Networks** > **Tunnels**. Tunnel configuration is stored in Cloudflare, which allows you to manage the tunnel from the dashboard or using the [API](/api/resources/zero_trust/subresources/tunnels/subresources/configurations/methods/get/).
## Locally-managed tunnel
diff --git a/src/content/docs/cloudflare-one/connections/connect-networks/use-cases/ssh/ssh-infrastructure-access.mdx b/src/content/docs/cloudflare-one/connections/connect-networks/use-cases/ssh/ssh-infrastructure-access.mdx
index 5fe57bc3f49dcb9..83ceda80284d173 100644
--- a/src/content/docs/cloudflare-one/connections/connect-networks/use-cases/ssh/ssh-infrastructure-access.mdx
+++ b/src/content/docs/cloudflare-one/connections/connect-networks/use-cases/ssh/ssh-infrastructure-access.mdx
@@ -108,7 +108,7 @@ Cloudflare will stop logging SSH commands to your targets, as well as any comman
-To delete the SSH encryption public key using the [API](/api/operations/zero-trust-update-audit-ssh-settings):
+To delete the SSH encryption public key using the [API](/api/resources/zero_trust/subresources/gateway/subresources/audit_ssh_settings/methods/update/):
```sh
curl --request PUT https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/audit_ssh_settings \
diff --git a/src/content/docs/cloudflare-one/identity/authorization-cookie/validating-json.mdx b/src/content/docs/cloudflare-one/identity/authorization-cookie/validating-json.mdx
index abdae1236f54aef..250346f1b032fd1 100644
--- a/src/content/docs/cloudflare-one/identity/authorization-cookie/validating-json.mdx
+++ b/src/content/docs/cloudflare-one/identity/authorization-cookie/validating-json.mdx
@@ -18,7 +18,7 @@ The public key for the signing key pair is located at `https://.
By default, Access rotates the signing key every 6 weeks. This means you will need to programmatically or manually update your keys as they rotate. Previous keys remain valid for 7 days after rotation to allow time for you to make the update.
-You can also manually rotate the key using the [API](/api/operations/access-key-configuration-rotate-access-keys). This can be done for testing or security purposes.
+You can also manually rotate the key using the [API](/api/resources/zero_trust/subresources/access/subresources/keys/methods/rotate/). This can be done for testing or security purposes.
As shown in the example below, `https://.cloudflareaccess.com/cdn-cgi/access/certs` contains two public keys: the current key used to sign all new tokens, and the previous key that has been rotated out.
diff --git a/src/content/docs/cloudflare-one/identity/devices/index.mdx b/src/content/docs/cloudflare-one/identity/devices/index.mdx
index ac23873a73fd7ed..2cf298d04f93ee1 100644
--- a/src/content/docs/cloudflare-one/identity/devices/index.mdx
+++ b/src/content/docs/cloudflare-one/identity/devices/index.mdx
@@ -57,14 +57,14 @@ A --> G[Service provider] --interval--> C
### Expiration
-By default, the posture result on Cloudflare remains valid until it is overwritten by new data. You can specify an `expiration` time using our [API](/api/operations/device-posture-rules-update-device-posture-rule). We recommend setting the expiration to be longer than the [polling frequency](#polling-frequency).
+By default, the posture result on Cloudflare remains valid until it is overwritten by new data. You can specify an `expiration` time using our [API](/api/resources/zero_trust/subresources/devices/subresources/posture/methods/update/). We recommend setting the expiration to be longer than the [polling frequency](#polling-frequency).
### Polling frequency
#### WARP client checks
-By default, the WARP client polls the device for status changes every five minutes. To modify the polling frequency, use the API to update the [`schedule`](/api/operations/device-posture-rules-update-device-posture-rule) parameter.
+By default, the WARP client polls the device for status changes every five minutes. To modify the polling frequency, use the API to update the [`schedule`](/api/resources/zero_trust/subresources/devices/subresources/posture/methods/update/) parameter.
#### Service provider checks
-When setting up a [service-to-service integration](/cloudflare-one/identity/devices/service-providers/), you will choose a polling frequency to determine how often Cloudflare will query the third-party API. To set the polling frequency via the API, use the [`interval`](/api/operations/device-posture-integrations-update-device-posture-integration) parameter.
+When setting up a [service-to-service integration](/cloudflare-one/identity/devices/service-providers/), you will choose a polling frequency to determine how often Cloudflare will query the third-party API. To set the polling frequency via the API, use the [`interval`](/api/resources/zero_trust/subresources/devices/subresources/posture/subresources/integrations/methods/edit/) parameter.
diff --git a/src/content/docs/cloudflare-one/identity/devices/warp-client-checks/corp-device.mdx b/src/content/docs/cloudflare-one/identity/devices/warp-client-checks/corp-device.mdx
index 1cb195e762818b7..04b67390152950f 100644
--- a/src/content/docs/cloudflare-one/identity/devices/warp-client-checks/corp-device.mdx
+++ b/src/content/docs/cloudflare-one/identity/devices/warp-client-checks/corp-device.mdx
@@ -20,7 +20,7 @@ To create rules based on device serial numbers, you first need to create a [Gate
1. In [Zero Trust](https://one.dash.cloudflare.com), go to **My Team** > **Lists**.
-2. Select **Create manual list** or **Upload CSV**. For larger teams, we recommend uploading a CSV or using Cloudflare's [API endpoint](/api/operations/zero-trust-lists-list-zero-trust-lists).
+2. Select **Create manual list** or **Upload CSV**. For larger teams, we recommend uploading a CSV or using Cloudflare's [API endpoint](/api/resources/zero_trust/subresources/gateway/subresources/lists/methods/list/).
3. Give your list a descriptive name, as this name will appear when configuring your policies.
diff --git a/src/content/docs/cloudflare-one/identity/devices/warp-client-checks/device-uuid.mdx b/src/content/docs/cloudflare-one/identity/devices/warp-client-checks/device-uuid.mdx
index bfdace6ad79bf20..d2c5366e13c03bc 100644
--- a/src/content/docs/cloudflare-one/identity/devices/warp-client-checks/device-uuid.mdx
+++ b/src/content/docs/cloudflare-one/identity/devices/warp-client-checks/device-uuid.mdx
@@ -28,7 +28,7 @@ To create rules based on device UUIDs, you first need to create a [Gateway List]
1. In [Zero Trust](https://one.dash.cloudflare.com), go to **My Team** > **Lists**.
-2. Select **Create manual list** or **Upload CSV**. For larger teams, we recommend uploading a CSV or using Cloudflare's [API endpoint](/api/operations/zero-trust-lists-list-zero-trust-lists).
+2. Select **Create manual list** or **Upload CSV**. For larger teams, we recommend uploading a CSV or using Cloudflare's [API endpoint](/api/resources/zero_trust/subresources/gateway/subresources/lists/methods/list/).
3. Give your list a descriptive name, as this name will appear when configuring your policies.
diff --git a/src/content/docs/cloudflare-one/identity/idp-integration/entra-id.mdx b/src/content/docs/cloudflare-one/identity/idp-integration/entra-id.mdx
index 5ca91654cee3971..39e82e01503008c 100644
--- a/src/content/docs/cloudflare-one/identity/idp-integration/entra-id.mdx
+++ b/src/content/docs/cloudflare-one/identity/idp-integration/entra-id.mdx
@@ -206,7 +206,7 @@ Access and Gateway policies for an Entra group will also apply to all [nested gr
## Force user interaction during WARP reauthentication
-You can require users to re-enter their credentials into Entra ID whenever they [re-authenticate their WARP session](/cloudflare-one/connections/connect-devices/warp/configure-warp/warp-sessions/). To configure this setting, make a [`PUT` request](/api/operations/access-identity-providers-update-an-access-identity-provider) and set the `prompt` parameter to either `login` or `select_account`.
+You can require users to re-enter their credentials into Entra ID whenever they [re-authenticate their WARP session](/cloudflare-one/connections/connect-devices/warp/configure-warp/warp-sessions/). To configure this setting, make a [`PUT` request](/api/resources/zero_trust/subresources/identity_providers/methods/update/) and set the `prompt` parameter to either `login` or `select_account`.
## Example API Configuration
diff --git a/src/content/docs/cloudflare-one/identity/idp-integration/generic-saml.mdx b/src/content/docs/cloudflare-one/identity/idp-integration/generic-saml.mdx
index fe1131322deb904..9090bfa40ec184c 100644
--- a/src/content/docs/cloudflare-one/identity/idp-integration/generic-saml.mdx
+++ b/src/content/docs/cloudflare-one/identity/idp-integration/generic-saml.mdx
@@ -37,7 +37,7 @@ The typical setup requirements are:
If your identity provider supports metadata file configuration, you can use the default or identity provider specific metadata endpoint:
- **Default:** `https://.cloudflareaccess.com/cdn-cgi/access/saml-metadata`
-- **Identity provider specific:** `https://.cloudflareaccess.com/cdn-cgi/access//saml-metadata`, where `` is the `id` value obtained from [List Access identity providers](/api/operations/access-identity-providers-list-access-identity-providers). Use this endpoint if your IdP requires a configuration not defined in the default metadata file.
+- **Identity provider specific:** `https://.cloudflareaccess.com/cdn-cgi/access//saml-metadata`, where `` is the `id` value obtained from [List Access identity providers](/api/resources/zero_trust/subresources/identity_providers/methods/list/). Use this endpoint if your IdP requires a configuration not defined in the default metadata file.
To download the SAML metadata file, copy-paste the metadata endpoint into a web browser and save the page as an `.xml` file. Upload this XML file to the identity provider.
diff --git a/src/content/docs/cloudflare-one/insights/email-monitoring/search-email.mdx b/src/content/docs/cloudflare-one/insights/email-monitoring/search-email.mdx
index f392447c957139e..c58d792a8e9dafb 100644
--- a/src/content/docs/cloudflare-one/insights/email-monitoring/search-email.mdx
+++ b/src/content/docs/cloudflare-one/insights/email-monitoring/search-email.mdx
@@ -122,7 +122,7 @@ With Email Security, you can export messages to a CSV file.
To export messages:
1. On the **Investigation** page, under **Your matching messages**, select **Export to CSV**.
-2. Select **Export messages** on the pop-up message. You can only export up to 1,000 rows from the dashboard. To export all matching messages, use the [API](/api/operations/email_security_get_message).
+2. Select **Export messages** on the pop-up message. You can only export up to 1,000 rows from the dashboard. To export all matching messages, use the [API](/api/resources/email_security/subresources/investigate/methods/get/).
## Email status
diff --git a/src/content/docs/cloudflare-one/insights/logs/audit-logs.mdx b/src/content/docs/cloudflare-one/insights/logs/audit-logs.mdx
index 9bd50617f4aa6d9..c1bb70b1d33530c 100644
--- a/src/content/docs/cloudflare-one/insights/logs/audit-logs.mdx
+++ b/src/content/docs/cloudflare-one/insights/logs/audit-logs.mdx
@@ -41,7 +41,7 @@ To view logs for identity-based authentication events:
-The [Access authentication logs](/api/operations/access-authentication-logs-get-access-authentication-logs) API endpoint provides a custom URL to export audit log events for your account.
+The [Access authentication logs](/api/resources/zero_trust/subresources/access/subresources/logs/subresources/access_requests/methods/list/) API endpoint provides a custom URL to export audit log events for your account.
```bash title="Request"
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/access/logs/access_requests?limit=25&direction=desc&since=2020-07-01T05:20:00Z&until=2020-10-01T05:20:00Z" \
diff --git a/src/content/docs/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options.mdx b/src/content/docs/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options.mdx
index 2c57a378bfd2135..e503f833502d6d8 100644
--- a/src/content/docs/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options.mdx
+++ b/src/content/docs/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options.mdx
@@ -43,7 +43,7 @@ Data Loss Prevention will now store a portion of the payload for HTTP requests t
3. Select **Decrypt Payload Log**.
4. Enter your private key and select **Decrypt**.
-You will see the [ID of the matched DLP Profile](/api/operations/dlp-profiles-list-all-profiles) followed by the decrypted payload. Note that DLP currently logs only the first match.
+You will see the [ID of the matched DLP Profile](/api/resources/zero_trust/subresources/dlp/subresources/profiles/methods/list/) followed by the decrypted payload. Note that DLP currently logs only the first match.
:::note
Neither the key nor the decrypted payload will be stored by Cloudflare.
diff --git a/src/content/docs/cloudflare-one/policies/gateway/application-app-types.mdx b/src/content/docs/cloudflare-one/policies/gateway/application-app-types.mdx
index b26070c50eec1cc..3ba48998e52941b 100644
--- a/src/content/docs/cloudflare-one/policies/gateway/application-app-types.mdx
+++ b/src/content/docs/cloudflare-one/policies/gateway/application-app-types.mdx
@@ -11,7 +11,7 @@ Gateway allows you to create DNS, Network, and HTTP policies based on applicatio
## Applications
-When you choose the _Application_ selector in a Gateway policy builder, the **Value** field will include all supported applications and their respective app types. Alternatively, you can use the [Gateway API](/api/operations/zero-trust-gateway-application-and-application-type-mappings-list-application-and-application-type-mappings) to fetch a list of applications, app types, and ID numbers.
+When you choose the _Application_ selector in a Gateway policy builder, the **Value** field will include all supported applications and their respective app types. Alternatively, you can use the [Gateway API](/api/resources/zero_trust/subresources/gateway/subresources/app_types/methods/list/) to fetch a list of applications, app types, and ID numbers.
## App types
diff --git a/src/content/docs/cloudflare-one/policies/gateway/block-page.mdx b/src/content/docs/cloudflare-one/policies/gateway/block-page.mdx
index 607d9448b3fccb8..3f46a3380f34ddb 100644
--- a/src/content/docs/cloudflare-one/policies/gateway/block-page.mdx
+++ b/src/content/docs/cloudflare-one/policies/gateway/block-page.mdx
@@ -58,6 +58,6 @@ You can add a Mailto link to your custom block page, which allows users to direc
| Rule ID | The ID of the Gateway policy that blocked the page. |
| Source IP | The public source IP of the user device. |
| Account ID | The Cloudflare account associated with the block policy. |
-| User ID | The ID of the user who visited the page. Currently, User IDs are not surfaced in the dashboard and can only be viewed by calling the [API](/api/operations/zero-trust-users-get-users). |
+| User ID | The ID of the user who visited the page. Currently, User IDs are not surfaced in the dashboard and can only be viewed by calling the [API](/api/resources/zero_trust/subresources/access/subresources/users/methods/list/). |
| Device ID | The ID of the device that visited the page. This is generated by the WARP client. |
| Block Reason | Your policy-specific block message. |
diff --git a/src/content/docs/cloudflare-one/policies/gateway/dns-policies/timed-policies.mdx b/src/content/docs/cloudflare-one/policies/gateway/dns-policies/timed-policies.mdx
index df5e4a8c23072c6..75a6e0c5754dfc6 100644
--- a/src/content/docs/cloudflare-one/policies/gateway/dns-policies/timed-policies.mdx
+++ b/src/content/docs/cloudflare-one/policies/gateway/dns-policies/timed-policies.mdx
@@ -37,7 +37,7 @@ For policies with an exact end time, you can change the time before the policy t
## Scheduled policies
-You can use the Gateway API to create a new DNS policy with a schedule or add a schedule to an existing policy. To schedule a policy, use the [Create a Zero Trust Gateway rule endpoint](/api/operations/zero-trust-gateway-rules-create-zero-trust-gateway-rule) or [Update a Zero Trust Gateway rule endpoint](/api/operations/zero-trust-gateway-rules-update-zero-trust-gateway-rule) with the `schedule` parameter set to your desired days of the week, times of day, and an optional time zone. The schedule will appear in Zero Trust under **Gateway** > **Firewall policies** > **DNS** when you select the policy.
+You can use the Gateway API to create a new DNS policy with a schedule or add a schedule to an existing policy. To schedule a policy, use the [Create a Zero Trust Gateway rule endpoint](/api/resources/zero_trust/subresources/gateway/subresources/rules/methods/create/) or [Update a Zero Trust Gateway rule endpoint](/api/resources/zero_trust/subresources/gateway/subresources/rules/methods/update/) with the `schedule` parameter set to your desired days of the week, times of day, and an optional time zone. The schedule will appear in Zero Trust under **Gateway** > **Firewall policies** > **DNS** when you select the policy.
### How Gateway determines time zone
diff --git a/src/content/docs/cloudflare-one/tutorials/user-selectable-egress-ips.mdx b/src/content/docs/cloudflare-one/tutorials/user-selectable-egress-ips.mdx
index 0e7fbdb644d4b71..5b1087208a10920 100644
--- a/src/content/docs/cloudflare-one/tutorials/user-selectable-egress-ips.mdx
+++ b/src/content/docs/cloudflare-one/tutorials/user-selectable-egress-ips.mdx
@@ -59,7 +59,7 @@ First, create [virtual networks](/cloudflare-one/connections/connect-networks/pr
}'
```
- For more information, refer to [Create a virtual network](/api/operations/tunnel-virtual-network-create-a-virtual-network).
+ For more information, refer to [Create a virtual network](/api/resources/zero_trust/subresources/networks/subresources/virtual_networks/methods/create/).
2. Repeat Step 1 for each dedicated egress IP you want users to switch between. For example, you can create another virtual network called `vnet-EMEA` for egress from Europe, the Middle East, and Africa.
@@ -100,7 +100,7 @@ After creating your virtual networks, route your private network CIDRs over each
}'
```
- For more information, refer to [Update a tunnel route](/api/operations/tunnel-route-update-a-tunnel-route).
+ For more information, refer to [Update a tunnel route](/api/resources/zero_trust/subresources/networks/subresources/routes/methods/edit/).
2. Repeat this process for each virtual network you created. For example:
@@ -183,7 +183,7 @@ Next, assign your dedicated egress IPs to each virtual network using Gateway egr
}'
```
- For more information, refer to [Create a Zero Trust Gateway rule](/api/operations/zero-trust-gateway-rules-create-zero-trust-gateway-rule).
+ For more information, refer to [Create a Zero Trust Gateway rule](/api/resources/zero_trust/subresources/gateway/subresources/rules/methods/create/).
2. Repeat Step 1 to create an egress policy for each virtual network you created.
diff --git a/src/content/docs/d1/best-practices/query-d1.mdx b/src/content/docs/d1/best-practices/query-d1.mdx
index bdbfe9e0c6ad4b6..8f0387f6b16de3f 100644
--- a/src/content/docs/d1/best-practices/query-d1.mdx
+++ b/src/content/docs/d1/best-practices/query-d1.mdx
@@ -10,7 +10,7 @@ D1 is compatible with most SQLite's SQL convention since it leverages SQLite's q
There are a number of ways you can interact with a D1 database:
1. Using [D1 Workers Binding API](/d1/worker-api/) in your code.
-2. Using [D1 REST API](/api/operations/cloudflare-d1-create-database).
+2. Using [D1 REST API](/api/resources/d1/subresources/database/methods/create/).
3. Using [D1 Wrangler commands](/d1/wrangler-commands/).
## Use SQL to query D1
@@ -102,7 +102,7 @@ Refer to [Workers Binding API](/d1/worker-api/) for more information.
REST API primarily interacts with the control plane, and allows you to create/manage your D1 database.
-Refer to [D1 REST API](/api/operations/cloudflare-d1-create-database) for D1 REST API documentation.
+Refer to [D1 REST API](/api/resources/d1/subresources/database/methods/create/) for D1 REST API documentation.
## Query D1 with Wrangler commands
diff --git a/src/content/docs/d1/d1-api.mdx b/src/content/docs/d1/d1-api.mdx
index 065bc842cf8cd18..25c486c6a10520c 100644
--- a/src/content/docs/d1/d1-api.mdx
+++ b/src/content/docs/d1/d1-api.mdx
@@ -1,8 +1,7 @@
---
pcx_content_type: navigation
title: REST API
-external_link: /api/operations/cloudflare-d1-create-database
+external_link: /api/resources/d1/subresources/database/methods/create/
sidebar:
order: 6
-
---
diff --git a/src/content/docs/d1/tutorials/build-an-api-to-access-d1/index.mdx b/src/content/docs/d1/tutorials/build-an-api-to-access-d1/index.mdx
index 07a4fb18737ba40..bb92a93b867cced 100644
--- a/src/content/docs/d1/tutorials/build-an-api-to-access-d1/index.mdx
+++ b/src/content/docs/d1/tutorials/build-an-api-to-access-d1/index.mdx
@@ -19,7 +19,7 @@ In this tutorial, you will learn how to create an API that allows you to securel
This is useful if you want to access a D1 database outside of a Worker or Pages project, customize access controls and/or limit what tables can be queried.
-D1's built-in [REST API](/api/operations/cloudflare-d1-create-database) is best suited for administrative use as the global [Cloudflare API rate limit](/fundamentals/api/reference/limits) applies.
+D1's built-in [REST API](/api/resources/d1/subresources/database/methods/create/) is best suited for administrative use as the global [Cloudflare API rate limit](/fundamentals/api/reference/limits) applies.
To access a D1 database outside of a Worker project, you need to create an API using a Worker. Your application can then securely interact with this API to run D1 queries.
diff --git a/src/content/docs/d1/tutorials/import-to-d1-with-rest-api/index.mdx b/src/content/docs/d1/tutorials/import-to-d1-with-rest-api/index.mdx
index 94bf5c06c6c46fd..60af7188b174e9b 100644
--- a/src/content/docs/d1/tutorials/import-to-d1-with-rest-api/index.mdx
+++ b/src/content/docs/d1/tutorials/import-to-d1-with-rest-api/index.mdx
@@ -14,7 +14,7 @@ languages:
import { Render, Steps } from "~/components";
-In this tutorial, you will learn how to import a database into D1 using the [REST API](/api/operations/cloudflare-d1-import-database).
+In this tutorial, you will learn how to import a database into D1 using the [REST API](/api/resources/d1/subresources/database/methods/import/).
## Prerequisites
diff --git a/src/content/docs/data-localization/how-to/cache.mdx b/src/content/docs/data-localization/how-to/cache.mdx
index 90b3d786e7a96c4..e8b1f80787b6fe9 100644
--- a/src/content/docs/data-localization/how-to/cache.mdx
+++ b/src/content/docs/data-localization/how-to/cache.mdx
@@ -25,7 +25,7 @@ To configure Regional Services for hostnames [proxied](/dns/manage-dns-records/r
-1. To create records with the API, use the [API POST](/api/operations/dns-records-for-a-zone-create-dns-record) command.
+1. To create records with the API, use the [API POST](/api/resources/dns/subresources/records/methods/create/) command.
2. Run the [API POST](/data-localization/regional-services/get-started/#configure-regional-services-via-api) command on the hostname to create a `regional_hostnames` with a specific region.
diff --git a/src/content/docs/data-localization/how-to/cloudflare-for-saas.mdx b/src/content/docs/data-localization/how-to/cloudflare-for-saas.mdx
index 4ff56cecd9494fe..86d538c4c7233d5 100644
--- a/src/content/docs/data-localization/how-to/cloudflare-for-saas.mdx
+++ b/src/content/docs/data-localization/how-to/cloudflare-for-saas.mdx
@@ -23,8 +23,8 @@ To configure Regional Services for both hostnames [proxied](/dns/manage-dns-reco
-1. Set the [fallback record](/api/operations/custom-hostname-fallback-origin-for-a-zone-update-fallback-origin-for-custom-hostnames).
-2. Create a [Custom Hostname](/api/operations/custom-hostname-for-a-zone-create-custom-hostname).
+1. Set the [fallback record](/api/resources/custom_hostnames/subresources/fallback_origin/methods/update/).
+2. Create a [Custom Hostname](/api/resources/custom_hostnames/methods/create/).
3. Run the [API POST](/data-localization/regional-services/get-started/#configure-regional-services-via-api) command on the Custom Hostname to create a `regional_hostnames` with a specific region.
diff --git a/src/content/docs/data-localization/how-to/pages.mdx b/src/content/docs/data-localization/how-to/pages.mdx
index 1b79d868eca80d5..2771cd7f3c3bb74 100644
--- a/src/content/docs/data-localization/how-to/pages.mdx
+++ b/src/content/docs/data-localization/how-to/pages.mdx
@@ -27,7 +27,7 @@ To configure Regional Services for hostnames [proxied](/dns/manage-dns-records/r
-1. Use the [API POST](/api/operations/pages-domains-add-domain) command to add a Custom Domain to a Pages project.
+1. Use the [API POST](/api/resources/pages/subresources/projects/subresources/domains/methods/create/) command to add a Custom Domain to a Pages project.
2. Run the [API POST](/data-localization/regional-services/get-started/#configure-regional-services-via-api) command on the Pages Custom Domain to create a `regional_hostnames` with a specific Region.
diff --git a/src/content/docs/dns/cname-flattening/set-up-cname-flattening.mdx b/src/content/docs/dns/cname-flattening/set-up-cname-flattening.mdx
index 833de113746b0c6..97fc321890aabf1 100644
--- a/src/content/docs/dns/cname-flattening/set-up-cname-flattening.mdx
+++ b/src/content/docs/dns/cname-flattening/set-up-cname-flattening.mdx
@@ -35,7 +35,7 @@ For zones on paid plans, you can choose to flatten all `CNAME` records. This opt
-Make a `PATCH` request to the [Update DNS Settings](/api/operations/dns-settings-for-a-zone-update-dns-settings) endpoint and set `flatten_all_cnames` to `true` in the request body.
+Make a `PATCH` request to the [Update DNS Settings](/api/resources/dns/subresources/settings/methods/edit/) endpoint and set `flatten_all_cnames` to `true` in the request body.
@@ -66,7 +66,7 @@ For the following cases, **Flatten** will not be available:
-With the available [API endpoints](/api/operations/dns-records-for-a-zone-create-dns-record), specify the following for each `CNAME` record in the request body:
+With the available [API endpoints](/api/resources/dns/subresources/records/methods/create/), specify the following for each `CNAME` record in the request body:
```txt
"settings": {
diff --git a/src/content/docs/dns/dns-firewall/analytics.mdx b/src/content/docs/dns/dns-firewall/analytics.mdx
index 57e641f96479562..1a6fc2b98b08bee 100644
--- a/src/content/docs/dns/dns-firewall/analytics.mdx
+++ b/src/content/docs/dns/dns-firewall/analytics.mdx
@@ -6,7 +6,7 @@ sidebar:
---
-To access analytics for your DNS Firewall, use the [Cloudflare API](/api/operations/dns-firewall-analytics-table).
+To access analytics for your DNS Firewall, use the [Cloudflare API](/api/resources/dns_firewall/subresources/analytics/subresources/reports/methods/get/).
Alternatively, [set up Logpush](/logs/about/) to deliver [DNS Firewall logs](/logs/reference/log-fields/account/dns_firewall_logs/) to a storage service, SIEM, or log management provider.
diff --git a/src/content/docs/dns/dns-firewall/faq.mdx b/src/content/docs/dns/dns-firewall/faq.mdx
index f34e52e75ef1ea7..145de8f61b9b1c7 100644
--- a/src/content/docs/dns/dns-firewall/faq.mdx
+++ b/src/content/docs/dns/dns-firewall/faq.mdx
@@ -26,7 +26,7 @@ As long as there is enough allocated memory, Cloudflare does not clear items fro
-Yes. `SERVFAIL` is treated like any other negative answer for caching purposes. The default TTL is 30 seconds. You can use the [API](/api/operations/dns-firewall-update-dns-firewall-cluster) to set a different `negative_cache_ttl`.
+Yes. `SERVFAIL` is treated like any other negative answer for caching purposes. The default TTL is 30 seconds. You can use the [API](/api/resources/dns_firewall/methods/edit/) to set a different `negative_cache_ttl`.
@@ -47,13 +47,13 @@ EDNS limits the effectiveness of the DNS cache.
:::
-Some resolvers might not be sending any EDNS data. When you set the `ecs_fallback` parameter to `true` via the [API](/api/operations/dns-firewall-update-dns-firewall-cluster), DNS Firewall will forward the IP subnet of the resolver instead only if there is no EDNS data present in incoming the DNS query.
+Some resolvers might not be sending any EDNS data. When you set the `ecs_fallback` parameter to `true` via the [API](/api/resources/dns_firewall/methods/edit/), DNS Firewall will forward the IP subnet of the resolver instead only if there is no EDNS data present in incoming the DNS query.
-Yes. The default TTL is 30 seconds. You can set `negative_cache_ttl` via the [API](/api/operations/dns-firewall-update-dns-firewall-cluster). This will affect the TTL of responses with status `REFUSED`, `NXDOMAIN`, or `SERVFAIL`.
+Yes. The default TTL is 30 seconds. You can set `negative_cache_ttl` via the [API](/api/resources/dns_firewall/methods/edit/). This will affect the TTL of responses with status `REFUSED`, `NXDOMAIN`, or `SERVFAIL`.
@@ -61,7 +61,7 @@ Yes. The default TTL is 30 seconds. You can set `negative_cache_ttl` via the [AP
To set up PTR records for the DNS Firewall cluster IPs that point to your nameserver hostnames, use the following API endpoints:
-- [Show DNS Firewall Cluster Reverse DNS](/api/operations/dns-firewall-show-dns-firewall-cluster-reverse-dns)
-- [Update DNS Firewall Cluster Reverse DNS](/api/operations/dns-firewall-update-dns-firewall-cluster-reverse-dns)
+- [Show DNS Firewall Cluster Reverse DNS](/api/resources/dns_firewall/subresources/reverse_dns/methods/get/)
+- [Update DNS Firewall Cluster Reverse DNS](/api/resources/dns_firewall/methods/edit/-reverse-dns)
diff --git a/src/content/docs/dns/dns-firewall/random-prefix-attacks/setup.mdx b/src/content/docs/dns/dns-firewall/random-prefix-attacks/setup.mdx
index e6467962e27c666..d73dd043a19ca69 100644
--- a/src/content/docs/dns/dns-firewall/random-prefix-attacks/setup.mdx
+++ b/src/content/docs/dns/dns-firewall/random-prefix-attacks/setup.mdx
@@ -12,7 +12,7 @@ head:
In order to enable automatic mitigation of [random prefix attacks](/dns/dns-firewall/random-prefix-attacks/about/):
1. Set up [DNS Firewall](/dns/dns-firewall/setup/).
-2. Send a [`PATCH` request](/api/operations/dns-firewall-update-dns-firewall-cluster) to update your DNS Firewall cluster.
+2. Send a [`PATCH` request](/api/resources/dns_firewall/methods/edit/) to update your DNS Firewall cluster.
```bash
curl --request PATCH "https://api.cloudflare.com/client/v4/accounts/{account_id}/dns_firewall/{cluster_tag}" \
diff --git a/src/content/docs/dns/dns-firewall/setup.mdx b/src/content/docs/dns/dns-firewall/setup.mdx
index 908af51b1e49093..0b68804856d4352 100644
--- a/src/content/docs/dns/dns-firewall/setup.mdx
+++ b/src/content/docs/dns/dns-firewall/setup.mdx
@@ -45,7 +45,7 @@ If you forget to save your new IP addresses, find your cluster and click **IP Ad
-You can also create a DNS Firewall cluster by sending a [POST request](/api/operations/dns-firewall-create-dns-firewall-cluster) to the API.
+You can also create a DNS Firewall cluster by sending a [POST request](/api/resources/dns_firewall/methods/create/) to the API.
@@ -67,6 +67,6 @@ Configure security policy in your DNS servers and Firewall to allow only [Cloudf
## Additional options
-When you use the API, you can also specify other parameters, such as rate limit (in queries per second per data center). You can find the parameters descriptions and examples in the [API documentation](/api/operations/dns-firewall-create-dns-firewall-cluster).
+When you use the API, you can also specify other parameters, such as rate limit (in queries per second per data center). You can find the parameters descriptions and examples in the [API documentation](/api/resources/dns_firewall/methods/create/).
-To configure rate limiting and other options for already existing clusters, use the [Update DNS Firewall Cluster](/api/operations/dns-firewall-update-dns-firewall-cluster) endpoint.
+To configure rate limiting and other options for already existing clusters, use the [Update DNS Firewall Cluster](/api/resources/dns_firewall/methods/edit/) endpoint.
diff --git a/src/content/docs/dns/dnssec/dnssec-active-migration.mdx b/src/content/docs/dns/dnssec/dnssec-active-migration.mdx
index 0ffbe61f224f316..b034152cbe31e8f 100644
--- a/src/content/docs/dns/dnssec/dnssec-active-migration.mdx
+++ b/src/content/docs/dns/dnssec/dnssec-active-migration.mdx
@@ -28,13 +28,13 @@ The provider you are migrating from must allow you to add DNSKEY records on the
1. [Add your zone to Cloudflare](/fundamentals/setup/manage-domains/add-site/).
- To add your zone using the API, refer to the [Create Zone endpoint](/api/operations/zones-post).
+ To add your zone using the API, refer to the [Create Zone endpoint](/api/resources/zones/methods/create/).
2. [Review the records found by the automatic scan](/dns/manage-dns-records/how-to/create-dns-records/) or [import your zone file](/dns/manage-dns-records/how-to/import-and-export/).
- To import the zone file using the API, refer to the [Import DNS Records endpoint](/api/operations/dns-records-for-a-zone-import-dns-records).
+ To import the zone file using the API, refer to the [Import DNS Records endpoint](/api/resources/dns/subresources/records/methods/import/).
-3. Go to **DNS** > **Settings**, and select **Enable DNSSEC**. Or use the following [API request](/api/operations/dnssec-edit-dnssec-status).
+3. Go to **DNS** > **Settings**, and select **Enable DNSSEC**. Or use the following [API request](/api/resources/dns/subresources/dnssec/methods/edit/).
```bash
curl --request PATCH \
@@ -45,7 +45,7 @@ https://api.cloudflare.com/client/v4/zones/{zone_id}/dnssec \
--data '{"status": "active"}'
```
-4. Go to **DNS** > **Settings**, and enable **Multi-signer DNSSEC**. Or use the following [API request](/api/operations/dnssec-edit-dnssec-status).
+4. Go to **DNS** > **Settings**, and enable **Multi-signer DNSSEC**. Or use the following [API request](/api/resources/dns/subresources/dnssec/methods/edit/).
```bash
curl --request PATCH \
@@ -60,7 +60,7 @@ https://api.cloudflare.com/client/v4/zones/{zone_id}/dnssec \
1. Add the [ZSK](https://www.cloudflare.com/learning/dns/dns-records/dnskey-ds-records/) of your previous provider to Cloudflare by creating a DNSKEY record on your zone.
-You can do this [on the dashboard](/dns/manage-dns-records/how-to/create-dns-records/#create-dns-records) or through the [Create DNS Record endpoint](/api/operations/dns-records-for-a-zone-create-dns-record), as in the following example.
+You can do this [on the dashboard](/dns/manage-dns-records/how-to/create-dns-records/#create-dns-records) or through the [Create DNS Record endpoint](/api/resources/dns/subresources/records/methods/create/), as in the following example.
```bash
curl https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records \
diff --git a/src/content/docs/dns/dnssec/dnssec-states.mdx b/src/content/docs/dns/dnssec/dnssec-states.mdx
index f1349cc1b34c46a..be03ff37ec5b55a 100644
--- a/src/content/docs/dns/dnssec/dnssec-states.mdx
+++ b/src/content/docs/dns/dnssec/dnssec-states.mdx
@@ -6,7 +6,7 @@ sidebar:
---
-This page describes different DNSSEC states and how they relate to the responses you get from the [DNSSEC details API endpoint](/api/operations/dnssec-dnssec-details).
+This page describes different DNSSEC states and how they relate to the responses you get from the [DNSSEC details API endpoint](/api/resources/dns/subresources/dnssec/methods/get/).
| State | API response | Description |
| ---------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -14,11 +14,11 @@ This page describes different DNSSEC states and how they relate to the responses
| Active | `"status":"active"` `"modified_on":` | DNSSEC has been enabled and the Cloudflare DS record is present at the registrar. |
| Pending-disabled | `"status":"pending-disabled"` `"modified_on":` | DNSSEC has been disabled but the Cloudflare DS record is still added at the registrar. |
| Disabled | `"status":"disabled"` `"modified_on":` | DNSSEC has been disabled and the Cloudflare DS record has been removed from the registrar. |
-| Deleted | `"status":"disabled"` `"modified_on": null` | DNSSEC has never been enabled for the zone or DNSSEC has been disabled and then deleted using the [Delete DNSSEC records endpoint](/api/operations/dnssec-delete-dnssec-records). |
+| Deleted | `"status":"disabled"` `"modified_on": null` | DNSSEC has never been enabled for the zone or DNSSEC has been disabled and then deleted using the [Delete DNSSEC records endpoint](/api/resources/dns/subresources/dnssec/methods/delete/). |
:::caution
-Once you have enabled DNSSEC on a zone for the first time, you cannot transition directly from an `active` state to a `deleted` state. You can only [delete DNSSEC records](/api/operations/dnssec-delete-dnssec-records) once your zone DNSSEC is in a `disabled` state. Cloudflare prevents you from deleting DNSSEC records before removing the DS record from the registrar to avoid DNS resolution issues.
+Once you have enabled DNSSEC on a zone for the first time, you cannot transition directly from an `active` state to a `deleted` state. You can only [delete DNSSEC records](/api/resources/dns/subresources/dnssec/methods/delete/) once your zone DNSSEC is in a `disabled` state. Cloudflare prevents you from deleting DNSSEC records before removing the DS record from the registrar to avoid DNS resolution issues.
:::
In both `pending` and `active` states, Cloudflare signs the zone and responds with `RRSIG`, `NSEC`, `DNSKEY`, `CDS`, and `CDNSKEY` record types.
diff --git a/src/content/docs/dns/dnssec/multi-signer-dnssec/setup.mdx b/src/content/docs/dns/dnssec/multi-signer-dnssec/setup.mdx
index 77ab9187a4575b1..90d5a1e89e88be5 100644
--- a/src/content/docs/dns/dnssec/multi-signer-dnssec/setup.mdx
+++ b/src/content/docs/dns/dnssec/multi-signer-dnssec/setup.mdx
@@ -42,7 +42,7 @@ For the purpose of this tutorial, you will update your registrar with the DS rec
-1. Use the [Edit DNSSEC Status endpoint](/api/operations/dnssec-edit-dnssec-status) to enable DNSSEC and activate multi-signer DNSSEC for your zone. Set `status` to `active` and `dnssec_multi_signer` to `true`, as in the following example.
+1. Use the [Edit DNSSEC Status endpoint](/api/resources/dns/subresources/dnssec/methods/edit/) to enable DNSSEC and activate multi-signer DNSSEC for your zone. Set `status` to `active` and `dnssec_multi_signer` to `true`, as in the following example.
```bash
curl --request PATCH \
@@ -133,7 +133,7 @@ For the purpose of this tutorial, you will update your registrar with the DS rec
-1. Use the [Edit DNSSEC Status endpoint](/api/operations/dnssec-edit-dnssec-status) to enable DNSSEC and activate multi-signer DNSSEC for your zone. Set `status` to `active` and `dnssec_multi_signer` to `true`, as in the following example.
+1. Use the [Edit DNSSEC Status endpoint](/api/resources/dns/subresources/dnssec/methods/edit/) to enable DNSSEC and activate multi-signer DNSSEC for your zone. Set `status` to `active` and `dnssec_multi_signer` to `true`, as in the following example.
```bash
$ curl --request PATCH 'https://api.cloudflare.com/client/v4/zones/{zone_id}/dnssec' \
diff --git a/src/content/docs/dns/foundation-dns/setup.mdx b/src/content/docs/dns/foundation-dns/setup.mdx
index 509142fe01a95f6..6b16fc5a707d815 100644
--- a/src/content/docs/dns/foundation-dns/setup.mdx
+++ b/src/content/docs/dns/foundation-dns/setup.mdx
@@ -25,7 +25,7 @@ To enable advanced nameservers on an existing zone:
- Use the [Update DNS Settings](/api/operations/dns-settings-for-a-zone-update-dns-settings) endpoint to send a PATCH request like the following:
+ Use the [Update DNS Settings](/api/resources/dns/subresources/settings/methods/edit/) endpoint to send a PATCH request like the following:
```bash
curl --request PATCH \
diff --git a/src/content/docs/dns/manage-dns-records/how-to/batch-record-changes.mdx b/src/content/docs/dns/manage-dns-records/how-to/batch-record-changes.mdx
index 47f73cddfd61bf9..46b06b200df89df 100644
--- a/src/content/docs/dns/manage-dns-records/how-to/batch-record-changes.mdx
+++ b/src/content/docs/dns/manage-dns-records/how-to/batch-record-changes.mdx
@@ -75,7 +75,7 @@ This option requires familiarity with API usage and concepts. For further inform
:::
-The [Batched DNS record changes](/api/operations/dns-records-for-a-zone-batch-dns-records) endpoint allows you to trigger the execution of `DELETES`, `PATCHES`, `PUTS`, and `POSTS` in a single request.
+The [Batched DNS record changes](/api/resources/dns/subresources/records/methods/batch/) endpoint allows you to trigger the execution of `DELETES`, `PATCHES`, `PUTS`, and `POSTS` in a single request.
[Tags and comments](/dns/manage-dns-records/reference/record-attributes/) are also supported with batch changes.
@@ -99,7 +99,7 @@ For each operation that you list in the `/batch` request body, consider the requ
- **`deletes`**: only the `id` is required for each record object. You can keep additional parameters such as `name` for readability, but any other fields aside from `id` will be ignored in this case.
- **`patches`**: aside from each record `id`, you should specify the fields you want to update. All unspecified fields will remain as they are.
- **`puts`**: you must specify each record `id`, `content`, `name`, and `type`. You should also specify any other fields you want to set to a value that is not the default. Any unspecified fields will assume their default value for each [record type](/dns/manage-dns-records/reference/dns-record-types/). This operation works as an overwrite, so all fields in a given record are always affected.
-- **`posts`**: since you are creating a new record, `id` is not required. For field definitions, refer to the [Create DNS Record](/api/operations/dns-records-for-a-zone-create-dns-record) endpoint and select the desired record type under the request body specification.
+- **`posts`**: since you are creating a new record, `id` is not required. For field definitions, refer to the [Create DNS Record](/api/resources/dns/subresources/records/methods/create/) endpoint and select the desired record type under the request body specification.
### Example request
diff --git a/src/content/docs/dns/manage-dns-records/how-to/create-dns-records.mdx b/src/content/docs/dns/manage-dns-records/how-to/create-dns-records.mdx
index 3095f1a426be4e5..79ca491977b8c92 100644
--- a/src/content/docs/dns/manage-dns-records/how-to/create-dns-records.mdx
+++ b/src/content/docs/dns/manage-dns-records/how-to/create-dns-records.mdx
@@ -43,7 +43,7 @@ To create a DNS record in the dashboard:
-To create records with the API, use a [POST request](/api/operations/dns-records-for-a-zone-create-dns-record). For field definitions, select a record type under the request body specification.
+To create records with the API, use a [POST request](/api/resources/dns/subresources/records/methods/create/). For field definitions, select a record type under the request body specification.
For specific API examples, refer to [DNS record types](/dns/manage-dns-records/reference/dns-record-types/).
@@ -67,7 +67,7 @@ To edit DNS records in the dashboard:
-To update part of a record with the API, use a [PATCH request](/api/operations/dns-records-for-a-zone-patch-dns-record). If you want to overwrite the entire existing record, use a [PUT request](/api/operations/dns-records-for-a-zone-update-dns-record).
+To update part of a record with the API, use a [PATCH request](/api/resources/dns/subresources/records/methods/edit/). If you want to overwrite the entire existing record, use a [PUT request](/api/resources/dns/subresources/records/methods/update/).
@@ -89,7 +89,7 @@ To delete DNS records in the dashboard:
-To delete records with the API, use a [DELETE request](/api/operations/dns-records-for-a-zone-delete-dns-record).
+To delete records with the API, use a [DELETE request](/api/resources/dns/subresources/records/methods/delete/).
diff --git a/src/content/docs/dns/manage-dns-records/how-to/import-and-export.mdx b/src/content/docs/dns/manage-dns-records/how-to/import-and-export.mdx
index 11dd1751602be9f..6550ca745694543 100644
--- a/src/content/docs/dns/manage-dns-records/how-to/import-and-export.mdx
+++ b/src/content/docs/dns/manage-dns-records/how-to/import-and-export.mdx
@@ -35,7 +35,7 @@ To import a zone file using the dashboard:
-To import records using the API, send a [POST request](/api/operations/dns-records-for-a-zone-import-dns-records) with a properly [formatted file](#format-your-zone-file).
+To import records using the API, send a [POST request](/api/resources/dns/subresources/records/methods/import/) with a properly [formatted file](#format-your-zone-file).
@@ -56,7 +56,7 @@ To export records using the dashboard:
-To export records using the API, send a [GET request](/api/operations/dns-records-for-a-zone-export-dns-records).
+To export records using the API, send a [GET request](/api/resources/dns/subresources/records/methods/export/).
diff --git a/src/content/docs/dns/manage-dns-records/how-to/managing-dynamic-ip-addresses.mdx b/src/content/docs/dns/manage-dns-records/how-to/managing-dynamic-ip-addresses.mdx
index 5c7d251f9792a07..a773e1bb9b18006 100644
--- a/src/content/docs/dns/manage-dns-records/how-to/managing-dynamic-ip-addresses.mdx
+++ b/src/content/docs/dns/manage-dns-records/how-to/managing-dynamic-ip-addresses.mdx
@@ -10,7 +10,7 @@ Most Internet service providers and some hosting providers dynamically update th
## Cloudflare API
-Create a script to monitor IP address changes and then have that script push changes to the [Cloudflare API](/api/operations/dns-records-for-a-zone-update-dns-record).
+Create a script to monitor IP address changes and then have that script push changes to the [Cloudflare API](/api/resources/dns/subresources/records/methods/update/).
## ddclient
diff --git a/src/content/docs/dns/manage-dns-records/reference/record-attributes.mdx b/src/content/docs/dns/manage-dns-records/reference/record-attributes.mdx
index 9888f51d3df5b4d..773a7d5046f03f2 100644
--- a/src/content/docs/dns/manage-dns-records/reference/record-attributes.mdx
+++ b/src/content/docs/dns/manage-dns-records/reference/record-attributes.mdx
@@ -47,7 +47,7 @@ Comments and tags are only supported for [full](/dns/zone-setups/full-setup/) an
## Add or edit record attributes
-Create or edit record attributes just like any other aspect of DNS records, whether through the [dashboard](/dns/manage-dns-records/how-to/create-dns-records/) or [API](/api/operations/dns-records-for-a-zone-create-dns-record).
+Create or edit record attributes just like any other aspect of DNS records, whether through the [dashboard](/dns/manage-dns-records/how-to/create-dns-records/) or [API](/api/resources/dns/subresources/records/methods/create/).
You can also add or edit attributes by [exporting and re-importing](/dns/manage-dns-records/how-to/import-and-export/#dns-record-attributes) your records, or using the [Batch record changes API](/dns/manage-dns-records/how-to/batch-record-changes/#use-the-api).
diff --git a/src/content/docs/dns/nameservers/custom-nameservers/account-custom-nameservers.mdx b/src/content/docs/dns/nameservers/custom-nameservers/account-custom-nameservers.mdx
index 3b5e989ac0bd28a..6625b0ba4b0e41d 100644
--- a/src/content/docs/dns/nameservers/custom-nameservers/account-custom-nameservers.mdx
+++ b/src/content/docs/dns/nameservers/custom-nameservers/account-custom-nameservers.mdx
@@ -43,7 +43,7 @@ For this configuration to be possible, a few conditions apply:
-Use the [Add account custom nameserver endpoint](/api/operations/account-level-custom-nameservers-add-account-custom-nameserver) to create account custom nameservers. Follow the [conditions](#configuration-conditions) for `ns_name` and `ns_set`.
+Use the [Add account custom nameserver endpoint](/api/resources/custom_nameservers/methods/create/) to create account custom nameservers. Follow the [conditions](#configuration-conditions) for `ns_name` and `ns_set`.
@@ -88,7 +88,7 @@ Cloudflare will assign an IPv4 and an IPv6 address to each ACNS name, and these
-Use the endpoint [Update DNS Settings for a Zone](/api/operations/dns-settings-for-a-zone-update-dns-settings) and configure the `nameservers` object accordingly for each zone.
+Use the endpoint [Update DNS Settings for a Zone](/api/resources/dns/subresources/settings/methods/edit/) and configure the `nameservers` object accordingly for each zone.
@@ -116,7 +116,7 @@ Refer to [DNS zone defaults](/dns/nameservers/nameserver-options/#dns-zone-defau
-Use the endpoint [Update DNS Settings for an Account](/api/operations/dns-settings-for-an-account-update-dns-settings). Within the `zone_defaults` object, set the following:
+Use the endpoint [Update DNS Settings for an Account](/api/resources/dns/subresources/settings/methods/edit/). Within the `zone_defaults` object, set the following:
```txt
"zone_defaults": {
@@ -144,8 +144,8 @@ To remove ACNS from a zone, first update your nameservers to stop using ACNS:
-* If you are using [Cloudflare Registrar](/registrar/), use the [Set ACNS Related Zone Metadata endpoint](/api/operations/account-level-custom-nameservers-usage-for-a-zone-set-account-custom-nameserver-related-zone-metadata) to change the `enabled` parameter to `false`, and then [contact Cloudflare Support](/support/contacting-cloudflare-support/) to set your nameservers back to the regular Cloudflare branded nameservers.
-* If you are not using [Cloudflare Registrar](/registrar/), modify the domain's registrar to use your regular Cloudflare branded nameservers and then use the [Set ACNS Related Zone Metadata endpoint](/api/operations/account-level-custom-nameservers-usage-for-a-zone-set-account-custom-nameserver-related-zone-metadata) to set the `enabled` parameter to `false`.
+* If you are using [Cloudflare Registrar](/registrar/), use the [Update DNS settings endpoint](/api/resources/dns/subresources/settings/methods/edit/) to change the `enabled` parameter to `false`, and then [contact Cloudflare Support](/support/contacting-cloudflare-support/) to set your nameservers back to the regular Cloudflare branded nameservers.
+* If you are not using [Cloudflare Registrar](/registrar/), modify the domain's registrar to use your regular Cloudflare branded nameservers and then use the [Update DNS settings endpoint](/api/resources/dns/subresources/settings/methods/edit/) to set the `enabled` parameter to `false`.
@@ -164,7 +164,7 @@ Following the [configuration conditions](#configuration-conditions), each set mu
-Use the [Delete account custom nameserver endpoint](/api/operations/account-level-custom-nameservers-delete-account-custom-nameserver) to delete a specific ACNS.
+Use the [Delete account custom nameserver endpoint](/api/resources/custom_nameservers/methods/delete/) to delete a specific ACNS.
\ No newline at end of file
diff --git a/src/content/docs/dns/nameservers/custom-nameservers/tenant-custom-nameservers.mdx b/src/content/docs/dns/nameservers/custom-nameservers/tenant-custom-nameservers.mdx
index 76f9a347e845928..4c4e13aaab3d6de 100644
--- a/src/content/docs/dns/nameservers/custom-nameservers/tenant-custom-nameservers.mdx
+++ b/src/content/docs/dns/nameservers/custom-nameservers/tenant-custom-nameservers.mdx
@@ -32,7 +32,7 @@ For this configuration to be possible, a few conditions apply:
If you are an account owner and your account is part of a tenant that has custom nameservers, do the following:
-1. Use a [PUT command](/api/operations/account-level-custom-nameservers-usage-for-a-zone-set-account-custom-nameserver-related-zone-metadata) and specify `ns_type` and `ns_set`.
+1. Use a [PUT command](/api/resources/zones/subresources/custom_nameservers/methods/update/) and specify `ns_type` and `ns_set`.
```bash
curl --request PUT https://api.cloudflare.com/client/v4/zones/{zone_id}/custom_ns \
@@ -55,7 +55,7 @@ If the parameter `ns_set` is omitted, the default set `1` will be assigned.
2. If you are **not** using [Cloudflare Registrar](/registrar/), update the nameservers at your registrar to use the TCNS names. If you are using [Cloudflare Registrar](/registrar/), no further action is needed.
-To make these TCNS the default namerservers for all new zones added to your account from now on, use the endpoint [Update DNS Settings for an Account](/api/operations/dns-settings-for-an-account-update-dns-settings). Within the `zone_defaults` object, set the following:
+To make these TCNS the default namerservers for all new zones added to your account from now on, use the endpoint [Update DNS Settings for an Account](/api/resources/dns/subresources/settings/methods/edit/). Within the `zone_defaults` object, set the following:
```txt
"zone_defaults": {
@@ -66,7 +66,7 @@ To make these TCNS the default namerservers for all new zones added to your acco
```
### Disable tenant custom nameservers on a zone
-To remove TCNS and their associated DNS records from a zone, use a [PUT command](/api/operations/account-level-custom-nameservers-usage-for-a-zone-set-account-custom-nameserver-related-zone-metadata).
+To remove TCNS and their associated DNS records from a zone, use a [PUT command](/api/resources/zones/subresources/custom_nameservers/methods/update/).
If you are **not** using [Cloudflare Registrar](/registrar/), also remove the TCNS at your domain’s registrar.
diff --git a/src/content/docs/dns/nameservers/custom-nameservers/zone-custom-nameservers.mdx b/src/content/docs/dns/nameservers/custom-nameservers/zone-custom-nameservers.mdx
index 107479c00573638..4a92a8851a456c3 100644
--- a/src/content/docs/dns/nameservers/custom-nameservers/zone-custom-nameservers.mdx
+++ b/src/content/docs/dns/nameservers/custom-nameservers/zone-custom-nameservers.mdx
@@ -34,7 +34,7 @@ To create zone custom nameservers:
-Use the [Edit zone endpoint](/api/operations/zones-0-patch) and specify the custom nameservers in the payload:
+Use the [Edit zone endpoint](/api/resources/zones/methods/edit/) and specify the custom nameservers in the payload:
```txt
"vanity_name_servers": ["ns1.example.com","ns2.example.com"]
@@ -52,7 +52,7 @@ The next step depends on whether you are using [Cloudflare Registrar](/registrar
If you are using [Cloudflare as a secondary DNS provider](/dns/zone-setups/zone-transfers/cloudflare-as-secondary/), you can still set up zone custom nameservers. After following the [steps above](/dns/nameservers/custom-nameservers/zone-custom-nameservers/#primary-full-setup-zones) to create zone custom nameservers, do the following:
-1. Get the ZCNS IPs. You can see them on the dashboard (**DNS** > **Records**) or you can use the [Zone details endpoint](/api/operations/zones-0-get) to get the `vanity_name_servers_ips`.
+1. Get the ZCNS IPs. You can see them on the dashboard (**DNS** > **Records**) or you can use the [Zone details endpoint](/api/resources/zones/methods/get/) to get the `vanity_name_servers_ips`.
2. At your primary DNS provider, add [`NS` records](/dns/manage-dns-records/reference/dns-record-types/#ns) and, on the subdomains that you used as ZCNS names, add `A/AAAA` records.
3. At your registrar, add the zone custom nameservers as your authoritative nameservers and as glue (A and AAAA) records ([RFC 1912](https://www.rfc-editor.org/rfc/rfc1912.html)).
@@ -68,7 +68,7 @@ To remove zone custom nameservers (and their associated, read-only DNS records):
-Use the [Edit zone endpoint](/api/operations/zones-0-patch) and include an empty array in the payload:
+Use the [Edit zone endpoint](/api/resources/zones/methods/edit/) and include an empty array in the payload:
```txt
"vanity_name_servers": []
diff --git a/src/content/docs/dns/reference/analytics-api-properties.mdx b/src/content/docs/dns/reference/analytics-api-properties.mdx
index 6184e997dae0d92..49609ca177431ad 100644
--- a/src/content/docs/dns/reference/analytics-api-properties.mdx
+++ b/src/content/docs/dns/reference/analytics-api-properties.mdx
@@ -13,10 +13,10 @@ description: API properties that you can use in API requests for Cloudflare DNS
import { Details, Render } from "~/components"
-This page describes API properties that you can use in requests to the [DNS analytics API](/api/operations/dns-analytics-table).
+This page describes API properties that you can use in requests to the [DNS analytics API](/api/resources/dns/subresources/analytics/subresources/reports/methods/get/).
:::caution[Warning]
-The [DNS analytics API](/api/operations/dns-analytics-table), along with the following [API properties](/dns/reference/analytics-api-properties/), will be deprecated soon.
+The [DNS analytics API](/api/resources/dns/subresources/analytics/subresources/reports/methods/get/), along with the following [API properties](/dns/reference/analytics-api-properties/), will be deprecated soon.
To access the new analytics dashboard, go to **DNS** > **Analytics**. Refer to [Analytics and logs](/dns/additional-options/analytics/) for details.
:::
diff --git a/src/content/docs/dns/troubleshooting/faq.mdx b/src/content/docs/dns/troubleshooting/faq.mdx
index bc2d1b7c2ad872f..0e948fbb59367dc 100644
--- a/src/content/docs/dns/troubleshooting/faq.mdx
+++ b/src/content/docs/dns/troubleshooting/faq.mdx
@@ -197,7 +197,7 @@ Make sure the argument `zone_id = data.cloudflare_zones.example_com.zones[0].id`
## Why am I getting hundreds of random DNS records after adding my domain?
-This can happen when you had a wildcard \* record configured at your previous authoritative DNS. You can remove these records in bulk [using the API](/api/operations/dns-records-for-a-zone-delete-dns-record).
+This can happen when you had a wildcard \* record configured at your previous authoritative DNS. You can remove these records in bulk [using the API](/api/resources/dns/subresources/records/methods/delete/).
You can also:
diff --git a/src/content/docs/dns/zone-setups/conversions/convert-full-to-secondary.mdx b/src/content/docs/dns/zone-setups/conversions/convert-full-to-secondary.mdx
index 925e7f3715a1497..d5568966b6242c4 100644
--- a/src/content/docs/dns/zone-setups/conversions/convert-full-to-secondary.mdx
+++ b/src/content/docs/dns/zone-setups/conversions/convert-full-to-secondary.mdx
@@ -18,7 +18,7 @@ Follow the steps below to achieve this conversion.
1. [Export a zone file](/dns/manage-dns-records/how-to/import-and-export/#export-records).
2. Import the zone file into your new primary DNS provider.
-3. At your Cloudflare zone, use the [Update DNS Settings](/api/operations/dns-settings-for-a-zone-update-dns-settings) endpoint to enable [secondary DNS overrides](/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic/). Set the value for `secondary_overrides` to `true`.
+3. At your Cloudflare zone, use the [Update DNS Settings](/api/resources/dns/subresources/settings/methods/edit/) endpoint to enable [secondary DNS overrides](/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic/). Set the value for `secondary_overrides` to `true`.
:::note
Enabling secondary DNS overrides is necessary in case you have DNS records that you wish to keep proxied.
@@ -47,7 +47,7 @@ Follow the steps below to achieve this conversion.
## 3. Convert the zone and initiate zone transfers
-1. Use the [Edit Zone endpoint](/api/operations/zones-0-patch) with `type` set to `secondary` to convert the zone type. The existing records will remain in place.
+1. Use the [Edit Zone endpoint](/api/resources/zones/methods/edit/) with `type` set to `secondary` to convert the zone type. The existing records will remain in place.
2. Go to **DNS** > **Settings** > **DNS Zone Transfers** and select **Manage linked peers**.
3. Link the peer server you created in the previous steps and select **Save**.
4. On **DNS** > **Settings**, select **Initiate zone transfer**.
diff --git a/src/content/docs/dns/zone-setups/conversions/convert-partial-to-secondary.mdx b/src/content/docs/dns/zone-setups/conversions/convert-partial-to-secondary.mdx
index 8fbcba8381610d7..f760d0b07409c21 100644
--- a/src/content/docs/dns/zone-setups/conversions/convert-partial-to-secondary.mdx
+++ b/src/content/docs/dns/zone-setups/conversions/convert-partial-to-secondary.mdx
@@ -82,19 +82,19 @@ Final records adjusted in the zone file:
## 2. Configure the Cloudflare zone
-1. Use the [Import DNS Records endpoint](/api/operations/dns-records-for-a-zone-import-dns-records) with a properly [formatted zone file](/dns/manage-dns-records/how-to/import-and-export/#format-your-zone-file) to import the records into your partial zone.
+1. Use the [Import DNS Records endpoint](/api/resources/dns/subresources/records/methods/import/) with a properly [formatted zone file](/dns/manage-dns-records/how-to/import-and-export/#format-your-zone-file) to import the records into your partial zone.
Existing and already proxied records
will not be overwritten by the import.
-2. Use the [Update DNS Settings endpoint](/api/operations/dns-settings-for-a-zone-update-dns-settings) with `secondary_overrides` set to `true`, to enable Secondary DNS Override.
+2. Use the [Update DNS Settings endpoint](/api/resources/dns/subresources/settings/methods/edit/) with `secondary_overrides` set to `true`, to enable Secondary DNS Override.
:::caution
This step is essential so that Cloudflare can keep the proxy status of the records after the conversion.
:::
-3. Use the [Edit Zone endpoint](/api/operations/zones-0-patch) with `type` set to `secondary`, to convert the zone type.
+3. Use the [Edit Zone endpoint](/api/resources/zones/methods/edit/) with `type` set to `secondary`, to convert the zone type.
You can verify if it answers as expected by querying the new assigned secondary nameservers. You can find your nameservers in [**DNS** > **Records**](https://dash.cloudflare.com/?to=/:account/:zone/dns/records), and they should follow a format like `ns0123.secondary.cloudflare.com`.
@@ -135,8 +135,8 @@ If you keep any DNS records that still refer `cdn.cloudflare.net`, HTTP traffic
-Use the [Update Secondary Zone Configuration endpoint]() to link your Cloudflare zone to the peer DNS server.
+Use the [Update Secondary Zone Configuration endpoint](/api/resources/dns/subresources/zone_transfers/subresources/peers/methods/update/) to link your Cloudflare zone to the peer DNS server.
-4. In [**DNS** > **Settings**](https://dash.cloudflare.com/?to=/:account/:zone/dns/settings), confirm the linked peer is listed under **DNS Zone Transfers**, and select **Initiate zone transfer**. Alternatively, you can use the [Force AXFR endpoint]().
+4. In [**DNS** > **Settings**](https://dash.cloudflare.com/?to=/:account/:zone/dns/settings), confirm the linked peer is listed under **DNS Zone Transfers**, and select **Initiate zone transfer**. Alternatively, you can use the [Force AXFR endpoint](/api/resources/dns/subresources/zone_transfers/subresources/force_axfr/methods/create/).
diff --git a/src/content/docs/dns/zone-setups/conversions/convert-secondary-to-full.mdx b/src/content/docs/dns/zone-setups/conversions/convert-secondary-to-full.mdx
index e231b0405b7f1e1..baaa8a79c43fa34 100644
--- a/src/content/docs/dns/zone-setups/conversions/convert-secondary-to-full.mdx
+++ b/src/content/docs/dns/zone-setups/conversions/convert-secondary-to-full.mdx
@@ -27,11 +27,11 @@ Follow the steps below to achieve this conversion.
- If you have [Secondary DNS override](/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic/), confirm each record has the appropriate setting (**Proxied** or **DNS only**).
- If [Secondary DNS override](/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic/) is disabled, make sure all of your DNS records are listed as **DNS only**.
-3. (Optional) For consistency, use the [Update DNS Settings](/api/operations/dns-settings-for-a-zone-update-dns-settings) endpoint to specify SOA record fields according to your needs. Once Cloudflare automatically generates an SOA record for your zone on full setup, the field overrides will be considered.
+3. (Optional) For consistency, use the [Update DNS Settings](/api/resources/dns/subresources/settings/methods/edit/) endpoint to specify SOA record fields according to your needs. Once Cloudflare automatically generates an SOA record for your zone on full setup, the field overrides will be considered.
## 3. Convert your zone
-1. Use the [Edit Zone endpoint](/api/operations/zones-0-patch) with `type` set to `full` to convert the zone type. Existing DNS records will not be affected.
+1. Use the [Edit Zone endpoint](/api/resources/zones/methods/edit/) with `type` set to `full` to convert the zone type. Existing DNS records will not be affected.
2. Go to [**DNS** > **Records**](https://dash.cloudflare.com/?to=/:account/:zone/dns/records) and take note of your new **Cloudflare Nameservers**.
3. At your domain registrar (or parent zone), [update your nameservers](/dns/nameservers/update-nameservers/). Replace the nameservers ending in `secondary.cloudflare.com` by the ones ending in `ns.cloudflare.com`.
diff --git a/src/content/docs/dns/zone-setups/conversions/convert-secondary-to-partial.mdx b/src/content/docs/dns/zone-setups/conversions/convert-secondary-to-partial.mdx
index ac6f16d8e26396e..9781aa7019934c2 100644
--- a/src/content/docs/dns/zone-setups/conversions/convert-secondary-to-partial.mdx
+++ b/src/content/docs/dns/zone-setups/conversions/convert-secondary-to-partial.mdx
@@ -39,7 +39,7 @@ Follow the steps below to achieve this conversion.
## 3. Convert your Cloudflare zone
1. Back at your Cloudflare zone, confirm that you have all the `A`, `AAAA`, or `CNAME` [DNS records](/dns/manage-dns-records/how-to/create-dns-records/) needed for the hostnames you pointed to `{your-hostname}.cdn.cloudflare.net` in the previous step. You can also delete any DNS records that have a different type, as they will no longer resolve once you convert your zone to a partial setup.
-2. Use the [Edit Zone endpoint](/api/operations/zones-0-patch) with `type` set to `partial` to convert the zone type. Existing DNS records will not be affected.
+2. Use the [Edit Zone endpoint](/api/resources/zones/methods/edit/) with `type` set to `partial` to convert the zone type. Existing DNS records will not be affected.
3. On [**DNS** > **Records**](https://dash.cloudflare.com/?to=/:account/:zone/dns/records), get the **Verification TXT Record** and add it at your authoritative DNS provider.
diff --git a/src/content/docs/dns/zone-setups/subdomain-setup/setup/parent-on-full.mdx b/src/content/docs/dns/zone-setups/subdomain-setup/setup/parent-on-full.mdx
index 07f624a65d860c3..338d05934e7fa92 100644
--- a/src/content/docs/dns/zone-setups/subdomain-setup/setup/parent-on-full.mdx
+++ b/src/content/docs/dns/zone-setups/subdomain-setup/setup/parent-on-full.mdx
@@ -65,7 +65,7 @@ If you have already created DNS records covering your subdomain in the parent zo
6. Get the nameserver names for the subdomain. These can be found within your newly created child zone in [DNS > Records](https://dash.cloudflare.com/?to=/:account/:zone/dns/records), and will **not** be the same nameservers as the ones used in the parent zone.
:::note
- If the parent zone is on Cloudflare, steps 7 and 9 below can be achieved via API. Use the [Batch DNS records](/api/operations/dns-records-for-a-zone-batch-dns-records) endpoint to delete and create or update DNS records within a single request. Refer to [Batch record changes](/dns/manage-dns-records/how-to/batch-record-changes/) for further guidance.
+ If the parent zone is on Cloudflare, steps 7 and 9 below can be achieved via API. Use the [Batch DNS records](/api/resources/dns/subresources/records/methods/batch/) endpoint to delete and create or update DNS records within a single request. Refer to [Batch record changes](/dns/manage-dns-records/how-to/batch-record-changes/) for further guidance.
:::
7. Within the **DNS** > **Records** of the parent zone, update existing address records (`A/AAAA`) on your subdomain to `NS` records. If you only have one address record, update the existing one and add a new `NS` record. If you have multiple address records, update any two of them.
diff --git a/src/content/docs/dns/zone-setups/zone-transfers/access-control-lists/create-new-list.mdx b/src/content/docs/dns/zone-setups/zone-transfers/access-control-lists/create-new-list.mdx
index 5e57274628d51b9..352c8fef49b2f84 100644
--- a/src/content/docs/dns/zone-setups/zone-transfers/access-control-lists/create-new-list.mdx
+++ b/src/content/docs/dns/zone-setups/zone-transfers/access-control-lists/create-new-list.mdx
@@ -29,6 +29,6 @@ To create a new ACL using the dashboard:
-To create a new ACL using the API, send a [POST]() request.
+To create a new ACL using the API, send a [POST](/api/resources/dns/subresources/zone_transfers/subresources/acls/methods/create/) request.
diff --git a/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-primary/dnssec-for-primary.mdx b/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-primary/dnssec-for-primary.mdx
index 6128c738222609c..d5a3bbb60cb5f05 100644
--- a/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-primary/dnssec-for-primary.mdx
+++ b/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-primary/dnssec-for-primary.mdx
@@ -25,7 +25,7 @@ Note that:
## Steps
-1. Use the [Edit DNSSEC Status endpoint](/api/operations/dnssec-edit-dnssec-status) to enable DNSSEC and activate multi-signer DNSSEC for your zone. This is done by setting `status` to `active` and `dnssec_multi_signer` to `true`, as in the following example.
+1. Use the [Edit DNSSEC Status endpoint](/api/resources/dns/subresources/dnssec/methods/edit/) to enable DNSSEC and activate multi-signer DNSSEC for your zone. This is done by setting `status` to `active` and `dnssec_multi_signer` to `true`, as in the following example.
```bash
curl --request PATCH \
diff --git a/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-primary/setup.mdx b/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-primary/setup.mdx
index 0bd55c4b9637263..1678c3f3c743598 100644
--- a/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-primary/setup.mdx
+++ b/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-primary/setup.mdx
@@ -77,7 +77,7 @@ To create a peer using the dashboard:
-To create a peer DNS server using the API, send a [POST]() request.
+To create a peer DNS server using the API, send a [POST](/api/resources/dns/subresources/zone_transfers/subresources/peers/methods/create/) request.
@@ -98,7 +98,7 @@ To link a primary zone to a peer using the dashboard:
-To link a primary zone to a peer using the API, send a [POST]() request with the ID of the peer you [previously created](#2-create-peer-dns-server-optional).
+To link a primary zone to a peer using the API, send a [POST](/api/resources/dns/subresources/zone_transfers/subresources/incoming/methods/create/) request with the ID of the peer you [previously created](#2-create-peer-dns-server-optional).
@@ -159,7 +159,7 @@ When you enable outgoing zone transfers, this will send a DNS NOTIFY message to
-To enable outgoing zone transfers using the API, send a [POST]() request.
+To enable outgoing zone transfers using the API, send a [POST](/api/resources/dns/subresources/zone_transfers/subresources/outgoing/methods/enable/) request.
diff --git a/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/dnssec-for-secondary.mdx b/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/dnssec-for-secondary.mdx
index d3348d19ce799de..b4a6cb5bb731316 100644
--- a/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/dnssec-for-secondary.mdx
+++ b/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/dnssec-for-secondary.mdx
@@ -42,7 +42,7 @@ In this setup, DNSSEC on your pirmary DNS provider does not need to be enabled.
-1. Use the [Edit DNSSEC Status endpoint](/api/operations/dnssec-edit-dnssec-status) and set a `status` of `active` for your zone.
+1. Use the [Edit DNSSEC Status endpoint](/api/resources/dns/subresources/dnssec/methods/edit/) and set a `status` of `active` for your zone.
```bash
curl --request PATCH \
@@ -55,7 +55,7 @@ https://api.cloudflare.com/client/v4/zones/{zone_id}/dnssec \
}'
```
-2. Use the [DNSSEC Details endpoint](/api/operations/dnssec-dnssec-details) to get the necessary values to create a **DS** record at your registrar.
+2. Use the [DNSSEC Details endpoint](/api/resources/dns/subresources/dnssec/methods/get/) to get the necessary values to create a **DS** record at your registrar.
3.
@@ -95,7 +95,7 @@ b. Under **DNSSEC with Secondary DNS** select **Pre-signed**.
-Use the [Edit DNSSEC Status endpoint](/api/operations/dnssec-edit-dnssec-status) and set the `dnssec_presigned` value to `true`.
+Use the [Edit DNSSEC Status endpoint](/api/resources/dns/subresources/dnssec/methods/edit/) and set the `dnssec_presigned` value to `true`.
```bash
curl --request PATCH \
diff --git a/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic.mdx b/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic.mdx
index cbc6f041b076730..984091633d8fc67 100644
--- a/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic.mdx
+++ b/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic.mdx
@@ -58,7 +58,7 @@ https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_settings \
}'
```
-2. For specific `A`, `AAAA`, or `CNAME` records, send a [POST](/api/operations/dns-records-for-a-zone-create-dns-record) request with the `proxied` status as `true`.
+2. For specific `A`, `AAAA`, or `CNAME` records, send a [POST](/api/resources/dns/subresources/records/methods/create/) request with the `proxied` status as `true`.
- Make sure the added record has the same name as the transferred record you intend to proxy. Cloudflare only looks at the name and the proxy status, so the record content does not matter.
diff --git a/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup.mdx b/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup.mdx
index a1771dc868ea1e0..7dac1f43fe7ad86 100644
--- a/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup.mdx
+++ b/src/content/docs/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup.mdx
@@ -90,7 +90,7 @@ To create a secondary zone using the dashboard:
-To create a secondary zone using the API, send a [POST]() request with the `type` parameter set to `"secondary"`.
+To create a secondary zone using the API, send a [POST](/api/resources/dns/subresources/zone_transfers/subresources/incoming/methods/create/) request with the `type` parameter set to `"secondary"`.
diff --git a/src/content/docs/dns/zone-setups/zone-transfers/index.mdx b/src/content/docs/dns/zone-setups/zone-transfers/index.mdx
index cecc218502b3c4c..993b6c38a307b10 100644
--- a/src/content/docs/dns/zone-setups/zone-transfers/index.mdx
+++ b/src/content/docs/dns/zone-setups/zone-transfers/index.mdx
@@ -22,7 +22,7 @@ With zone transfers, you have two configuration options:
Peer DNS servers can be used as primary and secondary external DNS servers. The same peer can be linked to multiple primary and secondary zones. Each peer can be associated with only one Transaction Signature (TSIG).
-You can manage peers via the [API](/api/operations/secondary-dns-\(-peer\)-list-peers) or the dashboard by going to **Manage Account** > **Configurations** > **DNS Zone Transfers**.
+You can manage peers via the [API](/api/resources/dns/subresources/zone_transfers/subresources/peers/methods/list/) or the dashboard by going to **Manage Account** > **Configurations** > **DNS Zone Transfers**.
Depending on the usage of the peer, the fields are interpreted in a different way:
diff --git a/src/content/docs/durable-objects/durable-objects-rest-api.mdx b/src/content/docs/durable-objects/durable-objects-rest-api.mdx
index dc4a4b92ec3ec68..bb31483101a657f 100644
--- a/src/content/docs/durable-objects/durable-objects-rest-api.mdx
+++ b/src/content/docs/durable-objects/durable-objects-rest-api.mdx
@@ -1,7 +1,7 @@
---
pcx_content_type: navigation
title: REST API
-external_link: /api/operations/durable-objects-namespace-list-namespaces
+external_link: /api/resources/durable_objects/subresources/namespaces/methods/list/
sidebar:
order: 5
diff --git a/src/content/docs/email-routing/api-reference.mdx b/src/content/docs/email-routing/api-reference.mdx
index 0905cdee751bf6a..d4fae4c2fe53a43 100644
--- a/src/content/docs/email-routing/api-reference.mdx
+++ b/src/content/docs/email-routing/api-reference.mdx
@@ -1,7 +1,7 @@
---
pcx_content_type: navigation
title: API reference
-external_link: /api/operations/email-routing-destination-addresses-list-destination-addresses
+external_link: /api/resources/email_routing/subresources/addresses/methods/list/
sidebar:
order: 9
diff --git a/src/content/docs/firewall/api/cf-filters/endpoints.mdx b/src/content/docs/firewall/api/cf-filters/endpoints.mdx
index 5e823ba09b07900..afa7f4c71ffeb75 100644
--- a/src/content/docs/firewall/api/cf-filters/endpoints.mdx
+++ b/src/content/docs/firewall/api/cf-filters/endpoints.mdx
@@ -26,7 +26,7 @@ For help with endpoints and pagination, refer to [Getting Started: Endpoints](/f
The Filters API endpoints require a value for ``.
-To retrieve a list of zones associated with your account, use the [List Zones](/api/operations/zones-get) operation and note the Zone ID associated with the domain for which you want to manage filters.
+To retrieve a list of zones associated with your account, use the [List Zones](/api/resources/zones/methods/list/) operation and note the Zone ID associated with the domain for which you want to manage filters.
:::
@@ -46,7 +46,7 @@ The Cloudflare Filters API supports the operations outlined below. Visit the pag
diff --git a/src/content/docs/firewall/api/cf-filters/json-object.mdx b/src/content/docs/firewall/api/cf-filters/json-object.mdx
index edf13a197574538..ee5f79b37c20893 100644
--- a/src/content/docs/firewall/api/cf-filters/json-object.mdx
+++ b/src/content/docs/firewall/api/cf-filters/json-object.mdx
@@ -11,7 +11,7 @@ head:
## Filter object structure and properties
-A JSON response for the [Filters API](/api/operations/filters-list-filters) has this structure:
+A JSON response for the [Filters API](/api/resources/filters/methods/list/) has this structure:
```json
{
diff --git a/src/content/docs/firewall/api/cf-firewall-rules/endpoints.mdx b/src/content/docs/firewall/api/cf-firewall-rules/endpoints.mdx
index d31eb3e45c47876..60fa913e122df6c 100644
--- a/src/content/docs/firewall/api/cf-firewall-rules/endpoints.mdx
+++ b/src/content/docs/firewall/api/cf-firewall-rules/endpoints.mdx
@@ -22,7 +22,7 @@ For help with endpoints and pagination, refer to [Getting Started: Endpoints](/f
The Firewall Rules API endpoints require a value for ``.
-To retrieve a list of zones associated with your account, use the [List Zones](/api/operations/zones-get) operation and note the zone ID associated with the domain whose firewall rules you want to manage.
+To retrieve a list of zones associated with your account, use the [List Zones](/api/resources/zones/methods/list/) operation and note the zone ID associated with the domain whose firewall rules you want to manage.
:::
@@ -39,7 +39,7 @@ The Cloudflare Firewall Rules API supports the operations outlined below. Visit
diff --git a/src/content/docs/firewall/api/cf-firewall-rules/json-object.mdx b/src/content/docs/firewall/api/cf-firewall-rules/json-object.mdx
index 1f725c9e9dbf407..321ad8355017b31 100644
--- a/src/content/docs/firewall/api/cf-firewall-rules/json-object.mdx
+++ b/src/content/docs/firewall/api/cf-firewall-rules/json-object.mdx
@@ -11,7 +11,7 @@ head:
## Firewall rule example JSON response
-A JSON response for the [Firewall Rules API](/api/operations/firewall-rules-list-firewall-rules) has this structure:
+A JSON response for the [Firewall Rules API](/api/resources/firewall/subresources/rules/methods/list/) has this structure:
```json
{
diff --git a/src/content/docs/firewall/cf-firewall-rules/order-priority.mdx b/src/content/docs/firewall/cf-firewall-rules/order-priority.mdx
index 575208c40ed97c2..42b67e157ebaa59 100644
--- a/src/content/docs/firewall/cf-firewall-rules/order-priority.mdx
+++ b/src/content/docs/firewall/cf-firewall-rules/order-priority.mdx
@@ -62,7 +62,7 @@ The **Priority** column in the rules list displays the priority value for each r
## Working with priority ordering
-Cloudflare has designed priority ordering to be extremely flexible. This flexibility is particularly useful for managing large rulesets programmatically via the Cloudflare API. Use the Update firewall rules command to set the `priority` property. Refer to [Cloudflare API: Firewall rules](/api/operations/firewall-rules-list-firewall-rules) for details.
+Cloudflare has designed priority ordering to be extremely flexible. This flexibility is particularly useful for managing large rulesets programmatically via the Cloudflare API. Use the Update firewall rules command to set the `priority` property. Refer to [Cloudflare API: Firewall rules](/api/resources/firewall/subresources/rules/methods/list/) for details.
While your priority numbering scheme can be arbitrary, keep the following in mind:
diff --git a/src/content/docs/fundamentals/api/how-to/create-via-api.mdx b/src/content/docs/fundamentals/api/how-to/create-via-api.mdx
index 97d9def5530a827..06c1fda17b2428a 100644
--- a/src/content/docs/fundamentals/api/how-to/create-via-api.mdx
+++ b/src/content/docs/fundamentals/api/how-to/create-via-api.mdx
@@ -24,7 +24,7 @@ Cloudflare also recommends limiting the use of the token via client IP address f
## Creating API tokens with the API
-Once you create an API token that can create other tokens, you can now use it in the API. Refer to the [API schema docs](/api/operations/user-api-tokens-create-token) for more information.
+Once you create an API token that can create other tokens, you can now use it in the API. Refer to the [API schema docs](/api/resources/user/subresources/tokens/methods/create/) for more information.
To create a token:
@@ -75,7 +75,7 @@ API token policies support three resource types: `User`, `Account`, and `Zone`.
:::note
-Fetch each object's ID by calling the appropriate `GET