Endpoint: /sites/{siteId}/user-templates/{userTemplateid}
NOTE: Available as of EFT 8.1.0
Returns a user settings template defined on an EFT site and allows the ability to get, update, and delete the custom command.
-
GET
-
PATCH
-
DELETE
Method & URL
GET https://[server URL]:[port]/admin/v2/sites/{siteId}/user-templates/{userTemplateid}
GET Body Sample
Copy
### Get User Settings Template ### Need to obtain templates first
# @name userTemplates
GET https://{{host}}/admin/v2/sites/{{Siteid}}/user-templates HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}
###
@userTemplateid = {{userTemplates.response.body.$.data[3].id}}
#Update the array to obtain the desired user template
### GET User Template by Template ID ###
#
GET https://{{host}}/admin/v2/sites/{{Siteid}}/user-templates/{{userTemplateid}} HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}
###
GET Response Body Sample
Copy
{ "data": { "attributes": { "as2": { "inbound": { "enabled": true }, "outbound": { "enabled": true } },
"changePassword": { "enabled": "inherit", "value": { "changeAdminProvidedPasswordUponFirstUse": "inherit",
"passwordExpiration": { "enabled": true, "value": { "maxAgeDays": 90, "emailUpon": true, "remindPrior": {
"enabled": false, "value": { "daysBefore": 5, "emailUser": true } } } } } }, "connectionTimeout": {
"enabled": true, "value": { "maxSec": 600 } }, "connectionsFromSameIpLimit": {
"enabled": false, "value": { "maxNumber": 0 } }, "downloadSizeLimit": { "enabled": false, "value": {
"maxKBytes": 0 } }, "downloadsPerSessionLimit": { "enabled": false, "value": { "maxNumber": 0 } },
"enabled": false, "ftp": { "enabled": true, "value": { "enableFxp": "inherit", "enableNoop": "inherit",
"enableComb": "yes", "enableXcrc": "yes", "enableZlib": true, "banner": { "message": "Login OK. Proceed.",
"usage": "replaceDefault" } } }, "ftps": { "enabled": true }, "hasHomeFolderAsRoot": true, "homeFolder": {
"enabled": true, "value": { "path": "/" } }, "http": { "enableHttp": true, "enableHttps": true,
"enableWtc": true, "enableShareFolder": true, "enableSendMessage": true }, "invalidLoginLimit": {
"enabled": "inherit", "value": { "maxCount": 90, "periodMin": 5, "action": "lock", "actionDurationMin": 30 } },
"ipAccessLimit": { "enabled": false, "value": { "rules": [], "defaultRule": "allowAccess" } },
"name": "GSB Template 2", "passwordComplexity": { "enabled": "inherit", "value": {
"minLength": 8, "characterCategories": { "enabled": true, "value": { "characterCount": 4,
"upperCaseRequired": true, "lowerCaseRequired": true, "numericRequired": true,
"nonAlphaNumericRequired": false, "non7bitAsciiRequired": false } }, "usernameCharLimit": {
"enabled": true, "value": { "minDisallowed": 3 } }, "repeatingCharLimit": {
"enabled": true, "value": { "minDisallowed": 3 } }, "forbiddenDictionary": {
"enabled": true, "value": { "dictionaryFilePath": "", "noBackwardsWord": false } } } },
"passwordHistory": { "enabled": "inherit", "value": { "historyDepth": 4 } }, "sftp": {
"enabled": true, "value": { "authenticationType": "password" } }, "ssl": {
"authenticationType": "password" }, "totalConnectionsLimit": { "enabled": false, "value": {
"maxNumber": 0 } }, "transferSpeedLimit": { "enabled": false, "value": { "maxKbps": 0 } },
"uploadSizeLimit": { "enabled": false, "value": { "maxKBytes": 0 } }, "uploadsPerSessionLimit": {
"enabled": false, "value": { "maxNumber": 0 } } },
"id": "b3c3d712-2c40-446f-ae9c-d99b742658ab", "links": { "self":
"/admin/v2/sites/c7d3ecfe-a100-4bcd-b830-01a10524c048/user-templates/b3c3d712-2c40-446f-ae9c-d99b742658ab"
}, "type": "userTemplate" } }
GET PowerShell Sample
Copy
########################################
#GET Specific User Settings Template
###
#Get Specific User Settings Templates
Write-Output "Get Specific User Settings Template"
Write-Output "-----"
$userTemplates = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-templates"
-Method 'GET' -Headers $authHeader
Write-Output $serverAdminDetails | ConvertTo-Json -Depth 10
foreach ($userTemplates in $userTemplates.id)
{
Write-Output ("User Template found: $($userTemplates.id): $($userTemplates.attributes.name)")
}
$userTemplateID = $userTemplates.data[3].id
###
#Get Specific User Template
Write-Output "Get User Template for: " $userTemplateID " with name: "
$userTemplate.data.attributes.name
Write-Output "-----"
$userTemplate = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-templates/$userTemplateID"
-Method 'GET' -Headers $authHeader
Write-Output $userTemplate | ConvertTo-Json -Depth 10
Method & URL
PATCH https://[server URL]:[port]/admin/v2/sites/{siteId}/user-templates/{userTemplateid}
PATCH Body Sample
Copy
### Get User Settings Template ### Need to obtain templates first
# @name userTemplates
GET https://{{host}}/admin/v2/sites/{{Siteid}}/user-templates HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}
###
@userTemplateid = {{userTemplates.response.body.$.data[3].id}}
#Update the array to obtain the desired user template
### PATCH User Template by Template ID
PATCH https://{{host}}/admin/v2/sites/{{Siteid}}/user-templates/
{{userTemplateid}} HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}
{
"data": {
"type": "userTemplate",
"attributes": {
"enabled": false,
"homeFolder": {
"enabled": true,
"value": {
"path": ""
}
}
}
}
}
PATCH Response Body Sample
Copy
{ "data": { "attributes": { "as2": { "inbound": { "enabled": true }, "outbound": { "enabled": true } },
"changePassword": { "enabled": "inherit", "value": { "changeAdminProvidedPasswordUponFirstUse": "inherit",
"passwordExpiration": { "enabled": true, "value": { "maxAgeDays": 90, "emailUpon": true, "remindPrior": {
"enabled": false, "value": { "daysBefore": 5, "emailUser": true } } } } } }, "connectionTimeout": {
"enabled": true, "value": { "maxSec": 600 } }, "connectionsFromSameIpLimit": { "enabled": false,
"value": { "maxNumber": 0 } }, "downloadSizeLimit": { "enabled": false, "value": { "maxKBytes": 0 } },
"downloadsPerSessionLimit": { "enabled": false, "value": { "maxNumber": 0 } }, "enabled": false, "ftp": {
"enabled": true, "value": { "enableFxp": "inherit", "enableNoop": "inherit", "enableComb": "yes",
"enableXcrc": "yes", "enableZlib": true, "banner": { "message": "Login OK. Proceed.", "usage":
"replaceDefault" } } }, "ftps": { "enabled": true }, "hasHomeFolderAsRoot": true, "homeFolder": {
"enabled": true, "value": { "path": "/" } }, "http": { "enableHttp": true, "enableHttps": true,
"enableWtc": true, "enableShareFolder": true, "enableSendMessage": true }, "invalidLoginLimit": {
"enabled": "inherit", "value": { "maxCount": 90, "periodMin": 5, "action": "lock",
"actionDurationMin": 30 } }, "ipAccessLimit": { "enabled": false, "value": { "rules": [],
"defaultRule": "allowAccess" } }, "name": "GSB Template 2", "passwordComplexity": {
"enabled": "inherit", "value": { "minLength": 8, "characterCategories": { "enabled": true, "value": {
"characterCount": 4, "upperCaseRequired": true, "lowerCaseRequired": true, "numericRequired": true,
"nonAlphaNumericRequired": false, "non7bitAsciiRequired": false } }, "usernameCharLimit": {
"enabled": true, "value": { "minDisallowed": 3 } }, "repeatingCharLimit": { "enabled": true, "value": {
"minDisallowed": 3 } }, "forbiddenDictionary": { "enabled": true, "value": { "dictionaryFilePath": "",
"noBackwardsWord": false } } } }, "passwordHistory": { "enabled": "inherit", "value": {
"historyDepth": 4 } }, "sftp": { "enabled": true, "value": { "authenticationType": "password" } },
"ssl": { "authenticationType": "password" }, "totalConnectionsLimit": { "enabled": false, "value": {
"maxNumber": 0 } }, "transferSpeedLimit": { "enabled": false, "value": { "maxKbps": 0 } },
"uploadSizeLimit": { "enabled": false, "value": { "maxKBytes": 0 } }, "uploadsPerSessionLimit": {
"enabled": false, "value": { "maxNumber": 0 } } }, "id": "b3c3d712-2c40-446f-ae9c-d99b742658ab",
"links": { "self":
"/admin/v2/sites/c7d3ecfe-a100-4bcd-b830-01a10524c048/user-templates/b3c3d712-2c40-446f-ae9c-d99b742658ab" },
"type": "userTemplate" } }
PATCH PowerShell Sample
Copy
#####################################################
##PATCH (Update) specific User Settings Template
###
#Get Specific User Settings Templates
Write-Output "Get Specific User Settings Template"
Write-Output "-----"
$userTemplates = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-templates" -Method 'GET' -Headers $authHeader
Write-Output $serverAdminDetails | ConvertTo-Json -Depth 10
foreach ($userTemplates in $userTemplates.id)
{
Write-Output ("User Template found: $($userTemplates.id): $($userTemplates.attributes.name)")
}
$userTemplateID = $userTemplates.data[3].id
###
#Get Specific User Template
Write-Output "Get User Template for: " $userTemplateID " with name: " $userTemplate.data.attributes.name
Write-Output "-----"
$userTemplate = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-templates/$userTemplateID"
-Method 'GET' -Headers $authHeader
Write-Output $userTemplate | ConvertTo-Json -Depth 10
###
##Patch Specific User Settings Template
Write-Output "User Settings Template Patch (update)"
Write-Output "-----"
$update =
'{
"data":{
"type": "userTemplate",
"attributes": {
"enabled": false,
"homeFolder": {
"enabled": true,
"value": {
"path": ""
}
}
}
}
}'
$update = $update | ConvertFrom-Json
$update = $update | ConvertTo-Json -Depth 10
$patchReturn = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-templates/$userTemplateID"
-Method 'PATCH' -Headers $authHeader -Body $update
Method & URL
DELETE https://[server URL]:[port]/admin/v2/sites/{siteId}/user-templates/{userTemplateid}
DELETE Body Sample
Copy
###
#Delete Specific User Settings Template
DELETE https://{{host}}/admin/v2/sites/{{Siteid}}/user-templates/
{{userTemplateid}} HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}
#
DELETE Response Body Sample
Copy
HTTP/1.1 204 No Content Date: Thu, 21 Jul 2022 13:38:16 GMT Content-Length: 0
Cache-Control: no-cache, no-store, must-revalidate Expires: -1
X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block
Content-Security-Policy: default-src 'self' 'unsafe-inline' 'unsafe-eval' data:;
Referrer-Policy: no-referrer
DELETE PowerShell Sample
Copy
##########################################################
#Delete User Settings Template
#Get Specific User Settings Templates
Write-Output "Get Specific User Settings Template"
Write-Output "-----"
$userTemplates = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-templates"
-Method 'GET' -Headers $authHeader
Write-Output $serverAdminDetails | ConvertTo-Json -Depth 10
foreach ($userTemplates in $userTemplates.id)
{
Write-Output ("User Template found: $($userTemplates.id): $($userTemplates.attributes.name)")
}
$userTemplateID = $userTemplates.data[3].id
###
#Get Specific User Template
Write-Output "Get User Template for: " $userTemplateID " with name: " $userTemplate.data.attributes.name
Write-Output "-----"
$userTemplate = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-templates/$userTemplateID"
-Method 'GET' -Headers $authHeader
Write-Output $userTemplate | ConvertTo-Json -Depth 10
#Delete Request
Write-Output "Deleting User Settings Template: " $userTemplateID
Write-Output "-----"
$commandList = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-templates/$userTemplateID"
-Method 'DELETE' -Headers $authHeader
Write-Output $commandList | ConvertTo-Json -Depth 10