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

# POST /v1/{+parent}/deploymentGroups

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

Creates a DeploymentGroup The newly created DeploymentGroup will be in the `CREATING` state and can be retrieved via Get and List calls.

## Path parameters

- `parent` string, required

## Query parameters

- `deploymentGroupId` string
- `requestId` string

## Request body

- DeploymentGroup — A DeploymentGroup is a collection of DeploymentUnits that in a DAG-like structure.
  - `name` string — Identifier. The name of the deployment group. Format: 'projects/{project_id}/locations/{location}/deploymentGroups/{deployment_group}'.
  - `createTime` string, google-datetime — Output only. Time when the deployment group was created.
  - `updateTime` string, google-datetime — Output only. Time when the deployment group was last updated.
  - `labels` object — Optional. User-defined metadata for the deployment group.
  - `annotations` object — Optional. Arbitrary key-value metadata storage e.g. to help client tools identify deployment group during automation. See https://google.aip.dev/148#annotations for details on format and size limitations.
  - `state` 'STATE_UNSPECIFIED' | 'CREATING' | 'ACTIVE' | 'UPDATING' | 'DELETING' | 'FAILED' | 'SUSPENDED' | 'DELETED' — Output only. Current state of the deployment group.
  - `stateDescription` string — Output only. Additional information regarding the current state.
  - `deploymentUnits` DeploymentUnit[] — The deployment units of the deployment group in a DAG like structure. When a deployment group is being provisioned, the deployment units are deployed in a DAG order. The provided units must be in a DAG order, otherwise an error will be returned.
    - `id` string — The id of the deployment unit. Must be unique within the deployment group.
    - `deployment` string — Optional. The name of the deployment to be provisioned. Format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
    - `dependencies` string[] — Required. The IDs of the deployment units within the deployment group that this unit depends on.
  - `provisioningState` 'PROVISIONING_STATE_UNSPECIFIED' | 'PROVISIONING' | 'PROVISIONED' | 'FAILED_TO_PROVISION' | 'DEPROVISIONING' | 'DEPROVISIONED' | 'FAILED_TO_DEPROVISION' — Output only. The provisioning state of the deployment group.
  - `provisioningStateDescription` string — Output only. Additional information regarding the current provisioning state.
  - `provisioningError` Status — The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
    - `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.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/config.md) · [All operations](https://skmtc.net/google/apis/config/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/config/versions/22109f23b9eb/schema)
