Users Endpoint
Fetch list of Users
GET /v3/workspaces/{workspaceId}/users
This endpoint now supports the following options:
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:
- userId
- loginName
- displayName
- firstName
- lastName
- licenseType.type
The filtering format follows Autodesk Platform Services standards, and it is summarized in the example below.
GET https://tenant_name.autodeskplm360.net/api/v3/users?filter[loginName]=someUserLoginName
Returns:
{
"__self__": "/api/v3/users?offset=0&limit=10 ",
"offset": 0,
"limit": 10,
"totalCount": 21,
"first": {
"link": "/api/v3/users?offset=0&limit=10 ",
"title": "First",
"deleted": false,
"count": 10
},
"next": {
"link": "/api/v3/users?offset=10&limit=10 ",
"title": "Next",
"deleted": false,
"count": 10
},
"last": {
"link": "/api/v3/users?offset=20&limit=10",
"title": "Last",
"deleted": false,
"count": 1
},
"items": [
{
"userId": "userId",
"loginName": "someUserLoginName",
"delegations": [],
"dashboardCharts": null,
"displayName": "John Doe",
"firstName": "John",
"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": 158,
"dateFormat": "yyyy/MM/dd",
"displayNameExtended": "John Doe (john.doe)",
"externalAuthReservationToken": null,
"externalAuthUserId": "EXTUSERID",
"plmSearchCrawlerUser": false,
"lastRecalculateUpdate": null,
"lastRecalculateStarted": null,
"lastMowUpdateDate": "2019-10-18T20:27:46.848+0000",
"preferences": null,
"interfaceStyle": "NextPLM360",
"interfaceStyleMandated": false,
"signupUrl": null,
"tenantAdmin": false,
"userStatus": "Active",
"mappedToOxygen": true,
"userActive": true,
"userInactive": false,
"id": "userId",
"groups": [],
"__self__": "/api/v3/users/userId",
"urn": "urn:adsk.plm:tenant.user:TENANTNAME.userId",
"image": {
"small": "https://s3.amazonaws.com:443/com.autodesk.storage.public.staging/oxygen/EXTUSERID/profilepictures/x20.jpg",
"medium": "https://s3.amazonaws.com:443/com.autodesk.storage.public.staging/oxygen/ EXTUSERID /profilepictures/x50.jpg",
"large": "https://s3.amazonaws.com:443/com.autodesk.storage.public.staging/oxygen/ EXTUSERID /profilepictures/x176.jpg"
},
"alerts": [
{}
]
}
]
}
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:
- displayName
- firstName
- lastName
- userId
- loginName
The sorting format is summarized in the example below.
GET https://tenant_name.autodeskplm360.net/api/v3/users?sort=displayName asc
Header:
Accept: application/json
Returns:
(Same as above, sorted by the specific criteria)
Return user details in bulk
This functionality allows setting the Accept header parameter to a value “application/vnd.autodesk.plm.users.bulk+json” when performing a GET against the list of users. This will return the whole user details data, instead of just the basic information. This can be leveraged by integrations to reduce the number of calls to fetch each user’s details individually.
Examples:
GET https://tenant_name.autodeskplm360.net/api/v3/users
Header:
Accept: application/vnd.autodesk.plm.users.bulk+json
Returns:
{
"__self__": "/api/v3/users?offset=0&limit=10&activeOnly=true&mappedOnly=true",
"offset": 0,
"limit": 10,
"totalCount": 21,
"first": {
"link": "/api/v3/users?offset=0&limit=10&activeOnly=true&mappedOnly=true",
"title": "First",
"deleted": false,
"count": 10
},
"next": {
"link": "/api/v3/users?offset=10&limit=10&activeOnly=true&mappedOnly=true",
"title": "Next",
"deleted": false,
"count": 10
},
"last": {
"link": "/api/v3/users?offset=20&limit=10&activeOnly=true&mappedOnly=true",
"title": "Last",
"deleted": false,
"count": 1
},
"items": [
{
"userId": "userId",
"loginName": "some.user.name",
"delegations": [],
"dashboardCharts": null,
"displayName": "John Doe",
"firstName": "John",
"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": 158,
"dateFormat": "yyyy/MM/dd",
"displayNameExtended": "John Doe (john.doe)",
"externalAuthReservationToken": null,
"externalAuthUserId": "EXTUSERID",
"plmSearchCrawlerUser": false,
"lastRecalculateUpdate": null,
"lastRecalculateStarted": null,
"lastMowUpdateDate": "2019-10-18T20:27:46.848+0000",
"preferences": null,
"interfaceStyle": "NextPLM360",
"interfaceStyleMandated": false,
"signupUrl": null,
"tenantAdmin": false,
"userStatus": "Active",
"mappedToOxygen": true,
"userActive": true,
"userInactive": false,
"id": "userId",
"groups": [],
"__self__": "/api/v3/users/userId",
"urn": "urn:adsk.plm:tenant.user:TENANTNAME.userId",
"image": {
"small": "https://s3.amazonaws.com:443/com.autodesk.storage.public.staging/oxygen/EXTUSERID/profilepictures/x20.jpg",
"medium": "https://s3.amazonaws.com:443/com.autodesk.storage.public.staging/oxygen/ EXTUSERID /profilepictures/x50.jpg",
"large": "https://s3.amazonaws.com:443/com.autodesk.storage.public.staging/oxygen/ EXTUSERID /profilepictures/x176.jpg"
},
"alerts": [
{}
]
}
]
}
GET https://tenant_name.autodeskplm360.net/api/v3/users
Header:
Accept: application/json
Optional query parameters
All these query parameters can be combined.
Return only active users
GET https://tenant_name.autodeskplm360.net/api/v3/users&activeOnly=true
Return only mapped users
GET https://tenant_name.autodeskplm360.net/api/v3/users&mappedOnly=true
Remove alert object from the payload
GET https://tenant_name.autodeskplm360.net/api/v3/users&includeAlertView=false
Remove tenant admins from the list
GET https://tenant_name.autodeskplm360.net/api/v3/users&includeTenantAdmin=false
Add Users
This functionality allows creating new users using V3 API when calling /users endpoint. This request will only succeed if it’s performed by an administrator. The following fields are supported:
- e-mail address
- license type
- profile information (optional)
- interfaceStyle (if not passed, assumes Modern by default
- thumbnailPref (it not passed, assumes Yes)
- uomPref (if not passed, assumes English)
- timezone (if not passed, assumes Etc/GMT+12)
The POST format is:
POST https://tenant_name.autodeskplm360.net/api/v3/users
Header: Content-Type: application/json
Body:
{
"email": "anyone@domain.com",
"licenseType": {
"licenseCode": "P"
},
"thumbnailPref": "Yes",
"uomPref": "English",
"timezone": "Etc/GMT+12"
}
Returns:
HTTP 201 (Created)
Location: /api/v3/users/{userId}
Set User status
This functionality allows changing the status of users to INACTIVE or DELETED using V3 API when calling /users endpoint. This request will only succeed if it’s performed by an administrator.
The PATCH format is:
PATCH /api/v3/users/{userId}
Header: Content-type: application/json-patch+json
Body:
[{
"op": "replace",
"path": "/userStatus",
"value": "Deleted"
}]
Returns:
HTTP 204 (Success)
Replace Deleted with Inactive to inactivate the user.
Assign Group(s) to User
This functionality allows assigning one (or more) Groups with a User using V3 API when calling the /users/:userId: endpoint. This request will only succeed if it’s performed by an administrator.
The POST format is:
POST /api/v3/users/{userId}/groups
Header: Content-type: application/json
Body:
["urn:adsk.plm:tenant.group:TENANT_NAME.GROUP_ID", "urn:adsk.plm:tenant.group:TENANT_NAME.GROUP_ID",…]
Returns:
HTTP 204 (Success)