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.

GitHub OpenAPI

Operations 2

GET /compute/v1/projects/{project}/zones List zones #
GET /compute/v1/projects/{project}/zones/{zone} Get zones #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-cloud-compute-engine:google-cloud-compute-engine-zones-api"
All apis
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.

Get an API 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 Specification

google-cloud-compute-engine-zones-api-openapi.yml Raw ↑
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)