Skip to main content

SharedCloudDrive Endpoints

This document provides detailed information about the shared cloud drive management endpoints exposed by the Amove desktop agent's Click API. A shared cloud drive is a virtual drive backed by a cloud bucket that is shared across multiple users in the account.

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

Endpoints

  1. Get All Shared Cloud Drives
  2. Get All Shared Cloud Drives With Details
  3. Insert Shared Cloud Drive
  4. Update Shared Cloud Drive
  5. Delete Shared Cloud Drive

Get All Shared Cloud Drives

Returns the paginated list of shared cloud drives in the current account.

  • URL: /sharedclouddrive/get_all
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDefaultDescription
tokenstringSession token
pageinteger1Starting page
pagesizeinteger50Page size
sortfieldstring"Name"Field to sort by
descendingbooleanfalseSort direction
namestringnullOptional filter on drive name

Response

Returns a DTOCollection<SharedCloudDrive>.

Get All Shared Cloud Drives With Details

Returns shared cloud drives with their assigned projects, users, and user groups inlined.

  • URL: /sharedclouddrive/get_all_with_details
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDefaultDescription
tokenstringSession token
pageinteger1Starting page
pagesizeinteger50Page size
sortfieldstring"Name"Field to sort by
descendingbooleanfalseSort direction
namestringnullOptional filter on drive name

Response

Returns a paginated collection of SharedCloudDriveWithDetailsDTO entries.

Insert Shared Cloud Drive

Creates a new shared cloud drive bound to an existing cloud account and bucket.

  • URL: /sharedclouddrive/insert
  • Method: POST
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringSession token

Request Body

{
"name": "Creative",
"cloudAccountId": "00000000-0000-0000-0000-000000000000",
"storageName": "my-shared-bucket",
"prefix": "projects/creative/",
"prefixId": "",
"storageId": "",
"objectsPerFolder": 10000,
"allowDelete": false,
"localCacheEncrypted": false,
"cloudObjectsEncrypted": false,
"driveType": 1,
"syncType": 2,
"active": true
}

Key fields:

FieldTypeDescription
namestringDrive display name
cloudAccountIdstring (uuid)The cloud account that holds the backing bucket
storageNamestringBacking bucket name
prefixstringOptional path prefix within the bucket
objectsPerFolderintegerMax objects listed per folder (default 10000)
allowDeletebooleanWhen true, local deletions propagate to the cloud
localCacheEncryptedbooleanEncrypt the local cache
cloudObjectsEncryptedbooleanEncrypt objects at rest in the cloud
driveTypeinteger (enum)1 VirtualDrive, 2 LocalPath
syncTypeinteger (enum)1 Stream (on-demand), 2 Mirror (full copy)

Response

Returns the created SharedCloudDrive object.

Update Shared Cloud Drive

Updates an existing shared cloud drive.

  • URL: /sharedclouddrive/update
  • Method: PUT
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringSession token

Request Body

A SharedCloudDrive object including its id. See Insert Shared Cloud Drive for the field list.

Response

Returns the updated SharedCloudDrive object.

Delete Shared Cloud Drive

Soft-deletes a shared cloud drive.

  • URL: /sharedclouddrive/delete
  • Method: DELETE
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
idstring (uuid)Shared cloud drive id
tokenstringSession token

Response

Returns HTTP 200 on success.

Sample Code

List Shared Cloud Drives

Python
import requests

response = requests.get(
"http://localhost:29123/sharedclouddrive/get_all",
params={"token": "EXAMPLE_TOKEN", "page": 1, "pagesize": 20},
)
print(response.json())
JavaScript
const res = await fetch(
"http://localhost:29123/sharedclouddrive/get_all?token=EXAMPLE_TOKEN&page=1&pagesize=20"
);
console.log(await res.json());

Create a Shared Cloud Drive

Python
import requests

response = requests.post(
"http://localhost:29123/sharedclouddrive/insert",
params={"token": "EXAMPLE_TOKEN"},
json={
"name": "Creative",
"cloudAccountId": "00000000-0000-0000-0000-000000000000",
"storageName": "my-shared-bucket",
"prefix": "projects/creative/",
"objectsPerFolder": 10000,
"allowDelete": False,
"driveType": 1,
"syncType": 2,
"active": True,
},
)
print(response.json())

For error handling, see Error Model.