Batch create or update origin cloud region mappings
client.Cache.OriginCloudRegions.BulkEdit(ctx, params) (*OriginCloudRegionBulkEditResponse, error)
PATCH/zones/{zone_id}/cache/origin_cloud_regions/batch
Adds or updates up to 100 IP-to-cloud-region mappings in a single request. Each item is validated independently — valid items are applied and invalid items are returned in the failed array. The vendor and region for every item are validated against the list from GET /zones/{zone_id}/cache/origin_cloud_regions/supported_regions.
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:
Batch create or update origin cloud region mappings
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.BulkEdit(context.TODO(), cache.OriginCloudRegionBulkEditParams{
ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
Body: []cache.OriginCloudRegionBulkEditParamsBody{cache.OriginCloudRegionBulkEditParamsBody{
IP: cloudflare.F("192.0.2.1"),
Region: cloudflare.F("us-east-1"),
Vendor: cloudflare.F(cache.OriginCloudRegionBulkEditParamsBodyVendorAws),
}, cache.OriginCloudRegionBulkEditParamsBody{
IP: cloudflare.F("2001:db8::1"),
Region: cloudflare.F("us-central1"),
Vendor: cloudflare.F(cache.OriginCloudRegionBulkEditParamsBodyVendorGcp),
}},
})
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": {
"failed": [],
"succeeded": [
{
"origin-ip": "192.0.2.1",
"region": "us-east-1",
"vendor": "aws"
},
{
"origin-ip": "2001:db8::1",
"region": "us-central1",
"vendor": "gcp"
}
]
}
},
"success": true
}{
"errors": [
{
"code": 1164,
"message": "Maximum number of IP mappings configured for zone."
}
],
"messages": [],
"result": null,
"success": false
}{
"errors": [
{
"code": 1140,
"message": "Unable to update origin_public_cloud_region setting value. Internal error."
}
],
"messages": [],
"result": null,
"success": false
}{
"errors": [
{
"code": 1156,
"message": "Failed to validate region against cloud vendor"
}
],
"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": {
"failed": [],
"succeeded": [
{
"origin-ip": "192.0.2.1",
"region": "us-east-1",
"vendor": "aws"
},
{
"origin-ip": "2001:db8::1",
"region": "us-central1",
"vendor": "gcp"
}
]
}
},
"success": true
}{
"errors": [
{
"code": 1164,
"message": "Maximum number of IP mappings configured for zone."
}
],
"messages": [],
"result": null,
"success": false
}{
"errors": [
{
"code": 1140,
"message": "Unable to update origin_public_cloud_region setting value. Internal error."
}
],
"messages": [],
"result": null,
"success": false
}{
"errors": [
{
"code": 1156,
"message": "Failed to validate region against cloud vendor"
}
],
"messages": [],
"result": null,
"success": false
}