Endpoint: /sites/{siteId}/user-groups

NOTE: Available as of EFT 8.1.0

Provides the ability to return a list of user permissions groups for a specific EFT site or create a new permission group.

  • GET

  • POST

Method & URL

GET https://[server URL]:[port]/admin/v2/sites/{siteId}/user-groups

GET Body Sample

Copy
### Get List of all User's Permissions Groups for the Site####
#
GET https://{{host}}/admin/v2/sites/{{Siteid}}/user-groups HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}
###

GET Response Body Sample

Copy
{ "data": [ 
{ "type": "userGroup", 
"id": "a0db9377-92a3-4a38-8c0f-09f268d78ff1", 
"attributes": { "name": "All Users" }, 
"relationships": { "users": { "data": [ { "type": "user", "id": 
"b90be871-86ff-4060-b3cc-007903dff7f7", "meta": 
{ "name": "Ivan" } }, 
{ "type": "user", "id": "953bcb67-fa8c-44e2-a056-ecfb5080d13c", "meta": 
{ "name": "TestUser" } } ] } }, 
"links": { "self": "/admin/v2/sites/c7d3ecfe-a100-4bcd-b830-01a10524c048/user-groups/
a0db9377-92a3-4a38-8c0f-09f268d78ff1" } }, 
{ "type": "userGroup", "id": "07caceb2-6698-4ef7-baeb-f437fec972a2", "attributes": 
{ "name": "Administrators" }, "relationships": { "users": 
{ "data": [] } }, "links": { "self": 
"/admin/v2/sites/c7d3ecfe-a100-4bcd-b830-01a10524c048/
user-groups/07caceb2-6698-4ef7-baeb-f437fec972a2" 
} }, { "type": "userGroup", "id": "b8448b77-01d8-47d5-8ee7-9f407c95e39f", "attributes": 
{ "name": "Guests" }, "relationships": { "users": { "data": [] } }, "links": 
{ "self": "/admin/v2/sites/c7d3ecfe-a100-4bcd-b830-01a10524c048/
user-groups/b8448b77-01d8-47d5-8ee7-9f407c95e39f" } } ] }

GET PowerShell Sample

Copy
# 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 User Permission Groups
Write-Output "Get User Permission Groups"
Write-Output "-----"
$userGroups = Invoke-RestMethod -Uri "$baseURL/v2/sites/$siteID/user-groups" 
-Method 'GET' -Headers $authHeader
Write-Output $userGroups | ConvertTo-Json -Depth 10 

Method & URL

POST https://[server URL]:[port]/admin/v2/sites/{siteId}/user-groups

POST Body Sample

Copy
### Create User Permission Group ###
POST https://{{host}}/admin/v2/sites/{{Siteid}}/user-groups HTTP/1.1
Authorization: EFTAdminAuthToken {{AuthToken}}

{
    "data": {
        "type": "userGroup",
        "attributes": {
            "name": "QA_API_User_Group_TEST"
        }
    }
}

POST Response Body Sample

Copy
{ "data": { "type": "userGroup", "id": "1ba8c63f-6e37-4783-b556-be5bf831dc6c", 
"attributes": { "name": "QA_API_User_Group_TEST" }, "relationships": { "users": { "data": [] } }, 
"links": { "self": 
"/admin/v2/sites/c7d3ecfe-a100-4bcd-b830-01a10524c048/user-groups/1ba8c63f-6e37-4783-b556-be5bf831dc6c" } } }

POST PowerShell Sample

Copy
#POST New Permission Group
Write-Output "POST User Permissions Group (New Permission Group)"
Write-Output "-----"
$update = 
'{
  "data": {
        "type": "userGroup",
        "attributes": {
            "name": "QA_API_User_Group_TEST"
        }
    }
}'

$update = $update | ConvertFrom-Json
$update = $update | ConvertTo-Json -Depth 10
$patchReturn = Invoke-RestMethod -Uri 
"$baseURL/v2/sites/$siteID/user-groups" -Method 'POST' 
-Headers $authHeader -Body $update