Skip to content
Start here

Create or replace an origin cloud region mapping

client.cache.originCloudRegions.update(stringoriginIP, OriginCloudRegionUpdateParams { zone_id, origin_ip, region, vendor } params, RequestOptionsoptions?): OriginCloudRegion { origin_ip, region, vendor, modified_on }
PUT/zones/{zone_id}/origin/cloud_regions/{origin_ip}

Creates a new IP-to-cloud-region mapping or replaces the existing mapping for the specified IP. PUT is idempotent — calling it repeatedly with the same body produces the same result. The IP path parameter is normalized to canonical form (RFC 5952 for IPv6) before storage. The vendor and region are validated against the list from GET /zones/{zone_id}/origin/cloud_regions/supported_regions. Returns 400 if the origin_ip in the body does not match the URL path parameter. 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
originIP: string
params: OriginCloudRegionUpdateParams { zone_id, origin_ip, region, vendor }
zone_id: string

Path param: Identifier.

maxLength32
origin_ip: string

Body param: Origin IP address (IPv4 or IPv6). For the single PUT endpoint (PUT /origin/cloud_regions/{origin_ip}), this field must match the path parameter or the request will be rejected with a 400 error. For the batch PUT endpoint, this field identifies which mapping to upsert.

region: string

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

vendor: "aws" | "azure" | "gcp" | "oci"

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

One of the following:
"aws"
"azure"
"gcp"
"oci"
ReturnsExpand Collapse
OriginCloudRegion { origin_ip, region, vendor, modified_on }

A single origin IP-to-cloud-region mapping.

origin_ip: string

The origin IP address (IPv4 or IPv6). Normalized to canonical form (RFC 5952 for IPv6).

region: string

Cloud vendor region identifier.

vendor: "aws" | "azure" | "gcp" | "oci"

Cloud vendor hosting the origin.

One of the following:
"aws"
"azure"
"gcp"
"oci"
modified_on?: string

Time this mapping was last modified.

formatdate-time

Create or replace an origin cloud region mapping

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const originCloudRegion = await client.cache.originCloudRegions.update('192.0.2.1', {
  zone_id: '023e105f4ecef8ad9ca31a8372d0c353',
  origin_ip: '192.0.2.1',
  region: 'us-east-1',
  vendor: 'aws',
});

console.log(originCloudRegion.origin_ip);
{
  "errors": [],
  "messages": [],
  "result": {
    "modified_on": "2026-03-01T12:00:00Z",
    "origin_ip": "192.0.2.1",
    "region": "us-east-1",
    "vendor": "aws"
  },
  "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": 1146,
      "message": "body origin_ip does not match URL"
    }
  ],
  "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": {
    "modified_on": "2026-03-01T12:00:00Z",
    "origin_ip": "192.0.2.1",
    "region": "us-east-1",
    "vendor": "aws"
  },
  "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": 1146,
      "message": "body origin_ip does not match URL"
    }
  ],
  "messages": [],
  "result": null,
  "success": false
}
{
  "errors": [
    {
      "code": 1164,
      "message": "Maximum number of IP mappings configured for zone."
    }
  ],
  "messages": [],
  "result": null,
  "success": false
}