---
title: "POST /v3/tagKeys"
method: POST
path: "/v3/tagKeys"
tags: ["tagKeys"]
---

# POST /v3/tagKeys

`POST /v3/tagKeys`

Creates a new TagKey. If another request with the same parameters is sent while the original request is in process, the second request will receive an error. A maximum of 1000 TagKeys can exist under a parent at any given time.

## Query parameters

- `validateOnly` boolean

## Request body

- TagKey — A TagKey, used to group a set of TagValues.
  - `createTime` string, google-datetime — Output only. Creation time.
  - `name` string — Immutable. The resource name for a TagKey. Must be in the format `tagKeys/{tag_key_id}`, where `tag_key_id` is the generated numeric id for the TagKey.
  - `updateTime` string, google-datetime — Output only. Update time.
  - `namespacedName` string — Output only. Immutable. Namespaced name of the TagKey.
  - `description` string — Optional. User-assigned description of the TagKey. Must not exceed 256 characters. Read-write.
  - `parent` string — Immutable. The resource name of the TagKey's parent. A TagKey can be parented by an Organization or a Project. For a TagKey parented by an Organization, its parent must be in the form `organizations/{org_id}`. For a TagKey parented by a Project, its parent can be in the form `projects/{project_id}` or `projects/{project_number}`.
  - `etag` string — Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagKeyRequest for details.
  - `purpose` 'PURPOSE_UNSPECIFIED' | 'GCE_FIREWALL' | 'DATA_GOVERNANCE' — Optional. A purpose denotes that this Tag is intended for use in policies of a specific policy engine, and will involve that policy engine in management operations involving this Tag. A purpose does not grant a policy engine exclusive rights to the Tag, and it may be referenced by other policy engines. A purpose cannot be changed once set.
  - `shortName` string — Required. Immutable. The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace. The short name must be 1-256 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
  - `allowedValuesRegex` string — Optional. Regular expression constraint for freeform tag values. If present, it implicitly allows freeform values (constrained by the regex).
  - `purposeData` object — Optional. Purpose data corresponds to the policy system that the tag is intended for. See documentation for `Purpose` for formatting of this field. Purpose data cannot be changed once set.

## Response `200`

Successful response

---

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