# Attributes

Soda Cloud API Attribute Endpoints

## List attributes

> This endpoint enables you to list the attributes available in your organization's Soda Cloud account.\
> \
> Optionally filter by resource type using the \`resourceType\` query parameter.\
> \
> This GET is a paginated API that uses the following parameters to request specific details:\
> \
> \- \`size\`: Supply an integer value between 10 and 1000, inclusive. The default value is 1000.\
> \
> \- \`page\`: Supply an integer value. The default value is 0.\
> \
> \- \`resourceType\`: Optional. Filter by resource type (\`dataset\` or \`check\`).\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint enforces authentication using the API keys you provide in the \`Basic\` authentication header.\
> \
> \## Authorization\
> \
> Any Soda Cloud user in your organization may execute this query.\
> \
> \## Tags\
> \
> \`Attributes\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Attribute Endpoints","name":"Attributes"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"}},"schemas":{"AttributeResourceTypeDTO":{"type":"string","enum":["dataset","check"]},"PublicApiListAttributesResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/AttributeContentDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"AttributeContentDTO":{"type":"object","properties":{"allowedValues":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"id":{"type":"string"},"label":{"type":"string"},"name":{"type":"string"},"resourceType":{"type":"object","$ref":"#/components/schemas/AttributeResourceTypeDTO"},"type":{"type":"object","$ref":"#/components/schemas/AttributeTypeDTO"}},"required":["id","label","name","resourceType","type"]},"AttributeTypeDTO":{"type":"string","enum":["text","number","checkbox","datetime","singleSelect","multiSelect"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/attributes":{"get":{"description":"This endpoint enables you to list the attributes available in your organization's Soda Cloud account.\n\nOptionally filter by resource type using the `resourceType` query parameter.\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `size`: Supply an integer value between 10 and 1000, inclusive. The default value is 1000.\n\n- `page`: Supply an integer value. The default value is 0.\n\n- `resourceType`: Optional. Filter by resource type (`dataset` or `check`).\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint enforces authentication using the API keys you provide in the `Basic` authentication header.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute this query.\n\n## Tags\n\n`Attributes`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/attributes","parameters":[{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"resourceType","schema":{"type":"object","$ref":"#/components/schemas/AttributeResourceTypeDTO"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiListAttributesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"List attributes","tags":["Attributes"]}}}}
```

## Create an attribute

> This endpoint enables you to create a new attribute in your organization's Soda Cloud account.\
> \
> Attributes are scoped to a resource type (dataset or check). Once an attribute is created, it can be set on the associated resource type. Attributes can be used to configure notification rules, dashboards, filters, etc. For example sending email alerts when checks marked as critical fail.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint enforces authentication using the API keys you provide in the \`Basic\` authentication header.\
> \
> \## Authorization\
> \
> Users must have global role permission MANAGE\_ATTRIBUTES to execute this call.\
> \
> \## Tags\
> \
> \`Attributes\`\
> \
> \## Rate limiting\
> \
> 100 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Attribute Endpoints","name":"Attributes"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"}},"schemas":{"PublicApiCreateAttributeRequestDTO":{"type":"object","properties":{"allowedValues":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"label":{"type":"string"},"name":{"type":"string"},"resourceType":{"type":"object","$ref":"#/components/schemas/AttributeResourceTypeDTO"},"type":{"type":"object","$ref":"#/components/schemas/AttributeTypeDTO"}},"required":["label","name","resourceType","type"]},"AttributeResourceTypeDTO":{"type":"string","enum":["dataset","check"]},"AttributeTypeDTO":{"type":"string","enum":["text","number","checkbox","datetime","singleSelect","multiSelect"]},"PublicApiCreateAttributeResponse":{"type":"object","properties":{"attribute":{"type":"object","$ref":"#/components/schemas/AttributeContentDTO"}},"required":["attribute"]},"AttributeContentDTO":{"type":"object","properties":{"allowedValues":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"id":{"type":"string"},"label":{"type":"string"},"name":{"type":"string"},"resourceType":{"type":"object","$ref":"#/components/schemas/AttributeResourceTypeDTO"},"type":{"type":"object","$ref":"#/components/schemas/AttributeTypeDTO"}},"required":["id","label","name","resourceType","type"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/attributes":{"post":{"description":"This endpoint enables you to create a new attribute in your organization's Soda Cloud account.\n\nAttributes are scoped to a resource type (dataset or check). Once an attribute is created, it can be set on the associated resource type. Attributes can be used to configure notification rules, dashboards, filters, etc. For example sending email alerts when checks marked as critical fail.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint enforces authentication using the API keys you provide in the `Basic` authentication header.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ATTRIBUTES to execute this call.\n\n## Tags\n\n`Attributes`\n\n## Rate limiting\n\n100 requests/60 seconds","operationId":"POST/api/v1/attributes","requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiCreateAttributeRequestDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiCreateAttributeResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Create an attribute","tags":["Attributes"]}}}}
```

