Share

Groups Endpoint

This endpoint now supports the following options:

Fetch list of Groups

GET /api/v3/groups 

Filter the list by different criteria

This functionality allows adding a query parameter to the GET call to filter the list matching on the supplied query parameters. The following fields are supported:

  • shortName
  • longName
  • groupId
  • isSystemManaged
  • restrictIp
  • exclusiveGroup

The filtering format follows Autodesk Platform Services standards, and it is summarized in the example below.

GET https://tenant_name.autodeskplm360.net/api/v3/groups?filter[shortName]=admin
Returns:
{
  "__self__": "/api/v3/users?offset=0&limit=10 ",
  "offset": 0,
  "limit": 1,
  "totalCount": 1,
  "first": {
    "link": "/api/v3/groups?offset=0&limit=10 ",
    "title": "First",
    "deleted": false,
    "count": 101
  },
  "next": {},
  "last": {
    "link": "/api/v3/groups?offset=0&limit=10",
    "title": "Last",
    "deleted": false,
    "count": 1
  },
  "groups": [
    {
      "__self__": "/api/v3/groups/1",
      "urn": "urn:adsk.plm:tenant.group:TENANTNAME.108",
      "shortName": "Administration [SYSTEM]",
      "longName": "This is a system-managed group.  This group's attributes and roles can not be modified, but users can be added and removed",
      "minUserCount": 1,
      "exclusiveGroup": false,
      "restrictIp": false,
      "oxygenGroupId": 0000001,
      "isSystemManaged": true,
      "invariantName": "ADMINISTRATION",
      "mappedToOxygen": true
    }
  ]
}

Back to top

Sort the list by different criteria

This functionality allows adding a query parameter to the GET call to sort the list matching on the supplied query parameters – ascending or descending order. The following fields are supported:

  • groupId
  • shortName
  • longName
  • exclusiveGroup
  • isSystemManaged
  • restrictIp
  • mappedToOxygen
  • minUserCount

The sorting format is summarized in the example below.

GET https://tenant_name.autodeskplm360.net/api/v3/groups?sort=groupId asc
Header:
Accept: application/json
Returns:
(Same as above, sorted by the specific criteria)

Back to top

Return user details in bulk

This functionality allows setting the Accept header parameter to a value “application/vnd.autodesk.plm.groups.bulk+json” when performing a GET against the list of groups. This will return the whole group data, including which users belong to each group, instead of just the basic information. This can be leveraged by integrations to reduce the number of calls to fetch each group’s details individually.

Note: the number of groups in the page will be limited to 100. If more than 100 items are available in the list, the next page can be fetched by following the links in the payload.

Examples

