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

# POST /v1/{+parent}/aspectTypes

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

Creates an AspectType.

## Path parameters

- `parent` string, required

## Query parameters

- `aspectTypeId` string
- `validateOnly` boolean

## Request body

- GoogleCloudDataplexV1AspectType — AspectType is a template for creating Aspects, and represents the JSON-schema for a given Entry, for example, BigQuery Table Schema.
  - `labels` object — Optional. User-defined labels for the AspectType.
  - `displayName` string — Optional. User friendly display name.
  - `transferStatus` 'TRANSFER_STATUS_UNSPECIFIED' | 'TRANSFER_STATUS_MIGRATED' | 'TRANSFER_STATUS_TRANSFERRED' — Output only. Denotes the transfer status of the Aspect Type. It is unspecified for Aspect Types created from Dataplex API.
  - `description` string — Optional. Description of the AspectType.
  - `name` string — Output only. The relative resource name of the AspectType, of the form: projects/{project_number}/locations/{location_id}/aspectTypes/{aspect_type_id}.
  - `etag` string — The service computes this checksum. The client may send it on update and delete requests to ensure it has an up-to-date value before proceeding.
  - `metadataTemplate` GoogleCloudDataplexV1AspectTypeMetadataTemplate — MetadataTemplate definition for an AspectType.
    - `typeId` string — Optional. You can use type id if this definition of the field needs to be reused later. The type id must be unique across the entire template. You can only specify it if the field type is record.
    - `constraints` GoogleCloudDataplexV1AspectTypeMetadataTemplateConstraints — Definition of the constraints of a field.
      - `required` boolean — Optional. Marks this field as optional or required.
    - `name` string — Required. The name of the field.
    - `typeRef` string — Optional. A reference to another field definition (not an inline definition). The value must be equal to the value of an id field defined elsewhere in the MetadataTemplate. Only fields with record type can refer to other fields.
    - `type` string — Required. The datatype of this field. The following values are supported:Primitive types: string int bool double datetime. Must be of the format RFC3339 UTC "Zulu" (Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z").Complex types: enum array map record
    - `arrayItems` GoogleCloudDataplexV1AspectTypeMetadataTemplate — recursive
    - `mapItems` GoogleCloudDataplexV1AspectTypeMetadataTemplate — recursive
    - `index` integer — Optional. Index is used to encode Template messages. The value of index can range between 1 and 2,147,483,647. Index must be unique within all fields in a Template. (Nested Templates can reuse indexes). Once a Template is defined, the index cannot be changed, because it identifies the field in the actual storage format. Index is a mandatory field, but it is optional for top level fields, and map/array "values" definitions.
    - `annotations` GoogleCloudDataplexV1AspectTypeMetadataTemplateAnnotations — Definition of the annotations of a field.
      - `displayName` string — Optional. Display name for a field.
      - `displayOrder` integer — Optional. Display order for a field. You can use this to reorder where a field is rendered.
      - `stringType` string — Optional. You can use String Type annotations to specify special meaning to string fields. The following values are supported: richText: The field must be interpreted as a rich text field. url: A fully qualified URL link. resource: A service qualified resource reference.
      - `stringValues` string[] — Optional. Suggested hints for string fields. You can use them to suggest values to users through console.
      - `description` string — Optional. Description for a field.
      - `deprecated` string — Optional. Marks a field as deprecated. You can include a deprecation message.
    - `recordFields` GoogleCloudDataplexV1AspectTypeMetadataTemplate[] — Optional. Field definition. You must specify it if the type is record. It defines the nested fields.
    - `enumValues` GoogleCloudDataplexV1AspectTypeMetadataTemplateEnumValue[] — Optional. The list of values for an enum type. You must define it if the type is enum.
      - `name` string — Required. Name of the enumvalue. This is the actual value that the aspect can contain.
      - `deprecated` string — Optional. You can set this message if you need to deprecate an enum value.
      - `index` integer — Required. Index for the enum value. It can't be modified.
  - `uid` string — Output only. System generated globally unique ID for the AspectType. If you delete and recreate the AspectType with the same name, then this ID will be different.
  - `createTime` string, google-datetime — Output only. The time when the AspectType was created.
  - `dataClassification` 'DATA_CLASSIFICATION_UNSPECIFIED' | 'METADATA_AND_DATA' — Optional. Immutable. Stores data classification of the aspect.
  - `authorization` GoogleCloudDataplexV1AspectTypeAuthorization — Authorization for an AspectType.
    - `alternateUsePermission` string — Immutable. The IAM permission grantable on the EntryGroup to allow access to instantiate Aspects of Dataplex Universal Catalog owned AspectTypes, only settable for Dataplex Universal Catalog owned Types.
  - `updateTime` string, google-datetime — Output only. The time when the AspectType was last updated.

## Response `200`

Successful response

---

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