## Update an attribute

> This endpoint enables you to update an existing attribute in your organization's Soda Cloud account.\
> \
> Only label, description, and allowedValues (for select types) can be updated.\
> \
> When updating allowedValues, existing attribute values on resources are left in place, even if they are no longer in the allowed set.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint enforces authentication using the API keys you provide in the \`Basic\` authentication header.\
> \
> \## Authorization\
> \
> Users must have global role permission MANAGE\_ATTRIBUTES to execute this call.\
> \
> \## Tags\
> \
> \`Attributes\`\
> \
> \## Rate limiting\
> \
> 100 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Attribute Endpoints","name":"Attributes"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"}},"schemas":{"PublicApiUpdateAttributeRequestDTO":{"type":"object","properties":{"allowedValues":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"label":{"type":"string"}}},"PublicApiUpdateAttributeResponse":{"type":"object","properties":{"attribute":{"type":"object","$ref":"#/components/schemas/AttributeContentDTO"}},"required":["attribute"]},"AttributeContentDTO":{"type":"object","properties":{"allowedValues":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"id":{"type":"string"},"label":{"type":"string"},"name":{"type":"string"},"resourceType":{"type":"object","$ref":"#/components/schemas/AttributeResourceTypeDTO"},"type":{"type":"object","$ref":"#/components/schemas/AttributeTypeDTO"}},"required":["id","label","name","resourceType","type"]},"AttributeResourceTypeDTO":{"type":"string","enum":["dataset","check"]},"AttributeTypeDTO":{"type":"string","enum":["text","number","checkbox","datetime","singleSelect","multiSelect"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/attributes/{attributeId}":{"post":{"description":"This endpoint enables you to update an existing attribute in your organization's Soda Cloud account.\n\nOnly label, description, and allowedValues (for select types) can be updated.\n\nWhen updating allowedValues, existing attribute values on resources are left in place, even if they are no longer in the allowed set.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint enforces authentication using the API keys you provide in the `Basic` authentication header.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ATTRIBUTES to execute this call.\n\n## Tags\n\n`Attributes`\n\n## Rate limiting\n\n100 requests/60 seconds","operationId":"POST/api/v1/attributes/{attributeId}","parameters":[{"in":"path","name":"attributeId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiUpdateAttributeRequestDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiUpdateAttributeResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Update an attribute","tags":["Attributes"]}}}}
```

## Delete an attribute

> This endpoint enables you to delete an existing attribute from your organization's Soda Cloud account.\
> \
> The attribute will be removed from any resources where it is set.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint enforces authentication using the API keys you provide in the \`Basic\` authentication header.\
> \
> \## Authorization\
> \
> Users must have global role permission MANAGE\_ATTRIBUTES to execute this call.\
> \
> \## Tags\
> \
> \`Attributes\`\
> \
> \## Rate limiting\
> \
> 100 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Attribute Endpoints","name":"Attributes"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"}},"schemas":{"PublicApiDeleteAttributeResponse":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/attributes/{attributeId}":{"delete":{"description":"This endpoint enables you to delete an existing attribute from your organization's Soda Cloud account.\n\nThe attribute will be removed from any resources where it is set.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint enforces authentication using the API keys you provide in the `Basic` authentication header.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ATTRIBUTES to execute this call.\n\n## Tags\n\n`Attributes`\n\n## Rate limiting\n\n100 requests/60 seconds","operationId":"DELETE/api/v1/attributes/{attributeId}","parameters":[{"in":"path","name":"attributeId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiDeleteAttributeResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Delete an attribute","tags":["Attributes"]}}}}
```


---

# 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.soda.io/reference/rest-api/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.
