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

# POST /v1/{+parent}/postureDeployments

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

Creates a new PostureDeployment in a given project and location.

## Path parameters

- `parent` string, required

## Query parameters

- `postureDeploymentId` string

## Request body

- PostureDeployment — Details for a Posture deployment on an organization, folder, or project. You can deploy at most one posture to each organization, folder, or project. The parent resource for a posture deployment is always the organization, even if the deployment applies to a folder or project.
  - `state` 'STATE_UNSPECIFIED' | 'CREATING' | 'DELETING' | 'UPDATING' | 'ACTIVE' | 'CREATE_FAILED' | 'UPDATE_FAILED' | 'DELETE_FAILED' — Output only. The state of the posture deployment.
  - `postureRevisionId` string — Required. The revision ID of the posture used in the deployment.
  - `categories` string[] — Output only. The categories that the posture deployment belongs to, as determined by the Security Posture API.
  - `desiredPostureId` string — Output only. The posture ID that was specified for the deployment. Present only if the posture deployment is in a failed state.
  - `failureMessage` string — Output only. A description of why the posture deployment failed. Present only if the deployment is in a failed state.
  - `reconciling` boolean — Output only. Whether the posture deployment is in the process of being updated.
  - `desiredPostureRevisionId` string — Output only. The revision ID of the posture that was specified for the deployment. Present only if the deployment is in a failed state.
  - `postureId` string — Required. The posture used in the deployment, in the format `organizations/{organization}/locations/global/postures/{posture_id}`.
  - `name` string — Required. Identifier. The name of the posture deployment, in the format `organizations/{organization}/locations/global/postureDeployments/{deployment_id}`.
  - `updateTime` string, google-datetime — Output only. The time at which the posture deployment was last updated.
  - `targetResource` string — Required. The organization, folder, or project where the posture is deployed. Uses one of the following formats: * `organizations/{organization_number}` * `folders/{folder_number}` * `projects/{project_number}`
  - `description` string — Optional. A description of the posture deployment.
  - `annotations` object — Optional. The user-specified annotations for the posture deployment. For details about the values you can use in an annotation, see [AIP-148: Standard fields](https://google.aip.dev/148#annotations).
  - `etag` string — Optional. An opaque identifier for the current version of the posture deployment. To prevent concurrent updates from overwriting each other, always provide the `etag` when you update a posture deployment. You can also provide the `etag` when you delete a posture deployment, to help ensure that you're deleting the intended posture deployment.
  - `createTime` string, google-datetime — Output only. The time at which the posture deployment was created.

## Response `200`

Successful response

---

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