# Retrieve details of a specific configuration template Returns the full details of a specific configuration template including its configuration data and metadata. ## Endpoint `GET /dcapi/configuration/template/{templateId}` ## Request URL https://[{serverurl}](https://www.manageengine.com/products/desktop-central/help/api/cloud/oauth-authentication-endpoint-domain.html)/dcapi/configuration/template/{templateId} ## Scope `DesktopCentralCloud.Configurations.READ` ## Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers - **Accept** `string` **Mandatory** - `application/templateDetails.v1+json` ### Path Parameters - **templateId** `string` **Mandatory** - The unique numeric identifier of the configuration template whose details are to be retrieved. ## Sample Request ```curl curl --request GET \ --url https://appdomains/dcapi/configuration/template/{templateId} \ --header 'Accept: application/templateDetails.v1+json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP Code 200 Response Body — `application/json` - `JSON Object` - **collectionId** `long` - The internal collection ID associated with this template - **label** `string` - Display name of the template - **description** `string` - Description of the template - **platform** `string` - Target platform — windows, mac, or linux - **collectionType** `string` - Configuration type: 1 = Single Config, 2 = Collection - **configType** `string` - The configuration type name (e.g., FIREWALL_RULES, PATCH_INSTALL, CUSTOM_SCRIPT) - **applyAlways** `boolean` - Whether the configuration is applied on every refresh cycle - **applyAtStartupLogon** `boolean` - Whether the configuration is applied at system startup or user logon - **applyAtRefresh** `boolean` - Whether the configuration is applied at agent refresh - **configDetails** `JSON Array` - Array of configuration detail objects holding config-specific settings/parameters - **enableRetry** `boolean` - Whether retry on failure is enabled - **noOfRetries** `string` - Number of retry attempts - **enableRefreshMinRetry** `boolean` - Whether the minimum retry interval at refresh is enabled - **enableLogonStartupMinRetry** `boolean` - Whether the minimum retry interval at logon/startup is enabled - **refreshMinRetry** `string` - Minimum retry interval at refresh (in minutes) - **logonStartupMinRetry** `string` - Minimum retry interval at logon/startup (in minutes) - **enableNotification** `boolean` - Whether email notification is enabled for deployment events - **email** `string` - Comma-separated list of recipient email addresses for notifications - **continueDeployment** `boolean` - Whether to continue deployment on partial failure. Returned only for Patch configurations (PATCH_INSTALL, PATCH_UNINSTALL, MAC_PATCH_INSTALL, LINUX_PATCH_INSTALL). - **schedulerSettings** `JSON Object` - Scheduler configuration of the template (e.g., enableInstallAfter, enableExpiry, schedule type/time). Structure varies based on the configuration type. - **createdFrom** `string` - Source indicator of the template (0 = locally created) - **isGlobalTemplate** `boolean` - Whether the template is a Global Template (MSP) - **sourceTemplateId** `long` - The originating template ID. Returned only when the template is a user-defined Global Template. - **templateType** `string` - Template origin — 'userDefined' for templates created by a user, or 'preDefined' for system-shipped templates - **isUsedInConfig** `boolean` - Whether this template is currently referenced by any configuration. Returned only for user-defined templates. - **tagName** `string` - Category tag of the pre-defined template (e.g., PATCH_MANAGEMENT). Returned only for pre-defined templates. - **createdUserName** `string` - Login name of the user who created the template. Returned only for user-defined templates. - **createdUserId** `long` - User ID of the template creator. Returned only for user-defined templates. - **createdTime** `string` - Timestamp when the template was created (yyyy-MM-dd HH:mm:ss). Returned only for user-defined templates. - **modifiedUserName** `string` - Login name of the user who last modified the template. Returned only for user-defined templates. - **modifiedUserId** `long` - User ID of the user who last modified the template. Returned only for user-defined templates. - **modifiedTime** `string` - Timestamp when the template was last modified (yyyy-MM-dd HH:mm:ss). Returned only for user-defined templates. - **targetModifiedTime** `string` - Timestamp when the template's target data was last modified (yyyy-MM-dd HH:mm:ss). Returned only for user-defined templates. - **targetModifiedBy** `string` - Login name of the user who last modified the target data. Returned only for user-defined templates. ### HTTP Code 401 Response Body — `application/json` - `JSON Object` - **errorCode** `long` - Unauthorized error code: credentials missing, expired, or invalid - **errorMsg** `string` - Authentication failure reason ### HTTP Code 404 Response Body — `application/json` - `JSON Object` - **error_code** `string` - RESOURCE_NOT_AVAILABLE: the specified templateId does not exist in the system - **error_description** `string` - Message indicating the configuration template was not found ## Possible Response Codes - **200** HTTP code - **401** HTTP code - **404** HTTP code ## Sample Response: HTTP 200 User-defined firewall configuration template details. Note: target data is NOT returned for this API (the service is invoked with cloneOption=WithoutTargets). ```json { "applyAtRefresh": false, "templateType": "userDefined", "modifiedUserName": "admin", "modifiedTime": "2026-03-20 14:25:00", "applyAlways": false, "description": "Standard firewall rules for Win11", "configType": "FIREWALL_RULES", "noOfRetries": 2, "platform": "windows", "isGlobalTemplate": false, "createdUserName": "admin", "configDetails": [ { "configName": "FIREWALL_RULES", "details": { "protocol": "TCP", "port": 80, "ruleName": "Allow_HTTP" } } ], "enableNotification": false, "createdTime": "2026-03-15 10:00:00", "collectionId": 2001, "enableRefreshMinRetry": true, "email": "", "createdUserId": 2, "isUsedInConfig": true, "label": "Firewall_Template_v2", "targetModifiedBy": "admin", "applyAtStartupLogon": false, "refreshMinRetry": 1, "collectionType": 1, "targetModifiedTime": "2026-03-20 14:25:00", "enableLogonStartupMinRetry": true, "logonStartupMinRetry": 1, "createdFrom": 0, "modifiedUserId": 2, "schedulerSettings": { "enableInstallAfter": false, "enableExpiry": false }, "enableRetry": true } ``` System (pre-defined) Patch Install configuration template details. For pre-defined templates the audit fields (createdTime, modifiedTime, createdUserName, modifiedUserName, createdUserId, modifiedUserId) are NOT returned, and a tagName is included. ```json { "applyAtRefresh": false, "templateType": "preDefined", "applyAlways": false, "description": "", "label": "Default_Patch_Install_Template", "continueDeployment": true, "configType": "PATCH_INSTALL", "applyAtStartupLogon": false, "tagName": "PATCH_MANAGEMENT", "noOfRetries": 2, "refreshMinRetry": 1, "platform": "windows", "isGlobalTemplate": false, "collectionType": 1, "enableLogonStartupMinRetry": true, "logonStartupMinRetry": 1, "createdFrom": 0, "configDetails": [ { "configName": "PATCH_INSTALL", "details": {} } ], "enableNotification": false, "collectionId": 1500, "enableRetry": true, "enableRefreshMinRetry": true, "email": "" } ``` ## Sample Response: HTTP 401 User lacks read role for this config type or Patch_Registry_Read user accessing non-Patch template ```json { "error_description": "Access denied - You are not allowed to access the requested resource.", "error_code": "UAC_UNAUTHORIZED" } ``` ## Sample Response: HTTP 404 Template ID does not exist ```json { "error_description": "The requested configuration template does not exist", "error_code": "RESOURCE_NOT_AVAILABLE" } ``` ![Help](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **Duration:** 1 minute | **Threshold:** 30 | **Lock period:** 5 minutes Duration - Time window for the threshold. Threshold - Number of API calls allowed within the specified duration. Lock Period - Wait time before consecutive API requests.