Skip to content
Start here

Create or update an origin cloud region mapping

client.Cache.OriginCloudRegions.Edit(ctx, params) (*OriginCloudRegionEditResponse, error)
PATCH/zones/{zone_id}/cache/origin_cloud_regions

Adds or updates a single IP-to-cloud-region mapping for the zone. Unlike POST, this operation is idempotent — if a mapping for the IP already exists it is overwritten. Returns the complete updated list of all mappings for the zone. Returns 403 (code 1164) when the zone has reached the limit of 3,500 IP mappings.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
ParametersExpand Collapse
params OriginCloudRegionEditParams
ZoneID param.Field[string]Optional

Path param: Identifier.

maxLength32
IP param.Field[string]

Body param: Origin IP address (IPv4 or IPv6). Normalized to canonical form before storage (RFC 5952 for IPv6).

Region param.Field[string]

Body param: Cloud vendor region identifier. Must be a valid region for the specified vendor as returned by the supported_regions endpoint.

Body param: Cloud vendor hosting the origin. Must be one of the supported vendors.

const OriginCloudRegionEditParamsVendorAws OriginCloudRegionEditParamsVendor = "aws"
const OriginCloudRegionEditParamsVendorAzure OriginCloudRegionEditParamsVendor = "azure"
const OriginCloudRegionEditParamsVendorGcp OriginCloudRegionEditParamsVendor = "gcp"
const OriginCloudRegionEditParamsVendorOci OriginCloudRegionEditParamsVendor = "oci"
ReturnsExpand Collapse
type OriginCloudRegionEditResponse struct{…}

Response result for a list of origin cloud region mappings.

ID OriginCloudRegionEditResponseID
Editable bool

Whether the setting can be modified by the current user.

OriginIP string

The origin IP address (IPv4 or IPv6, canonicalized).

Region string

Cloud vendor region identifier.

Vendor OriginCloudRegionVendor

Cloud vendor hosting the origin.

One of the following:
const OriginCloudRegionVendorAws OriginCloudRegionVendor = "aws"
const OriginCloudRegionVendorAzure OriginCloudRegionVendor = "azure"
const OriginCloudRegionVendorGcp OriginCloudRegionVendor = "gcp"
const OriginCloudRegionVendorOci OriginCloudRegionVendor = "oci"
ModifiedOn TimeOptional

Time this mapping was last modified.

formatdate-time
ModifiedOn TimeOptional

Time the mapping set was last modified. Null when no mappings exist.

formatdate-time

Create or update an origin cloud region mapping

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/cache"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  response, err := client.Cache.OriginCloudRegions.Edit(context.TODO(), cache.OriginCloudRegionEditParams{
    ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    IP: cloudflare.F("2001:db8::1"),
    Region: cloudflare.F("us-central1"),
    Vendor: cloudflare.F(cache.OriginCloudRegionEditParamsVendorGcp),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.ID)
}
{
  "errors": [],
  "messages": [],
  "result": {
    "editable": true,
    "id": "origin_public_cloud_region",
    "modified_on": "2026-03-01T12:00:00Z",
    "value": [
      {
        "modified_on": "2026-03-01T12:00:00Z",
        "origin-ip": "192.0.2.1",
        "region": "us-east-1",
        "vendor": "aws"
      },
      {
        "modified_on": "2026-03-01T12:00:00Z",
        "origin-ip": "2001:db8::1",
        "region": "us-central1",
        "vendor": "gcp"
      }
    ]
  },
  "success": true
}
{
  "errors": [
    {
      "code": 1157,
      "message": "The vendor provided doesn't exist or the region provided does not exist for the specified cloud vendor"
    }
  ],
  "messages": [],
  "result": null,
  "success": false
}
{
  "errors": [
    {
      "code": 1164,
      "message": "Maximum number of IP mappings configured for zone."
    }
  ],
  "messages": [],
  "result": null,
  "success": false
}
Returns Examples
{
  "errors": [],
  "messages": [],
  "result": {
    "editable": true,
    "id": "origin_public_cloud_region",
    "modified_on": "2026-03-01T12:00:00Z",
    "value": [
      {
        "modified_on": "2026-03-01T12:00:00Z",
        "origin-ip": "192.0.2.1",
        "region": "us-east-1",
        "vendor": "aws"
      },
      {
        "modified_on": "2026-03-01T12:00:00Z",
        "origin-ip": "2001:db8::1",
        "region": "us-central1",
        "vendor": "gcp"
      }
    ]
  },
  "success": true
}
{
  "errors": [
    {
      "code": 1157,
      "message": "The vendor provided doesn't exist or the region provided does not exist for the specified cloud vendor"
    }
  ],
  "messages": [],
  "result": null,
  "success": false
}
{
  "errors": [
    {
      "code": 1164,
      "message": "Maximum number of IP mappings configured for zone."
    }
  ],
  "messages": [],
  "result": null,
  "success": false
}