---
title: "POST /v1/{+parent}/workstationClusters"
method: POST
path: "/v1/{+parent}/workstationClusters"
tags: ["projects"]
---

# POST /v1/{+parent}/workstationClusters

`POST /v1/{+parent}/workstationClusters`

Creates a new workstation cluster.

## Path parameters

- `parent` string, required

## Query parameters

- `validateOnly` boolean
- `workstationClusterId` string

## Request body

- WorkstationCluster — A workstation cluster resource in the Cloud Workstations API. Defines a group of workstations in a particular region and the VPC network they're attached to.
  - `etag` string — Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
  - `deleteTime` string, google-datetime — Output only. Time when this workstation cluster was soft-deleted.
  - `tags` object — Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"
  - `workstationAuthorizationUrl` string — Optional. Specifies the redirect URL for unauthorized requests received by workstation VMs in this cluster. Redirects to this endpoint will send a base64 encoded `state` query param containing the target workstation name and original request hostname. The endpoint is responsible for retrieving a token using `GenerateAccessToken` and redirecting back to the original hostname with the token.
  - `workstationLaunchUrl` string — Optional. Specifies the launch URL for workstations in this cluster. Requests sent to unstarted workstations will be redirected to this URL. Requests redirected to the launch endpoint will be sent with a `workstation` and `project` query parameter containing the full workstation resource name and project ID, respectively. The launch endpoint is responsible for starting the workstation, polling it until it reaches `STATE_RUNNING`, and then issuing a redirect to the workstation's host URL.
  - `reconciling` boolean — Output only. Indicates whether this workstation cluster is currently being updated to match its intended state.
  - `updateTime` string, google-datetime — Output only. Time when this workstation cluster was most recently updated.
  - `labels` object — Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources.
  - `subnetwork` string — Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster.
  - `privateClusterConfig` PrivateClusterConfig — Configuration options for private workstation clusters.
    - `enablePrivateEndpoint` boolean — Immutable. Whether Workstations endpoint is private.
    - `serviceAttachmentUri` string — Output only. Service attachment URI for the workstation cluster. The service attachment is created when private endpoint is enabled. To access workstations in the workstation cluster, configure access to the managed service using [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services).
    - `allowedProjects` string[] — Optional. Additional projects that are allowed to attach to the workstation cluster's service attachment. By default, the workstation cluster's project and the VPC host project (if different) are allowed.
    - `clusterHostname` string — Output only. Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the workstation cluster, create a new DNS zone mapping this domain name to an internal IP address and a forwarding rule mapping that address to the service attachment.
  - `displayName` string — Optional. Human-readable name for this workstation cluster.
  - `domainConfig` DomainConfig — Configuration options for a custom domain.
    - `domain` string — Immutable. Domain used by Workstations for HTTP ingress.
  - `gatewayConfig` GatewayConfig — Configuration options for Cluster HTTP Gateway.
    - `http2Enabled` boolean — Optional. Whether HTTP/2 is enabled for this workstation cluster. Defaults to false.
  - `annotations` object — Optional. Client-specified annotations.
  - `degraded` boolean — Output only. Whether this workstation cluster is in degraded mode, in which case it may require user action to restore full functionality. The conditions field contains detailed information about the status of the cluster.
  - `network` string — Immutable. Name of the Compute Engine network in which instances associated with this workstation cluster will be created.
  - `name` string — Identifier. Full name of this workstation cluster.
  - `controlPlaneIp` string — Output only. The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
  - `uid` string — Output only. A system-assigned unique identifier for this workstation cluster.
  - `conditions` Status[] — Output only. Status conditions describing the workstation cluster's current state.
    - `code` integer — The status code, which should be an enum value of google.rpc.Code.
    - `message` string — A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    - `details` object[] — A list of messages that carry the error details. There is a common set of message types for APIs to use.
  - `createTime` string, google-datetime — Output only. Time when this workstation cluster was created.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/workstations.md) · [All operations](https://skmtc.dev/google/apis/workstations/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/workstations/revisions/fb7c28fdc534/schema)
