## 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. ### Parameters - `params OriginCloudRegionEditParams` - `ZoneID param.Field[string]` Path param: Identifier. - `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. - `Vendor param.Field[OriginCloudRegionEditParamsVendor]` 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"` ### Returns - `type OriginCloudRegionEditResponse struct{…}` Response result for a list of origin cloud region mappings. - `ID OriginCloudRegionEditResponseID` - `const OriginCloudRegionEditResponseIDOriginPublicCloudRegion OriginCloudRegionEditResponseID = "origin_public_cloud_region"` - `Editable bool` Whether the setting can be modified by the current user. - `Value []OriginCloudRegion` - `OriginIP string` The origin IP address (IPv4 or IPv6, canonicalized). - `Region string` Cloud vendor region identifier. - `Vendor OriginCloudRegionVendor` Cloud vendor hosting the origin. - `const OriginCloudRegionVendorAws OriginCloudRegionVendor = "aws"` - `const OriginCloudRegionVendorAzure OriginCloudRegionVendor = "azure"` - `const OriginCloudRegionVendorGcp OriginCloudRegionVendor = "gcp"` - `const OriginCloudRegionVendorOci OriginCloudRegionVendor = "oci"` - `ModifiedOn Time` Time this mapping was last modified. - `ModifiedOn Time` Time the mapping set was last modified. Null when no mappings exist. ### Example ```go 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) } ``` #### Response ```json { "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 } ```