# CustomMetadataProperty > Type in domain **Metadata** - HTML: [CustomMetadataProperty.html](CustomMetadataProperty.html) - Raw SDL: [CustomMetadataProperty.sdl](CustomMetadataProperty.sdl) - Covered by: [llms.txt](../llms.txt) Implements: `Node` ## Fields - `id`: `ID!` — `CustomMetadataProperty` Id. - `creator`: `User!` — `User` who created the `CustomMetadataProperty`. - `createdAt`: `DateTime!` — `DateTime` of the `CustomMetadataProperty` creation. - `modifier`: `User` — `User` who last modified the `CustomMetadataProperty`. - `modifiedAt`: `DateTime` — `DateTime` of the `CustomMetadataProperty`'s last modification. - `name`: `String!` — `CustomMetadataProperty` name. - `type`: `CustomMetadataPropertyType!` — `CustomMetadataProperty` type details. - `helpText`: `String` — `CustomMetadataProperty` help text. - `isRequired`: `Boolean!` — Indicates if a `CustomMetadataProperty` is required to be defined. - `isSearchable`: `Boolean!` _(beta)_ — Indicates if a `CustomMetadataProperty` is searchable. - `isViewable`: `Boolean!` _(beta)_ — Indicates if a `CustomMetadataProperty` is viewable. This is a stored flag that hides the property from users entirely, independent of the current user's access. See `currentUserPermissions` for the per-request, access-rule-based canEdit/canAdmin checks. - `defaultValue`: `Any` — `CustomMetadataProperty` value set to newly update `Assets` by default. - `dependency`: `CustomMetadataPropertyDependency` _(beta)_ — `CustomMetadataPropertyDependency` details. - `forbiddenDependeePropertyIds`: `[ID!]` _(beta)_ — `CustomMetadataProperty` Ids that cannot be used as dependee properties. - `permissions`: `CustomMetadataPropertyPermissions` _(beta)_ — `CustomMetadataProperty` permissions. ## Related mutations - [`createCustomMetadataProperty`](../mutation/createCustomMetadataProperty.md) - [`deleteCustomMetadataProperty`](../mutation/deleteCustomMetadataProperty.md) - [`updateCustomMetadataProperty`](../mutation/updateCustomMetadataProperty.md) ## Reach via Example queries that can return this type from the root `Query`. ### `brand › customMetadataProperties` ```graphql query BrandCustomMetadataProperties { brand(id: "…") { customMetadataProperties { __typename createdAt creator { __typename name id } defaultValue dependency { __typename propertyId type ... on CustomMetadataPropertySelectValueTypeDependencyTypeEquals { propertyOptionId } ... on CustomMetadataPropertySelectValueTypeDependencyTypeOneOf { propertyOptionIds } } forbiddenDependeePropertyIds helpText id isRequired isSearchable isViewable modifiedAt modifier { __typename name id } name permissions { basic { permissionLevel subject } custom { permissionLevel subject { __typename ... on AccountUser { id } ... on UserGroup { id } } } } type { __typename name ... on CustomMetadataPropertyTypeCatalog { allowedLinkedColumnIds allowMultiSelect } } } } } ``` Raw: [`BrandCustomMetadataProperties.sdl`](../examples/BrandCustomMetadataProperties.sdl) ### `library › customMetadataProperties` ```graphql query LibraryCustomMetadataProperties { library(id: "…") { customMetadataProperties { __typename createdAt creator { __typename name id } defaultValue dependency { __typename propertyId type ... on CustomMetadataPropertySelectValueTypeDependencyTypeEquals { propertyOptionId } ... on CustomMetadataPropertySelectValueTypeDependencyTypeOneOf { propertyOptionIds } } forbiddenDependeePropertyIds helpText id isRequired isSearchable isViewable modifiedAt modifier { __typename name id } name permissions { basic { permissionLevel subject } custom { permissionLevel subject { __typename ... on AccountUser { id } ... on UserGroup { id } } } } type { __typename name ... on CustomMetadataPropertyTypeCatalog { allowedLinkedColumnIds allowMultiSelect } } } } } ``` Raw: [`LibraryCustomMetadataProperties.sdl`](../examples/LibraryCustomMetadataProperties.sdl) ### `brands › customMetadataProperties` ```graphql query BrandsCustomMetadataProperties { brands { customMetadataProperties { __typename createdAt creator { __typename name id } defaultValue dependency { __typename propertyId type ... on CustomMetadataPropertySelectValueTypeDependencyTypeEquals { propertyOptionId } ... on CustomMetadataPropertySelectValueTypeDependencyTypeOneOf { propertyOptionIds } } forbiddenDependeePropertyIds helpText id isRequired isSearchable isViewable modifiedAt modifier { __typename name id } name permissions { basic { permissionLevel subject } custom { permissionLevel subject { __typename ... on AccountUser { id } ... on UserGroup { id } } } } type { __typename name ... on CustomMetadataPropertyTypeCatalog { allowedLinkedColumnIds allowMultiSelect } } } } } ``` Raw: [`BrandsCustomMetadataProperties.sdl`](../examples/BrandsCustomMetadataProperties.sdl) ### `assets › customMetadata › property` ```graphql query AssetsCustomMetadataProperty { assets(ids: "…") { customMetadata { property { __typename createdAt creator { __typename name id } defaultValue dependency { __typename propertyId type ... on CustomMetadataPropertySelectValueTypeDependencyTypeEquals { propertyOptionId } ... on CustomMetadataPropertySelectValueTypeDependencyTypeOneOf { propertyOptionIds } } forbiddenDependeePropertyIds helpText id isRequired isSearchable isViewable modifiedAt modifier { __typename name id } name permissions { basic { permissionLevel subject } custom { permissionLevel subject { __typename ... on AccountUser { id } ... on UserGroup { id } } } } type { __typename name ... on CustomMetadataPropertyTypeCatalog { allowedLinkedColumnIds allowMultiSelect } } } } } } ``` Raw: [`AssetsCustomMetadataProperty.sdl`](../examples/AssetsCustomMetadataProperty.sdl) ### `asset › customMetadata › property` ```graphql query AssetCustomMetadataProperty { asset(id: "…") { customMetadata { property { __typename createdAt creator { __typename name id } defaultValue dependency { __typename propertyId type ... on CustomMetadataPropertySelectValueTypeDependencyTypeEquals { propertyOptionId } ... on CustomMetadataPropertySelectValueTypeDependencyTypeOneOf { propertyOptionIds } } forbiddenDependeePropertyIds helpText id isRequired isSearchable isViewable modifiedAt modifier { __typename name id } name permissions { basic { permissionLevel subject } custom { permissionLevel subject { __typename ... on AccountUser { id } ... on UserGroup { id } } } } type { __typename name ... on CustomMetadataPropertyTypeCatalog { allowedLinkedColumnIds allowMultiSelect } } } } } } ``` Raw: [`AssetCustomMetadataProperty.sdl`](../examples/AssetCustomMetadataProperty.sdl)