Endpoint: /sites/{siteId}/custom-commands
Note: Available as of EFT 8.1.0
This endpoint provides the ability to return a list of custom commands defined on an EFT site or create a new custom command.
-
GET
Method & URL
GET https://[server URL]:[port]/admin/v2/sites/{siteId}/custom-commands
GET Body Sample
###
##Get Site Custom Commands
GET https://{{host}}/admin/v2//sites/{{siteId}}/custom-commands HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}
GET Response Body Sample
{ "data": [ { "id": "9a0c4aec-862e-4e72-aec4-9b1f04f00bb3", "type": "customCommand",
"attributes": { "name": "Command 1" },
"links": { "self": "/admin/v2/sites/c7d3ecfe-a100-4bcd-b830-01a10524c048/
custom-commands/9a0c4aec-862e-4e72-aec4-9b1f04f00bb3" } },
{ "id": "090dde3a-c039-44ab-b03d-5cc994548ce7", "type":
"customCommand", "attributes": { "name": "Run to the Moon" },
"links": { "self": "/admin/v2/sites/c7d3ecfe-a100-4bcd-b830-01a10524c048/custom-commands/
090dde3a-c039-44ab-b03d-5cc994548ce7" } } ],
"links": { "self": "/admin/v2/sites/c7d3ecfe-a100-4bcd-b830-01a10524c048/custom-commands" } }
GET PowerShell Sample
###
#Get Site Custom Commands
Write-Output "Get Site Custom Commands"
Write-Output "-----"
$serverAdminDetails = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/custom-commands"
-Method 'GET' -Headers $authHeader
Write-Output $serverAdminDetails | ConvertTo-Json -Depth 10
POST https://[server URL]:[port]/admin/v2/sites/{siteId}/custom-commands
POST Body Sample
## Create Custom Command on a specific EFT Site
POST https://{{host}}/admin/v2/sites/{{Siteid}}/custom-commands HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}
{
"data":{
"id":"",
"type": "customCommand",
"attributes": {
"enabled": true,
"name": "Command 5",
"description": "this is a test to run command 5",
"executable": "c:\\windows\\system32\\cscript.exe \
"c:\\users\\administrator\\desktop\\server.vbs\"",
"parameters": "",
"redirectOutputToLog": true,
"useProcessTimeOut": true,
"processTimeOut": 30,
"logFileName": "C:\\ProgramData\\Globalscape\\EFT Server\\Logs\\cmdout.log",
"redirectOutputToClient": true,
"useMinNumOfParams": false,
"minNumOfParams": 1,
"minNumOfParamsMsg": ""
}
}
}
###
POST Response Body Sample
{ "data": { "id": "f1d88549-e4aa-49da-b685-536fe0d93b62", "type": "customCommand", "attributes": { "enabled": true,
"name": "Command 5", "description": "this is a test to run command 5",
"executable": "c:\\windows\\system32\\cscript.exe \"c:\\users\\administrator\\desktop\\server.vbs\"",
"parameters": "", "redirectOutputToLog": true, "useProcessTimeOut": true, "processTimeOut": 30,
"logFileName": "C:\\ProgramData\\Globalscape\\EFT Server\\Logs\\cmdout.log",
"redirectOutputToClient": true, "useMinNumOfParams": false, "minNumOfParams": 1, "minNumOfParamsMsg": "" },
"relationships": { "executionPermissions": { "data": { "users": [], "userGroups": [ {
"type": "userGroup", "id": "a0db9377-92a3-4a38-8c0f-09f268d78ff1", "meta": { "name": "All Users" } } ] } } },
"links": { "self": "/admin/v2/sites/c7d3ecfe-a100-4bcd-b830-01a10524c048/custom-commands/
f1d88549-e4aa-49da-b685-536fe0d93b62" } } }
POST PowerShell Sample
###
#POST new site Custom Command
Write-Output "POST Custom Command (New Custom Command)"
Write-Output "-----"
$update =
'{
"data":{
"id":"",
"type": "customCommand",
"attributes": {
"enabled": true,
"name": "Command 5",
"description": "this is a test to run command 5",
"executable": "c:\\windows\\system32\\cscript.exe \"c:\\users\\administrator\\desktop\\server.vbs\"",
"parameters": "",
"redirectOutputToLog": true,
"useProcessTimeOut": true,
"processTimeOut": 30,
"logFileName": "C:\\ProgramData\\Globalscape\\EFT Server\\Logs\\cmdout.log",
"redirectOutputToClient": true,
"useMinNumOfParams": false,
"minNumOfParams": 1,
"minNumOfParamsMsg": ""
}
}
}'
$update = $update | ConvertFrom-Json
$update = $update | ConvertTo-Json -Depth 10
$patchReturn = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/custom-commands"
-Method 'POST' -Headers $authHeader -Body $update