Skip to main content

UsersPermission Endpoints

This document provides detailed information about the permission management endpoints exposed by the Amove desktop agent's Click API. Permissions associate users or user groups with projects or shared cloud drives, at one of two levels: Read or ReadWrite.

This API is bound to http://localhost:29123 on a machine running the Amove desktop agent. It is not a hosted service.

All endpoints on this page live under the /userspermission route prefix.

Permission Type

Every permission entry carries a permissionType value:

ValueMeaning
1Read
2ReadWrite

Endpoints

The controller exposes four CRUD groups with five endpoints each. Jump to the relevant section:

User to Project

Add User-Project Permission

Grants one or more users a permission on a project.

  • URL: /userspermission/users_project_permission
  • Method: POST
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringSession token

Request Body

An array of UserProjectPermission objects:

[
{
"userId": "00000000-0000-0000-0000-000000000000",
"projectId": "11111111-1111-1111-1111-111111111111",
"permissionType": 2
}
]

Response

Returns HTTP 200 on success.

Edit User-Project Permission

Updates existing user-project permission entries.

  • URL: /userspermission/users_project_permission
  • Method: PUT
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringSession token

Request Body

An array of UserProjectPermission objects (each including its id):

[
{
"id": "22222222-2222-2222-2222-222222222222",
"userId": "00000000-0000-0000-0000-000000000000",
"projectId": "11111111-1111-1111-1111-111111111111",
"permissionType": 1
}
]

Response

Returns HTTP 200 on success.

Delete User-Project Permission

Removes a user-project permission entry by its id.

  • URL: /userspermission/users_project_permission
  • Method: DELETE
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
idstring (uuid)Permission entry id
tokenstringSession token

Response

Returns HTTP 200 on success.

Get Users Assigned to Project

Returns the paginated list of users assigned to a project.

  • URL: /userspermission/get_users_assigned_to_project
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDefaultDescription
tokenstringSession token
projectIdstring (uuid)Target project id
pageinteger1Starting page
pagesizeinteger50Page size
sortfieldstring"User.Username"Field to sort by
descendingbooleanfalseSort direction
usernamestringnullOptional filter on username

Response

Returns a collection of UserProjectPermissionDTO entries.

Get Projects Assigned to User

Returns the paginated list of projects a given user is assigned to.

  • URL: /userspermission/get_projects_assigned_to_user
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDefaultDescription
tokenstringSession token
userIdstring (uuid)Target user id
pageinteger1Starting page
pagesizeinteger50Page size
sortfieldstring"Project.Name"Field to sort by
descendingbooleanfalseSort direction
namestringnullOptional filter on project name

Response

Returns a collection of UserProjectPermissionDTO entries.

User to SharedCloudDrive

Note: the route below uses the legacy spelling users_sharedclouddrive_permision (one "s" in "permision"). This is the actual URL exposed by the agent.

Add User-SharedCloudDrive Permission

Grants one or more users a permission on a shared cloud drive.

  • URL: /userspermission/users_sharedclouddrive_permision
  • Method: POST
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringSession token

Request Body

An array of UserSharedCloudDrivePermission objects:

[
{
"userId": "00000000-0000-0000-0000-000000000000",
"sharedCloudDriveId": "11111111-1111-1111-1111-111111111111",
"permissionType": 2
}
]

Response

Returns HTTP 200 on success.

Edit User-SharedCloudDrive Permission

Updates existing user-shared-cloud-drive permission entries.

  • URL: /userspermission/users_sharedclouddrive_permision
  • Method: PUT
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringSession token

Request Body

An array of UserSharedCloudDrivePermission objects (each including its id).

Response

Returns HTTP 200 on success.

Delete User-SharedCloudDrive Permission

Removes a user-shared-cloud-drive permission entry by its id.

  • URL: /userspermission/users_sharedclouddrive_permision
  • Method: DELETE
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
idstring (uuid)Permission entry id
tokenstringSession token

Response

Returns HTTP 200 on success.

Get Users Assigned to Shared Cloud Drive

Returns the paginated list of users assigned to a shared cloud drive.

  • URL: /userspermission/get_users_assigned_to_sharedclouddrive
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDefaultDescription
tokenstringSession token
sharedCloudDriveIdstring (uuid)Target shared cloud drive id
pageinteger1Starting page
pagesizeinteger50Page size
sortfieldstring"User.Username"Field to sort by
descendingbooleanfalseSort direction
usernamestringnullOptional filter on username

Response

Returns a collection of UserSharedCloudDrivePermissionDTO entries.

Get Shared Cloud Drives Assigned to User

Returns the paginated list of shared cloud drives a given user has access to.

  • URL: /userspermission/get_sharedclouddrive_assigned_to_user
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDefaultDescription
tokenstringSession token
userIdstring (uuid)Target user id
pageinteger1Starting page
pagesizeinteger50Page size
sortfieldstring"SharedClouDrive.Name"Field to sort by
descendingbooleanfalseSort direction
namestringnullOptional filter on drive name

Response

Returns a collection of UserSharedCloudDrivePermissionDTO entries.

UserGroup to Project

Add UserGroup-Project Permission

Grants one or more user groups a permission on a project.

  • URL: /userspermission/usergroups_project_permission
  • Method: POST
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringSession token

Request Body

An array of UserGroupProjectPermission objects:

