## List origin cloud region mappings `client.cache.originCloudRegions.list(OriginCloudRegionListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/zones/{zone_id}/origin/cloud_regions` Returns all IP-to-cloud-region mappings configured for the zone with pagination support. Each mapping tells Cloudflare which cloud vendor and region hosts the origin at that IP, enabling the edge to route via the nearest Tiered Cache upper-tier co-located with that cloud provider. Returns an empty array when no mappings exist. ### Parameters - `params: OriginCloudRegionListParams` - `zone_id: string` Path param: Identifier. - `page?: number` Query param: Page number of paginated results. - `per_page?: number` Query param: Number of items per page. ### Returns - `OriginCloudRegion` 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. - `"aws"` - `"azure"` - `"gcp"` - `"oci"` - `modified_on?: string` Time this mapping was last modified. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const originCloudRegion of client.cache.originCloudRegions.list({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(originCloudRegion.origin_ip); } ``` #### Response ```json { "errors": [], "messages": [], "result": [], "result_info": { "count": 0, "page": 1, "per_page": 20, "total_count": 0, "total_pages": 0 }, "success": true } ```