Endpoint: /sites/{siteId}/user-templates
Note: Available as of EFT 8.1.0
Returns a list of user templates defined on an EFT site and allows the ability to get and create templates.
-
GET
Method & URL
GET https://[server URL]:[port]/admin/v2/sites/{siteId}/user-templates
GET Body Sample
### Get User Settings Template ###
GET https://{{host}}/admin/v2/sites/{{Siteid}}/user-templates HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}
###
GET Response Body Sample
{ "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": true,
"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":
"Default Settings", "passwordComplexity": { "enabled": "inherit", "value": { "minLength": 8,
...
"definedUserTemplates": 4 } }
GET PowerShell Sample
# get sites
Write-Output "Site"
Write-Output "----"
$siteList = Invoke-RestMethod -Uri "$baseURL/v2/sites"
-Method 'GET' -Headers $authHeader
Write-Output $siteList | ConvertTo-Json
foreach ($site in $siteList.data)
{
Write-Output ("Site $($site.id): $($site.attributes.name)")
}
$siteID = $siteList.data[0].id
###
#Get Site User Settings Template
Write-Output "Get Site User Settings Template"
Write-Output "-----"
$serverAdminDetails = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-templates"
-Method 'GET' -Headers $authHeader
Write-Output $serverAdminDetails | ConvertTo-Json -Depth 10
##
POST https://[server URL]:[port]/admin/v2/sites/{siteId}/user-templates
POST Body Sample
### POST User Settings Template (Create)###
POST https://{{host}}/admin/v2/sites/{{Siteid}}/user-templates HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}
{
"data":{
"type": "userTemplate",
"attributes":{
"name": "GSB Template 4",
"accountEnabled": true,
"homeFolder": {
"enabled": false,
"value": {
"path": ""
}
}
},
"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
}
}
}
},
"sftp": {
"enabled": true,
"value": {
"authenticationType": "password"
}
},
"ssl": {
"authenticationType": "password"
} }}
POST Response Body Sample
{ "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": true, "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": false, "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 4", "passwordComplexity": { "enabled": "inherit", "value": { "minLength": 8, "characterCategories": {
"enabled": true, "value": { "characterCount": 4, "upperCaseRequired": true, "lowerCaseRequired": true,
"numericRequired": true, "nonAlphaNumericRequired": false, "non7bitAsciiRequired": false } }, "usernameCharLimit": {
...
"type": "userTemplate" } }
POST PowerShell Sample
###
#POST Site User Settings Template (Create)
#POST new site Custom Command
Write-Output "POST User Settings Template (New User Settings Template)"
Write-Output "-----"
$update =
'{
"data":{
"type": "userTemplate",
"attributes":{
"name": "GSB Template 4",
"accountEnabled": true,
"homeFolder": {
"enabled": false,
"value": {
"path": ""
}
}
},
"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
}
}
}
},
"sftp": {
"enabled": true,
"value": {
"authenticationType": "password"
}
},
"ssl": {
"authenticationType": "password"
}
}
}'
$update = $update | ConvertFrom-Json
$update = $update | ConvertTo-Json -Depth 10
$patchReturn = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-templates"
-Method 'POST' -Headers $authHeader -Body $update