[
{
"userGroupId": "00000000-0000-0000-0000-000000000000",
"projectId": "11111111-1111-1111-1111-111111111111",
"permissionType": 2
}
]

Response

Returns HTTP 200 on success.

Edit UserGroup-Project Permission

Updates existing user-group-to-project permission entries.

  • URL: /userspermission/usergroups_project_permission
  • Method: PUT
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringSession token

Request Body

An array of UserGroupProjectPermission objects (each including its id).

Response

Returns HTTP 200 on success.

Delete UserGroup-Project Permission

Removes a user-group-to-project permission entry by its id.

  • URL: /userspermission/usergroups_project_permission
  • Method: DELETE
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
idstring (uuid)Permission entry id
tokenstringSession token

Response

Returns HTTP 200 on success.

Get User Groups Assigned to Project

Returns the paginated list of user groups assigned to a project.

  • URL: /userspermission/get_usergroups_assigned_to_project
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDefaultDescription
tokenstringSession token
projectIdstring (uuid)Target project id
pageinteger1Starting page
pagesizeinteger50Page size
sortfieldstring"UserGroup.Name"Field to sort by
descendingbooleanfalseSort direction
namestringnullOptional filter on user group name

Response

Returns a collection of UserGroupProjectPermissionDTO entries.

Get Projects Assigned to User Group

Returns the paginated list of projects a given user group is assigned to.

  • URL: /userspermission/get_projects_assigned_to_usergroup
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDefaultDescription
tokenstringSession token
userGroupIdstring (uuid)Target user group id
pageinteger1Starting page
pagesizeinteger50Page size
sortfieldstring"Project.Name"Field to sort by
descendingbooleanfalseSort direction
namestringnullOptional filter on project name

Response

Returns a collection of UserGroupProjectPermissionDTO entries.

UserGroup to SharedCloudDrive

Add UserGroup-SharedCloudDrive Permission

Grants one or more user groups a permission on a shared cloud drive.

  • URL: /userspermission/usergroup_sharedclouddrive_permission
  • Method: POST
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringSession token

Request Body

An array of UserGroupSharedCloudDrivePermission objects:

[
{
"userGroupId": "00000000-0000-0000-0000-000000000000",
"sharedCloudDriveId": "11111111-1111-1111-1111-111111111111",
"permissionType": 2
}
]

Response

Returns HTTP 200 on success.

Edit UserGroup-SharedCloudDrive Permission

Updates existing user-group-to-shared-cloud-drive permission entries.

  • URL: /userspermission/usergroup_sharedclouddrive_permission
  • Method: PUT
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringSession token

Request Body

An array of UserGroupSharedCloudDrivePermission objects (each including its id).

Response

Returns HTTP 200 on success.

Delete UserGroup-SharedCloudDrive Permission

Removes a user-group-to-shared-cloud-drive permission entry by its id.

  • URL: /userspermission/usergroup_sharedclouddrive_permission
  • Method: DELETE
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
idstring (uuid)Permission entry id
tokenstringSession token

Response

Returns HTTP 200 on success.

Get User Groups Assigned to Shared Cloud Drive

Returns the paginated list of user groups assigned to a shared cloud drive.

  • URL: /userspermission/get_usergroups_assigned_to_sharedclouddrive
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDefaultDescription
tokenstringSession token
sharedCloudDrivestring (uuid)Target shared cloud drive id
pageinteger1Starting page
pagesizeinteger50Page size
sortfieldstring"UserGroup.Name"Field to sort by
descendingbooleanfalseSort direction
namestringnullOptional filter on user group name

Response

Returns a collection of UserGroupSharedCloudDrivePermissionDTO entries.

Get Shared Cloud Drives Assigned to User Group

Returns the paginated list of shared cloud drives a given user group can access.

  • URL: /userspermission/get_sharedclouddrive_assigned_to_usergroup
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDefaultDescription
tokenstringSession token
userGroupIdstring (uuid)Target user group id
pageinteger1Starting page
pagesizeinteger50Page size
sortfieldstring"SharedCloudDrive.Name"Field to sort by
descendingbooleanfalseSort direction
namestringnullOptional filter on drive name

Response

Returns a collection of UserGroupSharedCloudDrivePermissionDTO entries.

Sample Code

Grant a User ReadWrite access to a Project

Python
import requests

response = requests.post(
"http://localhost:29123/userspermission/users_project_permission",
params={"token": "EXAMPLE_TOKEN"},
json=[
{
"userId": "00000000-0000-0000-0000-000000000000",
"projectId": "11111111-1111-1111-1111-111111111111",
"permissionType": 2,
}
],
)
print(response.status_code)
JavaScript
const res = await fetch(
"http://localhost:29123/userspermission/users_project_permission?token=EXAMPLE_TOKEN",
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify([
{
userId: "00000000-0000-0000-0000-000000000000",
projectId: "11111111-1111-1111-1111-111111111111",
permissionType: 2,
},
]),
}
);
console.log(res.status);

List Users Assigned to a Shared Cloud Drive

Python
import requests

response = requests.get(
"http://localhost:29123/userspermission/get_users_assigned_to_sharedclouddrive",
params={
"token": "EXAMPLE_TOKEN",
"sharedCloudDriveId": "00000000-0000-0000-0000-000000000000",
"page": 1,
"pagesize": 20,
},
)
print(response.json())

For error handling, see Error Model.