GET https://tenant_name.autodeskplm360.net/api/v3/groups
Header:
Accept: application/vnd.autodesk.plm.groups.bulk+json
Returns:
{
  "__self__": "/api/v3/groups?offset=0&limit=10 ",
  "offset": 0,
  "limit": 10,
  "totalCount": 21,
  "first": {
    "link": "/api/v3/groups?offset=0&limit=10 ",
    "title": "First",
    "deleted": false,
    "count": 10
  },
  "next": {
    "link": "/api/v3/groups?offset=10&limit=10 ",
    "title": "Next",
    "deleted": false,
    "count": 10
  },
  "last": {
    "link": "/api/v3/groups?offset=20&limit=10",
    "title": "Last",
    "deleted": false,
    "count": 1
  },
  "items" : [ {
    "link" : "/api/v3/groups/129",
    "urn" : "urn:adsk.plm:tenant.group:TENANTNAME.129",
    "shortName" : Admin Group",
    "longName" : Administrators of FLC",
    "minUserCount" : 0,
    "exclusiveGroup" : false,
    "restrictIp" : false,
    "isSystemManaged" : false,
    "mappedToOxygen" : true,
    "users" : [ {
      "userId" : "randomId",
      "loginName" : "doej",
      "delegations" : [ ],
      "dashboardCharts" : null,
      "displayName" : "John Doe",
      "firstName" : "Joe",
      "lastName" : "Doe",
      "active" : "Y",
      "reset" : "No",
      "batchNotifyPref" : "Always",
      "wfNotifyPref" : "ActionRequired",
      "thumbnailPref" : "Yes",
      "licenseType" : {
        "link" : "/api/v3/licenses/S",
        "urn" : "urn:adsk.plm:tenant.license:TENANTNAME.S",
        "title" : "Standard",
        "deleted" : false,
        "type" : "Standard",
        "description" : "PROFESSIONAL"
      },
      "title" : "",
      "phone" : null,
      "cellular" : null,
      "fax" : null,
      "email" : "john.doe@autodesk.com",
      "address1" : "",
      "address2" : "",
      "city" : "",
      "stateProv" : "",
      "country" : "",
      "postal" : "",
      "timezone" : "Etc/GMT+12",
      "organization" : "",
      "industry" : null,
      "aboutMe" : null,
      "uomPref" : "English",
      "surveyDone" : false,
      "userNumber" : 200,
      "dateFormat" : "yyyy/MM/dd",
      "displayNameExtended" : "John Doe (doej)",
      "externalAuthReservationToken" : null,
      "externalAuthUserId" : "RANDOMID",
      "plmSearchCrawlerUser" : false,
      "lastRecalculateUpdate" : null,
      "lastRecalculateStarted" : null,
      "lastMowUpdateDate" : "2019-10-18T20:27:46.738+0000",
      "lastLoginTime" : "2019-03-06T17:10:42.778+0000",
      "interfaceStyle" : "NextPLM360",
      "interfaceStyleMandated" : false,
      "signupUrl" : null,
      "userStatus" : "Active",
      "mappedToOxygen" : true,
      "userActive" : true,
      "userInactive" : false,
      "tenantAdmin" : false,
      "id" : "sUXRT",
      "__self__" : "/api/v3/users/randomid",
      "urn" : "urn:adsk.plm:tenant.user:TENANTNAME.randomid"
    }
  ]
}
Note: By default, the default option to return data is bulk. To return a simplified list of user details, use the following:
GET https://tenant_name.autodeskplm360.net/api/v3/groups
Header:
Accept: application/json

Back to top

Assign User(s) to Group

This functionality allows adding one (or more) User(s) to a Group using V3 API when calling the /groups/:groupId: endpoint. This request will only succeed if it’s performed by an administrator.

The POST format is:

POST /api/v3/groups/{groupId}/users
Header: Content-type: application/json
Body:
["urn:adsk.plm:tenant.user:TENANT_NAME.USER_ID", "urn:adsk.plm:tenant.user:TENANT_NAME.USER_ID",…]

Returns:

HTTP 204 (Success)
Note:The URNs for the Users can be retrieved by fetching data from the Users endpoint.

Back to top

Assign Role(s) to Group

This functionality allows assigning one (or more) Role(s) to a Group using V3 API when calling the /groups/:groupId:/roles endpoint. This request will only succeed if it’s performed by an administrator.

The POST format is:

POST /api/v3/groups/{groupId}/roles
Header: Content-type: application/json
Body:
["urn:adsk.plm:tenant.role:TENANT_NAME.ROLE_ID", "urn:adsk.plm:tenant.role:TENANT_NAME.ROLE_ID",…]
Returns:
HTTP 204 (Success)
Note:The URNs for the Roles can be retrieved by fetching data from the Roles endpoint.

Back to top

Create a Group

Resource URL

POST http//mytenant.autodeskplm360.net/api/v3/groups 
Header: Content-type: application/json 
Body: 
{ 
    name  
    description  
    restrictIp  
    ipRanges(optional) 
} 

Response: 
HTTP 201 (Created) 

Header location: http//mytenant.autodeskplm360.net/api/v3/groups/{groupId}  
Note: If restricIp is true, then ipRanges must be included.

Request example where restrictIP is false:

POST http//mytenant.autodeskplm360.net/api/v3/groups 
{ 
   "name":"UniqueGroupName", 
   "description":"Description",
   "restrictIp":false 
}   

Response (201 Created) 
Content-Type: application/json 

Header location: http//mytenant.autodeskplm360.net/api/v3/groups/{groupId} 

Request example where restrictIp is true:

POST http//mytenant.autodeskplm360.net/api/v3/groups 
{ 
   "name":"UniqueGroupName", 
   "description":"Description", 
   "restrictIp": true,  
   "ipRanges": [{ 
         "description":"can be requested only from these IPs", 
         "fromIp":"124.0.0.",
         "toIp":"124.0.1" 
    }] 
} 

Response (201 Created) 
Content-Type: application/json 

Header location: http//mytenant.autodeskplm360.net/api/v3/groups/{groupId} 

Back to top

Was this information helpful?