Regions
Where your project's storage and compute live.
A region is the physical location your project's storage and compute run in. You pick it once, when you create the project; every branch and endpoint under that project inherits it. Region is a property of the project, not something you change later.
The region catalog
These are the regions you can create projects in:
| region_id | name | default | geo |
|---|---|---|---|
| gcp-usc1-dev | — | default | — |
An em-dash means the catalog does not carry that field yet.
GET /v1/regions returns the same list. It is authenticated — the same
bearer that lists your projects lists the catalog. The response is a
single object:
{
"regions": [
{
"region_id": "gcp-usc1-dev",
"name": "gcp-usc1-dev",
"default": true,
"geo_lat": 0,
"geo_long": 0
}
]
}Each region carries:
region_id— the stable identifier you pass when creating a project.name— the display label. There is no display-name column yet, so it repeatsregion_id.default— whether this is the region the console preselects.geo_lat/geo_long— coordinates for distance-based selection,0until the directory carries real ones.
Choosing a region at create time
In the web console, New project has a Region dropdown. It defaults to Auto (nearest), which leaves the choice to the control plane. To pin a specific region, select it from the list.
Over the API, pass the optional region field on POST /v1/projects:
{ "name": "my-app", "region": "gcp-usc1-dev" }Omit region (or send null) for the same "auto" behaviour as the
console default. Auto is unambiguous only while exactly one region is
active: with more than one, a create naming no region is rejected with
region_required (422) instead of the control plane guessing.
Region availability
The table above is generated from the catalog, not hand-maintained, so it
is what you can create in right now. Regions are added as demand grows.
Nothing changes on the client when one comes online — the catalog and the
region field are already in place.