# (NEW!) Get Metadata Template by ID Retrieve a single metadata template by its ID. The response is the same template object returned in each results[] item of GET /metadata/templates, including attributesDefaultValue, accessTemplates, inUse, indexStatus and templateCategory. Defaults: - includeDenormalized defaults to false. templateDenormalized is only included in the response when includeDenormalized is true. Business Rules: - id must be a valid UUID; any other value is rejected with a 400. - Unlike GET /metadata/templates, a direct ID lookup applies no category filter. System and protected templates are returned like any other. The user submitting the request must have the Metadata Management admin privilege. Endpoint: GET /metadata/templates/{id} 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. ## Path parameters: - `id` (string, required) The unique ID of the metadata template to retrieve. Example: "8cd2c221-6a91-4dc6-9379-d55dca9d5313" ## Query parameters: - `includeDenormalized` (boolean) When true, includes templateDenormalized in the response. Defaults to false, in which case templateDenormalized is omitted from the response. ## Response 200 fields (application/json): - `templateId` (string) - `name` (string) - `customerId` (string) - `createdBy` (string) - `createdEpoch` (integer) - `createdDate` (string) - `lastUpdatedBy` (string) - `lastUpdatedEpoch` (integer) - `lastUpdatedDate` (string) - `groupIds` (array) - `templateType` (array) - `attributesDefaultValue` (array) - `attributesDefaultValue.searchField` (string) - `attributesDefaultValue.value` (any) Default value for the attribute. - `accessTemplates` (array) - `inUse` (boolean) Whether this template is currently assigned to any assets. - `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" - `templateCategory` (string) The template's category. Templates created through the API are always standard. system templates are read-only, platform-owned templates used internally by various platform functionalities, and cannot be edited or deleted by users. protected templates back product features that many customers rely on; they can still be edited, but cannot be renamed or deleted. System templates are only returned by GET /metadata/templates when includeSystem is true, and protected templates are excluded when includeProtected is false. Enum: "standard", "system", "protected" - `templateDenormalized` (object) System-generated denormalized template structure. Only present in the response when the includeDenormalized query parameter is true. - `templateDenormalized.metadataGroups` (array) - `templateDenormalized.metadataGroups.groupOrder` (integer) - `templateDenormalized.metadataGroups.metadataGroupName` (string) - `templateDenormalized.metadataGroups.isGroupNameVisible` (boolean) - `templateDenormalized.metadataGroups.metadataGroupSearchField` (string) - `templateDenormalized.metadataGroups.securityPermissions` (array) - `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) ## Response 404 fields (application/json): - `message` (string) - `detail` (string)