# (NEW!) List Metadata Templates (Paginated) Retrieve a paginated list of metadata templates for UI consumption. Supports filtering by name, pagination via offset, and sorting via query parameters. Each result includes the full template object with attributesDefaultValue, accessTemplates, an inUse flag indicating whether the template is currently assigned to any assets, and an indexStatus indicating whether the template is ready to be assigned to assets. Defaults: - includeDenormalized defaults to false. templateDenormalized is only included in each result when includeDenormalized is true. - inUse is unset by default, returning templates regardless of usage. The user submitting the request must have the Metadata Management admin privilege. Endpoint: GET /metadata/templates Version: 1.5 Security: ApiKeyAuth, BasicAuth ## Header parameters: - `X-API-Key` (string, required) Customer-specific API key required to invoke API. - `Authorization` (string, required) Provided by Authentication Token creation operation. ## Query parameters: - `searchTerm` (string) Partial, case-insensitive match against template name. When omitted, all templates are returned (subject to pagination). Example: "video" - `from` (integer) Search offset from which results will start. Defaults to 0. - `limit` (integer) Number of results to return. Defaults to 100. Maximum 100 — a limit above 100 is rejected with a 400 rather than being capped. Example: 100 - `sortField` (string) Field to sort by. Defaults to templateName. Enum: "templateName", "createdEpoch", "lastUpdatedEpoch", "inUse" - `order` (string) Sort direction. Defaults to asc. Enum: "asc", "desc" - `includeDenormalized` (boolean) When true, includes templateDenormalized in each result. Defaults to false, in which case templateDenormalized is omitted from the response. - `inUse` (boolean) Filters results by usage status. When omitted, templates are returned regardless of usage. true returns only templates currently assigned to assets; false returns only templates not currently assigned to any assets. ## Response 200 fields (application/json): - `hitCount` (integer) Total number of templates matching the search criteria. Example: 8 - `results` (array) Array of template objects. - `results.templateId` (string) - `results.name` (string) - `results.customerId` (string) - `results.createdBy` (string) - `results.createdEpoch` (integer) - `results.createdDate` (string) - `results.lastUpdatedBy` (string) - `results.lastUpdatedEpoch` (integer) - `results.lastUpdatedDate` (string) - `results.groupIds` (array) - `results.templateType` (array) - `results.attributesDefaultValue` (array) - `results.attributesDefaultValue.searchField` (string) - `results.attributesDefaultValue.value` (any) Default value for the attribute. - `results.accessTemplates` (array) - `results.inUse` (boolean) Whether this template is currently assigned to any assets. - `results.indexStatus` (string) Whether the template is ready to be assigned to assets. The template can only be assigned to assets when indexStatus is ready. Enum: "pending", "building", "ready", "failed" - `results.templateDenormalized` (object) System-generated denormalized template structure. Only present in the response when the includeDenormalized query parameter is true. - `results.templateDenormalized.metadataGroups` (array) - `results.templateDenormalized.metadataGroups.groupOrder` (integer) - `results.templateDenormalized.metadataGroups.metadataGroupName` (string) - `results.templateDenormalized.metadataGroups.isGroupNameVisible` (boolean) - `results.templateDenormalized.metadataGroups.metadataGroupSearchField` (string) - `results.templateDenormalized.metadataGroups.securityPermissions` (array) - `results.templateDenormalized.metadataGroups.metadataAttributes` (array) Ordered list of attributes. Shape varies by type: - text (subType: textBox/textArea) — includes length, techMetaMapping - controlledVocabulary — includes controlledVocabularyId, isMultipleSelect - date — includes dateFormat - tableAttribute — includes tableFieldsDenormalized, isSingleRow, isSmartTable - cascadeAttribute — includes cascadeMapId, cascadeFieldsDenormalized ## Response 400 fields (application/json): - `message` (string) - `detail` (string) ## Response 401 fields (application/json): - `message` (string) - `detail` (string) ## Response 403 fields (application/json): - `message` (string) - `detail` (string)