# 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 ```text https://{server-hostname}:8383/dcapi/configuration/template/{templateId} ``` ## Scope ```text Configurations.READ ``` ## Header ```text Authorization: d92d4xxxxxxxxxxxxx15f52 ``` ## Request Parameters ### Request Headers | Parameter | Type | Required | Value | |---|---|---|---| | Accept | string | Mandatory | `application/templateDetails.v1+json` | ### Path Parameters | Parameter | Type | Required | Description | |---|---|---|---| | 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://appdomain/dcapi/configuration/template/{templateId} \ --header 'Accept: application/templateDetails.v1+json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP Code 200 Response Body: `application/json` | Parameter | Type | Description | |---|---|---| | 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` | Parameter | Type | Description | |---|---|---| | errorCode | long | Unauthorized error code returned when authentication credentials are missing, expired, or invalid (authentication=required) | | errorMsg | string | Authentication failure reason | ### HTTP Code 404 Response Body: `application/json` | Parameter | Type | Description | |---|---|---| | 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 | Code | Type | |---|---| | 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" } ``` ## Rate Limit ![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.