Google Cloud Compute Engine Cloud Compute Engine Zones API
The Cloud Compute Engine Zones API from Google Cloud Compute Engine — 2 operation(s) for cloud compute engine zones.
The Cloud Compute Engine Zones API from Google Cloud Compute Engine — 2 operation(s) for cloud compute engine zones.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/google-cloud-compute-engine:google-cloud-compute-engine-zones-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Compute Engine Zones API
version: v1
description: Generated from Google's published Discovery document for Compute Engine API (compute v1, revision 20261106). 2 operation(s).
contact:
name: Google
url: https://developers.google.com/
termsOfService: https://developers.google.com/terms
servers:
- url: https://compute.googleapis.com
tags:
- name: Zones
paths:
/compute/v1/projects/{project}/zones:
get:
operationId: compute.zones.list
summary: List zones
description: Retrieves the list of Zone resources available to the specified project.
parameters:
- name: project
in: path
required: true
description: Project ID for this request.
schema:
type: string
pattern: (?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))
- name: filter
in: query
required: false
description: 'A filter expression that filters resources listed in the response. Most
Compute resources support two types of filter expressions:
expressions that support regular expressions and expressions that follow
API improvement proposal AIP-160.
These two types of filter expressions cannot be mixed in one request.
If you want to use AIP-160, your expression must specify the field name, an
operator, and the value that you want to use for filtering. The value
must be a string, a number, or a boolean. The operator
must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
For example, if you are filtering Compute Engine instances, you can
exclude instances named `example-instance` by specifying
`name != example-instance`.
The `:*` comparison can be used to test whether a key has been defined.
For example, to find all objects with `owner` label use:
```
labels.owner:*
```
You can also filter nested fields. For example, you could specify
`scheduling.automaticRestart = false` to include instances only
if they are not scheduled for automatic restarts. You can use filtering
on nested fields to filter based onresource labels.
To filter on multiple expressions, provide each separate expression within
parentheses. For example:
```
(scheduling.automaticRestart = true)
(cpuPlatform = "Intel Skylake")
```
By default, each expression is an `AND` expression. However, you
can include `AND` and `OR` expressions explicitly.
For example:
```
(cpuPlatform = "Intel Skylake") OR
(cpuPlatform = "Intel Broadwell") AND
(scheduling.automaticRestart = true)
```
If you want to use a regular expression, use the `eq` (equal) or `ne`
(not equal) operator against a single un-parenthesized expression with or
without quotes or against multiple parenthesized expressions. Examples:
`fieldname eq unquoted literal`
`fieldname eq ''single quoted literal''`
`fieldname eq "double quoted literal"`
`(fieldname1 eq literal) (fieldname2 ne "literal")`
The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
The literal value must match the entire field.
For example, to filter for instances that do not end with name "instance",
you would use `name ne .*instance`.
You cannot combine constraints on multiple fields using regular
expressions.'
schema:
type: string
- name: maxResults
in: query
required: false
description: 'The maximum number of results per page that should be returned.
If the number of available results is larger than `maxResults`,
Compute Engine returns a `nextPageToken` that can be used to get
the next page of results in subsequent list requests. Acceptable values are
`0` to `500`, inclusive. (Default: `500`)'
schema:
type: integer
minimum: 0
default: '500'
format: uint32
- name: orderBy
in: query
required: false
description: 'Sorts list results by a certain order. By default, results
are returned in alphanumerical order based on the resource name.
You can also sort results in descending order based on the creation
timestamp using `orderBy="creationTimestamp desc"`. This sorts
results based on the `creationTimestamp` field in
reverse chronological order (newest result first). Use this to sort
resources like operations so that the newest operation is returned first.
Currently, only sorting by `name` or
`creationTimestamp desc` is supported.'
schema:
type: string
- name: pageToken
in: query
required: false
description: 'Specifies a page token to use. Set `pageToken` to the
`nextPageToken` returned by a previous list request to get
the next page of results.'
schema:
type: string
- name: returnPartialSuccess
in: query
required: false
description: 'Opt-in for partial success behavior which provides partial results in case
of failure. The default value is false.
For example, when partial success behavior is enabled, aggregatedList for a
single zone scope either returns all resources in the zone or no resources,
with an error code.'
schema:
type: boolean
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ZoneList'
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/cloud-platform
- https://www.googleapis.com/auth/compute
- https://www.googleapis.com/auth/compute.readonly
- apiKey: []
tags:
- Zones
/compute/v1/projects/{project}/zones/{zone}:
get:
operationId: compute.zones.get
summary: Get zones
description: Returns the specified Zone resource.
parameters:
- name: project
in: path
required: true
description: Project ID for this request.
schema:
type: string
pattern: (?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))
- name: zone
in: path
required: true
description: Name of the zone resource to return.
schema:
type: string
pattern: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Zone'
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/cloud-platform
- https://www.googleapis.com/auth/compute
- https://www.googleapis.com/auth/compute.readonly
- apiKey: []
tags:
- Zones
components:
schemas:
DateTime:
properties:
hours:
format: int32
description: 'Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults
to 0 (midnight). An API may choose to allow the value "24:00:00" for
scenarios like business closing time.'
type: integer
utcOffset:
format: google-duration
type: string
description: 'UTC offset. Must be whole seconds, between -18 hours and +18 hours.
For example, a UTC offset of -4:00 would be represented as
{ seconds: -14400 }.'
nanos:
format: int32
type: integer
description: 'Optional. Fractions of seconds in nanoseconds. Must be from 0 to
999,999,999, defaults to 0.'
seconds:
description: 'Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
defaults to 0. An API may allow the value 60 if it allows leap-seconds.'
format: int32
type: integer
day:
description: 'Optional. Day of month. Must be from 1 to 31 and valid for the year and
month, or 0 if specifying a datetime without a day.'
type: integer
format: int32
month:
type: integer
description: 'Optional. Month of year. Must be from 1 to 12, or 0 if specifying a
datetime without a month.'
format: int32
timeZone:
$ref: '#/components/schemas/TimeZone'
description: Time zone.
minutes:
type: integer
description: Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
format: int32
year:
format: int32
description: 'Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a
datetime without a year.'
type: integer
description: "Represents civil time (or occasionally physical time).\n\nThis type can represent a civil time in one of a few possible ways:\n\n * When utc_offset is set and time_zone is unset: a civil time on a calendar\n day with a particular offset from UTC.\n * When time_zone is set and utc_offset is unset: a civil time on a calendar\n day in a particular time zone.\n * When neither time_zone nor utc_offset is set: a civil time on a calendar\n day in local time.\n\nThe date is relative to the Proleptic Gregorian Calendar.\n\nIf year, month, or day are 0, the DateTime is considered not to have a\nspecific year, month, or day respectively.\n\nThis type may also be used to represent a physical time if all the date and\ntime fields are set and either case of the `time_offset` oneof is set.\nConsider using `Timestamp` message for physical time instead. If your use\ncase also would like to store the user's timezone, that can be done in\nanother field.\n\nThis type is more flexible than some applications may want. Make sure to\ndocument and validate your application's limitations."
type: object
ZoneResourceStatus:
properties:
upcomingMaintenances:
items:
$ref: '#/components/schemas/PeriodicPartialMaintenanceSchedule'
readOnly: true
type: array
description: Output only. [Output Only] The upcoming maintenance schedule.
type: object
PeriodicPartialMaintenanceSchedule:
properties:
windowStartTime:
$ref: '#/components/schemas/DateTime'
description: 'The start civil timestamp of the window.
This contains a time zone.'
subType:
enum:
- MAINTENANCE_SUBTYPE_UNSPECIFIED
- MAINTENANCE_TYPE_CUSTOMER_MAINTENANCE
- MAINTENANCE_TYPE_DISRUPTIVE_UPGRADE
- MAINTENANCE_TYPE_STABLE
- MAINTENANCE_TYPE_TRANSITION
description: The maintenance type in which the zone is during the given window.
type: string
targetResource:
description: 'The target resource that the maintenance window is for.
For example, "projects/my-project/zones/us-central1-a".'
type: string
windowEndTime:
$ref: '#/components/schemas/DateTime'
description: 'The end civil timestamp of the window (not inclusive).
This contains a time zone.'
type:
type: string
enum:
- MAINTENANCE_TYPE_UNSPECIFIED
- PRIVATE_ZONE_MAINTENANCE
description: 'The periodic partial maintenance schedule includes 52 weeks worth of
maintenance windows.
LINT.IfChange(PeriodicPartialMaintenanceSchedule)'
type: object
DeprecationStatus:
description: Deprecation status for a public resource.
type: object
properties:
deleted:
description: 'An optional RFC3339 timestamp on or after which the state of this
resource is intended to change to DELETED. This is only
informational and the status will not change unless the client explicitly
changes it.'
type: string
obsolete:
description: 'An optional RFC3339 timestamp on or after which the state of this
resource is intended to change to OBSOLETE. This is only
informational and the status will not change unless the client explicitly
changes it.'
type: string
deprecated:
description: 'An optional RFC3339 timestamp on or after which the state of this
resource is intended to change to DEPRECATED. This is only
informational and the status will not change unless the client explicitly
changes it.'
type: string
state:
type: string
description: 'The deprecation state of this resource. This can be ACTIVE,DEPRECATED, OBSOLETE, or DELETED.
Operations which communicate the end of life date for an image, can useACTIVE. Operations which create a new resource using aDEPRECATED resource will return successfully, but with a
warning indicating the deprecated resource and recommending its
replacement. Operations which use OBSOLETE orDELETED resources will be rejected and result in an error.'
enum:
- ACTIVE
- DELETED
- DEPRECATED
- OBSOLETE
replacement:
description: 'The URL of the suggested replacement for a deprecated resource.
The suggested replacement resource must be the same kind of resource as the
deprecated resource.'
type: string
ZoneList:
type: object
description: Contains a list of zone resources.
properties:
selfLink:
description: Output only. [Output Only] Server-defined URL for this resource.
type: string
readOnly: true
items:
description: A list of Zone resources.
type: array
items:
$ref: '#/components/schemas/Zone'
id:
type: string
description: '[Output Only] Unique identifier for the resource; defined by the server.'
nextPageToken:
type: string
description: '[Output Only] This token allows you to get the next page of results for
list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for
the query parameter pageToken in the next list request.
Subsequent list requests will have their own nextPageToken to
continue paging through the results.'
warning:
type: object
description: '[Output Only] Informational warning message.'
properties:
data:
description: "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]"
items:
properties:
value:
description: '[Output Only] A warning data value corresponding to the key.'
type: string
key:
description: '[Output Only] A key that provides more detail on the warning being
returned. For example, for warnings where there are no results in a list
request for a particular zone, this key might be scope and
the key value might be the zone name. Other examples might be a key
indicating a deprecated resource and a suggested replacement, or a
warning about invalid network settings (for example, if an instance
attempts to perform IP forwarding but is not enabled for IP forwarding).'
type: string
type: object
type: array
message:
description: '[Output Only] A human-readable description of the warning code.'
type: string
code:
type: string
description: '[Output Only] A warning code, if applicable. For example, Compute
Engine returns NO_RESULTS_ON_PAGE if there
are no results in the response.'
enum:
- CLEANUP_FAILED
- DEPRECATED_RESOURCE_USED
- DEPRECATED_TYPE_USED
- DISK_SIZE_LARGER_THAN_IMAGE_SIZE
- EXPERIMENTAL_TYPE_USED
- EXTERNAL_API_WARNING
- FIELD_VALUE_OVERRIDEN
- INJECTED_KERNELS_DEPRECATED
- INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB
- LARGE_DEPLOYMENT_WARNING
- LIST_OVERHEAD_QUOTA_EXCEED
- MISSING_TYPE_DEPENDENCY
- NEXT_HOP_ADDRESS_NOT_ASSIGNED
- NEXT_HOP_CANNOT_IP_FORWARD
- NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE
- NEXT_HOP_INSTANCE_NOT_FOUND
- NEXT_HOP_INSTANCE_NOT_ON_NETWORK
- NEXT_HOP_NOT_RUNNING
- NOT_CRITICAL_ERROR
- NO_RESULTS_ON_PAGE
- PARTIAL_SUCCESS
- QUOTA_INFO_UNAVAILABLE
- REQUIRED_TOS_AGREEMENT
- RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING
- RESOURCE_NOT_DELETED
- SCHEMA_VALIDATION_IGNORED
- SINGLE_INSTANCE_PROPERTY_TEMPLATE
- UNDECLARED_PROPERTIES
- UNREACHABLE
kind:
description: Output only. Type of resource.
type: string
default: compute#zoneList
readOnly: true
GoogleRpcError:
type: object
description: The error envelope every Google API returns.
properties:
error:
type: object
properties:
code:
type: integer
message:
type: string
status:
type: string
details:
type: array
items:
type: object
TimeZone:
type: object
properties:
id:
description: IANA Time Zone Database time zone. For example "America/New_York".
type: string
version:
type: string
description: Optional. IANA Time Zone Database version number. For example "2019a".
description: 'Represents a time zone from the
[IANA Time Zone Database](https://www.iana.org/time-zones).'
Zone:
properties:
status:
enum:
- DOWN
- UP
description: '[Output Only] Status of the zone, either UP orDOWN.'
type: string
availableCpuPlatforms:
items:
type: string
type: array
description: '[Output Only] Available cpu/platform selections for the zone.'
kind:
description: 'Output only. [Output Only] Type of the resource. Always compute#zone for
zones.'
readOnly: true
default: compute#zone
type: string
description:
type: string
description: '[Output Only] Textual description of the resource.'
supportsPzs:
description: Output only. [Output Only] Reserved for future use.
readOnly: true
type: boolean
region:
type: string
description: '[Output Only] Full URL reference to the region which hosts the zone.'
id:
format: uint64
type: string
description: '[Output Only] The unique identifier for the resource. This identifier is
defined by the server.'
name:
type: string
description: '[Output Only] Name of the resource.'
resourceStatus:
$ref: '#/components/schemas/ZoneResourceStatus'
creationTimestamp:
type: string
description: '[Output Only] Creation timestamp inRFC3339
text format.'
selfLink:
description: '[Output Only] Server-defined URL for the resource.'
type: string
deprecated:
$ref: '#/components/schemas/DeprecationStatus'
description: '[Output Only] The deprecation status associated with this zone.'
type: object
description: 'Represents a Zone resource.
A zone is a deployment area. These deployment areas are subsets of a region.
For example the zone us-east1-b is located in theus-east1 region. For more information, readRegions and
Zones.'
securitySchemes:
apiKey:
type: apiKey
in: query
name: key
description: API key; accepted by methods that do not need user data.
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://accounts.google.com/o/oauth2/auth
tokenUrl: https://oauth2.googleapis.com/token
scopes:
https://www.googleapis.com/auth/devstorage.read_only: View your data in Google Cloud Storage
https://www.googleapis.com/auth/compute: View and manage your Google Compute Engine resources
https://www.googleapis.com/auth/devstorage.read_write: Manage your data in Cloud Storage and see the email address of your Google Account
https://www.googleapis.com/auth/cloud-platform: See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
https://www.googleapis.com/auth/compute.readonly: View your Google Compute Engine resources
https://www.googleapis.com/auth/devstorage.full_control: Manage your data and permissions in Cloud Storage and see the email address for your Google Account
externalDocs:
url: https://cloud.google.com/compute/
x-provenance:
method: harvested
publisher: Google
source: https://www.googleapis.com/discovery/v1/apis/compute/v1/rest
note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261106)