# METADATA ATTRIBUTES Invoke the Metadata Attributes API to retrieve Metadata Attributes, and to create, read, update, and delete Metadata Attribute definitions. Metadata Attributes come in varying types, including Text, Date, Controlled Vocabulary, Tabular, and Cascading, and can be assigned to Metadata Groups and Templates. **Admin Endpoints (NEW!):** Create, read, update, and delete Metadata Attributes. These endpoints require the Metadata Management admin privilege. ## Metadata Attributes - [GET /metadata/attributes](https://api.tenovos.com/openapi/v1.5/metadata-attributes/getmetadataattributes.md): Retrieve all metadata attributes available to the requesting user. The user submitting the request must have administrator privilege to Metadata Management. Defaults: - sort defaults to metadataDefinitionName. - order defaults to asc. - filterFor is unset by default, applying no filter. Business Rules: - filterFor narrows the response to attributes usable with a specific set of template types — listView covers default and asset templates, filterPresets covers default, asset and rights, and requestInbox covers action. - order is matched case-sensitively. Only lowercase asc and desc are accepted; ASC is rejected. - An invalid filterFor, sort, or order is rejected with a 403, not the 400 returned by the other list endpoints in this API. Values are validated in the order filterFor, sort, order, so the first invalid one determines the message. Average Response Time: 492ms ## (NEW!) List Metadata Attributes (Paginated) - [GET /attributes](https://api.tenovos.com/openapi/v1.5/metadata-attributes/listmetadataattributes.md): Retrieve a paginated list of metadata attributes for UI consumption. Supports filtering by name, type, and usage, pagination via offset, and sorting via query parameters. This endpoint replaces the unpaginated GET /metadata/attributes for customers with large attribute libraries. Defaults: - attributeType, inUse, and filterFor are unset by default, applying no filter. Business Rules: - attributeType accepts one or more of textbox, textarea, date, dropdown as a comma-separated list. - inUse accepts a boolean (true/false — aggregate: used anywhere at all) or one of metadataCascades, metadataTables, metadataGroups, metadataTemplates, presets, filtering to attributes referenced in that specific usage category. - filterFor filters to attributes usable in a specific consumer context. Currently supports requestInbox, which returns only attributes that can be set as Request Inbox columns. The user submitting the request must have the Metadata Management admin privilege. ## (NEW!) Create Metadata Attribute - [POST /metadata/attribute](https://api.tenovos.com/openapi/v1.5/metadata-attributes/createmetadataattribute.md): Create a new metadata attribute. Supports four attribute types: textbox, textarea, date, and dropdown. Each type has a distinct request schema and returns a type-specific response. Business Rules: - An attribute that is isRequired: true or isTypeahead: true cannot have technicalMetadataMapping values. - A required attribute cannot also be sensitive (isRequired: true and isSensitive: true cannot both be set). - isFacetable: true requires isSearchable: true. - Max character limit for textbox is 250 characters. - Max character limit for textarea is 10,000 characters. - Textarea attributes cannot be facetable or support typeahead. The user submitting the request must have the Metadata Management admin privilege. ## (NEW!) Get Metadata Attribute - [GET /metadata/attribute/{id}](https://api.tenovos.com/openapi/v1.5/metadata-attributes/getmetadataattribute.md): Retrieve a single metadata attribute by its ID, returning the full attribute configuration including type-specific fields and usedIn references. The user submitting the request must have the Metadata Management admin privilege. ## (NEW!) Update Metadata Attribute - [PATCH /metadata/attribute/{id}](https://api.tenovos.com/openapi/v1.5/metadata-attributes/updatemetadataattribute.md): Partially update an existing metadata attribute. Only fields included in the request body will be updated — omitted fields remain unchanged. Fields that cannot be updated: attributeType, vocabularyId, searchField. Business Rules (enforced on update): - isRequired: true and isSensitive: true cannot both be set. - isFacetable: true requires isSearchable: true. - isRequired: true or isTypeahead: true cannot have technicalMetadataMapping values. - maxCharacterLength cannot exceed 250 for textbox or 10,000 for textarea. - Textarea attributes cannot be set to isFacetable: true or isTypeahead: true. - isMultiSelect can be changed from false to true, but NOT from true to false. The user submitting the request must have the Metadata Management admin privilege. ## (NEW!) Delete Metadata Attribute - [DELETE /metadata/attribute/{id}](https://api.tenovos.com/openapi/v1.5/metadata-attributes/deletemetadataattribute.md): Permanently delete a metadata attribute by its ID. Deletion is blocked if the attribute is currently referenced by any metadata group or template. This action is permanent and cannot be undone. The user submitting the request must have the Metadata Management admin privilege.