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:
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
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
}