# Custom Attributes

{% hint style="info" %}
These API operations are for creating, managing and deleting Custom Attributes in your organization account. To apply custom attributes to assets and glossaries, check out the [Assets](/public-api/overview/index/assets.md) APIs instead.
{% endhint %}

## List Custom Attributes

> Retrieves all custom attribute definitions.

```json
{"openapi":"3.1.0","info":{"title":"Decube Public API (BETA)","version":"1.0.0"},"servers":[{"url":"https://connect.<REGION>.decube.io/api/v1/data"}],"paths":{"/custom-attributes":{"get":{"tags":["Custom Attributes"],"summary":"List Custom Attributes","description":"Retrieves all custom attribute definitions.","operationId":"list_custom_attributes_custom_attributes_get","parameters":[{"name":"management_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/AttributeManagementType"},{"type":"null"}],"description":"Filter by management type","title":"Management Type"},"description":"Filter by management type"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CustomAttrConfig"}},{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/app__models__custom_attr_config__TextAttribute"},{"$ref":"#/components/schemas/app__models__custom_attr_config__EnumAttribute"},{"$ref":"#/components/schemas/app__models__custom_attr_config__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__custom_attr_config__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__custom_attr_config__UserAttribute"},{"$ref":"#/components/schemas/app__models__custom_attr_config__KVAttribute"}]}}],"title":"Response List Custom Attributes Custom Attributes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AttributeManagementType":{"type":"string","enum":["user","system"],"title":"AttributeManagementType"},"CustomAttrConfig":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"$ref":"#/components/schemas/CustomAttributeType"},"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"management_type":{"$ref":"#/components/schemas/AttributeManagementType"},"system_identifier":{"anyOf":[{"$ref":"#/components/schemas/SystemIdentifier"},{"type":"null"}]}},"type":"object","required":["id","type","label","description","allowed_objects","management_type","system_identifier"],"title":"CustomAttrConfig"},"CustomAttributeType":{"type":"string","enum":["text","enum","boolean","integer","user","kv"],"title":"CustomAttributeType"},"SystemIdentifier":{"type":"string","enum":["constraints","snowflake_tag"],"title":"SystemIdentifier"},"app__models__custom_attr_config__TextAttribute":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"$ref":"#/components/schemas/CustomAttributeType"},"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"management_type":{"$ref":"#/components/schemas/AttributeManagementType"},"system_identifier":{"anyOf":[{"$ref":"#/components/schemas/SystemIdentifier"},{"type":"null"}]},"cfg_max_char":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cfg Max Char"}},"type":"object","required":["id","type","label","description","allowed_objects","management_type","system_identifier","cfg_max_char"],"title":"TextAttribute"},"app__models__custom_attr_config__EnumAttribute":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"$ref":"#/components/schemas/CustomAttributeType"},"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"management_type":{"$ref":"#/components/schemas/AttributeManagementType"},"system_identifier":{"anyOf":[{"$ref":"#/components/schemas/SystemIdentifier"},{"type":"null"}]},"values":{"items":{"$ref":"#/components/schemas/app__models__custom_attr_config__EnumValue"},"type":"array","title":"Values"}},"type":"object","required":["id","type","label","description","allowed_objects","management_type","system_identifier","values"],"title":"EnumAttribute"},"app__models__custom_attr_config__EnumValue":{"properties":{"id":{"type":"integer","title":"Id"},"label":{"type":"string","title":"Label"},"color":{"type":"string","title":"Color"}},"type":"object","required":["id","label","color"],"title":"EnumValue"},"app__models__custom_attr_config__BooleanAttribute":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"$ref":"#/components/schemas/CustomAttributeType"},"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"management_type":{"$ref":"#/components/schemas/AttributeManagementType"},"system_identifier":{"anyOf":[{"$ref":"#/components/schemas/SystemIdentifier"},{"type":"null"}]}},"type":"object","required":["id","type","label","description","allowed_objects","management_type","system_identifier"],"title":"BooleanAttribute"},"app__models__custom_attr_config__IntegerAttribute":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"$ref":"#/components/schemas/CustomAttributeType"},"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"management_type":{"$ref":"#/components/schemas/AttributeManagementType"},"system_identifier":{"anyOf":[{"$ref":"#/components/schemas/SystemIdentifier"},{"type":"null"}]},"min_bound":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Bound"},"max_bound":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Bound"}},"type":"object","required":["id","type","label","description","allowed_objects","management_type","system_identifier","min_bound","max_bound"],"title":"IntegerAttribute"},"app__models__custom_attr_config__UserAttribute":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"$ref":"#/components/schemas/CustomAttributeType"},"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"management_type":{"$ref":"#/components/schemas/AttributeManagementType"},"system_identifier":{"anyOf":[{"$ref":"#/components/schemas/SystemIdentifier"},{"type":"null"}]},"multiple":{"type":"boolean","title":"Multiple"}},"type":"object","required":["id","type","label","description","allowed_objects","management_type","system_identifier","multiple"],"title":"UserAttribute"},"app__models__custom_attr_config__KVAttribute":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"$ref":"#/components/schemas/CustomAttributeType"},"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"management_type":{"$ref":"#/components/schemas/AttributeManagementType"},"system_identifier":{"anyOf":[{"$ref":"#/components/schemas/SystemIdentifier"},{"type":"null"}]},"keys":{"items":{"oneOf":[{"$ref":"#/components/schemas/KVTextKeyDefinition"},{"$ref":"#/components/schemas/KVEnumKeyDefinition"}],"discriminator":{"propertyName":"type","mapping":{"enum":"#/components/schemas/KVEnumKeyDefinition","text":"#/components/schemas/KVTextKeyDefinition"}}},"type":"array","title":"Keys"}},"type":"object","required":["id","type","label","description","allowed_objects","management_type","system_identifier","keys"],"title":"KVAttribute"},"KVTextKeyDefinition":{"properties":{"id":{"type":"integer","title":"Id"},"label":{"type":"string","title":"Label"},"type":{"type":"string","const":"text","title":"Type"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_required":{"type":"boolean","title":"Is Required"}},"type":"object","required":["id","label","type","description","is_required"],"title":"KVTextKeyDefinition"},"KVEnumKeyDefinition":{"properties":{"id":{"type":"integer","title":"Id"},"label":{"type":"string","title":"Label"},"type":{"type":"string","const":"enum","title":"Type"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_required":{"type":"boolean","title":"Is Required"},"enum_options":{"items":{"$ref":"#/components/schemas/app__models__custom_attr_config__KVKeyEnumOption"},"type":"array","title":"Enum Options"}},"type":"object","required":["id","label","type","description","is_required","enum_options"],"title":"KVEnumKeyDefinition"},"app__models__custom_attr_config__KVKeyEnumOption":{"properties":{"id":{"type":"integer","title":"Id"},"label":{"type":"string","title":"Label"},"color":{"type":"string","title":"Color"}},"type":"object","required":["id","label","color"],"title":"KVKeyEnumOption"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Create Custom Attributes

> Creates a new custom attribute definition using the provided request body.

```json
{"openapi":"3.1.0","info":{"title":"Decube Public API (BETA)","version":"1.0.0"},"servers":[{"url":"https://connect.<REGION>.decube.io/api/v1/data"}],"paths":{"/custom-attributes":{"post":{"tags":["Custom Attributes"],"summary":"Create Custom Attributes","description":"Creates a new custom attribute definition using the provided request body.","operationId":"create_custom_attributes_custom_attributes_post","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/TextAttributeCreate"},{"$ref":"#/components/schemas/EnumAttributeCreate"},{"$ref":"#/components/schemas/UserAttributeCreate"},{"$ref":"#/components/schemas/BooleanAttributeCreate"},{"$ref":"#/components/schemas/IntegerAttributeCreate"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"TextAttributeCreate":{"properties":{"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"type":{"type":"string","const":"text","title":"Type"},"cfg_max_char":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cfg Max Char"}},"type":"object","required":["label","description","allowed_objects","type","cfg_max_char"],"title":"TextAttributeCreate"},"EnumAttributeCreate":{"properties":{"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"type":{"type":"string","const":"enum","title":"Type"},"values":{"items":{"$ref":"#/components/schemas/EnumValueCreate"},"type":"array","title":"Values"}},"type":"object","required":["label","description","allowed_objects","type","values"],"title":"EnumAttributeCreate"},"EnumValueCreate":{"properties":{"label":{"type":"string","title":"Label"},"color":{"type":"string","title":"Color"}},"type":"object","required":["label","color"],"title":"EnumValueCreate"},"UserAttributeCreate":{"properties":{"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"type":{"type":"string","const":"user","title":"Type"},"multiple":{"type":"boolean","title":"Multiple"}},"type":"object","required":["label","description","allowed_objects","type","multiple"],"title":"UserAttributeCreate"},"BooleanAttributeCreate":{"properties":{"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"type":{"type":"string","const":"boolean","title":"Type"}},"type":"object","required":["label","description","allowed_objects","type"],"title":"BooleanAttributeCreate"},"IntegerAttributeCreate":{"properties":{"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"type":{"type":"string","const":"integer","title":"Type"},"min_bound":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Bound"},"max_bound":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Bound"}},"type":"object","required":["label","description","allowed_objects","type","min_bound","max_bound"],"title":"IntegerAttributeCreate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Update Custom Attributes

> Updates and replaces an existing custom attribute definition.

```json
{"openapi":"3.1.0","info":{"title":"Decube Public API (BETA)","version":"1.0.0"},"servers":[{"url":"https://connect.<REGION>.decube.io/api/v1/data"}],"paths":{"/custom-attributes":{"put":{"tags":["Custom Attributes"],"summary":"Update Custom Attributes","description":"Updates and replaces an existing custom attribute definition.","operationId":"update_custom_attributes_custom_attributes_put","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/TextAttributeUpdate"},{"$ref":"#/components/schemas/EnumAttributeUpdate"},{"$ref":"#/components/schemas/UserAttributeUpdate"},{"$ref":"#/components/schemas/BooleanAttributeUpdate"},{"$ref":"#/components/schemas/IntegerAttributeUpdate"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"TextAttributeUpdate":{"properties":{"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"id":{"type":"integer","title":"Id"},"type":{"type":"string","const":"text","title":"Type"},"cfg_max_char":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cfg Max Char"}},"type":"object","required":["label","description","allowed_objects","id","type","cfg_max_char"],"title":"TextAttributeUpdate"},"EnumAttributeUpdate":{"properties":{"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"id":{"type":"integer","title":"Id"},"type":{"type":"string","const":"enum","title":"Type"},"values":{"items":{"$ref":"#/components/schemas/EnumValueUpdate"},"type":"array","title":"Values"}},"type":"object","required":["label","description","allowed_objects","id","type","values"],"title":"EnumAttributeUpdate"},"EnumValueUpdate":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"label":{"type":"string","title":"Label"},"color":{"type":"string","title":"Color"}},"type":"object","required":["label","color"],"title":"EnumValueUpdate"},"UserAttributeUpdate":{"properties":{"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"id":{"type":"integer","title":"Id"},"type":{"type":"string","const":"user","title":"Type"},"multiple":{"type":"boolean","title":"Multiple"}},"type":"object","required":["label","description","allowed_objects","id","type","multiple"],"title":"UserAttributeUpdate"},"BooleanAttributeUpdate":{"properties":{"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"id":{"type":"integer","title":"Id"},"type":{"type":"string","const":"boolean","title":"Type"}},"type":"object","required":["label","description","allowed_objects","id","type"],"title":"BooleanAttributeUpdate"},"IntegerAttributeUpdate":{"properties":{"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"allowed_objects":{"items":{"type":"string","enum":["source","collection","dataset","property","dashboard","chart","data_job","glossary","category","term"]},"type":"array","title":"Allowed Objects"},"id":{"type":"integer","title":"Id"},"type":{"type":"string","const":"integer","title":"Type"},"min_bound":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Bound"},"max_bound":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Bound"}},"type":"object","required":["label","description","allowed_objects","id","type","min_bound","max_bound"],"title":"IntegerAttributeUpdate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Delete Custom Attributes

> Deletes a custom attribute definition by ID.

```json
{"openapi":"3.1.0","info":{"title":"Decube Public API (BETA)","version":"1.0.0"},"servers":[{"url":"https://connect.<REGION>.decube.io/api/v1/data"}],"paths":{"/custom-attributes":{"delete":{"tags":["Custom Attributes"],"summary":"Delete Custom Attributes","description":"Deletes a custom attribute definition by ID.","operationId":"delete_custom_attributes_custom_attributes_delete","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decube.io/public-api/overview/index/custom-attributes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
