# File Sync & Share API **Base URL**: https://dev-cloud.acronis.com/fc/api/v1 ## Security ### OAuth 2.0 Supported grant types: * `password` * `authorization_code` Authorization URI example: `https://dev-cloud.acronis.com/api/2/idp/authorize` Access token URI example: `https://dev-cloud.acronis.com/api/2/idp/token` ### Request parameters #### Headers | Name | Description | |------|-------------| | `Authorization` | (Required) Used to send a valid OAuth 2 access token

**Type**: String
**Pattern**: `^Bearer [0-9a-zA-Z\-\._~+/]*=$` | ### Responses | Code | Description | |------|-------------| | `401` | Missing or invalid token | ## Endpoints ### Get audit log entries list (GET /audit_log) Gets a list of audit log entries #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `filter_user` | (Optional) Filter by user UUID

Set to `"-"` to return log entries not associated with a user

**Type**: String | | `filter_share` | (Optional) Filter by shared folder UUID

Set to `"-"` to return log entries not associated with a shared folder

**Type**: String | | `filter_node_uuid` | (Optional) Filter by node UUID

Set to `"-"` to return log entries not associated with a node

**Type**: String | | `filter_severity` | (Optional) Filter by severity level

Severity levels are:

- `1` - Info
- `2` - Warning
- `3` - Error
- `4` - Fatal

**Type**: Integer
**Allowed values**:
- `1`
- `2`
- `3`
- `4` | | `filter_text` | (Optional) Filter by text

**Type**: String | | `filter_from` | (Optional) Filter by date and time (on or after the specified datetime)

**Type**: DateTime | | `filter_to` | (Optional) Filter by date and time (on or before the specified datetime)

**Type**: DateTime | | `per_page` | (Optional) The number of items to be retrieved

**Type**: Integer | | `page` | (Optional) The page to return

Starts from 1

**Type**: Integer | | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | #### Responses ##### `200` — Successfully retrieved the list of audit log entries **Media type**: `application/json` - `default` — **Type**: Array of Object
**Array type description:**
**Type**: Object **Example**: ```json [ { "uuid": "2057c38b-4dba-4fb3-bc83-f77562cac980", "text": "Added new file 'file.txt'.", "code": 0, "owner_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "created_at": "2019-06-25T13:25:36Z", "severity": 1, "node": { "uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "name": "file.txt" }, "node_uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "user": { "uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "name": "user", "email": "user@example.com" } }, { "uuid": "c94ad17d-5727-41d9-ab15-cfc72349e555", "text": "Added new share 'Folder'.", "code": 0, "share": { "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "name": "Folder" }, "share_uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "owner_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "created_at": "2019-06-25T12:46:56Z", "severity": 1, "user": { "uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "name": "user", "email": "user@example.com" } }, { "uuid": "b2abe6d6-2077-41d6-937b-db76ea4bf839", "text": "Log purge completed. 1 entries older than 2019-01-04 were purged from the log.", "code": 0, "created_at": "2019-04-04T03:00:00Z", "severity": 1 }, { "uuid": "61dd43d3-a0fe-4d65-9dc8-5ecfe7a070ce", "text": "Error uploading file to repository", "code": 0, "owner_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "created_at": "2019-06-18T12:05:53Z", "severity": 3, "user": { "uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "name": "user", "email": "user@example.com" } } ] ``` ##### `206` — Successfully retrieved part of the list **Media type**: `application/json` - `default` — **Type**: Array of Object
**Array type description:**
**Type**: Object **Example**: ```json [ { "uuid": "2057c38b-4dba-4fb3-bc83-f77562cac980", "text": "Added new file 'file.txt'.", "code": 0, "owner_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "created_at": "2019-06-25T13:25:36Z", "severity": 1, "node": { "uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "name": "file.txt" }, "node_uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "user": { "uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "name": "user", "email": "user@example.com" } }, { "uuid": "c94ad17d-5727-41d9-ab15-cfc72349e555", "text": "Added new share 'Folder'.", "code": 0, "share": { "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "name": "Folder" }, "share_uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "owner_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "created_at": "2019-06-25T12:46:56Z", "severity": 1, "user": { "uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "name": "user", "email": "user@example.com" } }, { "uuid": "b2abe6d6-2077-41d6-937b-db76ea4bf839", "text": "Log purge completed. 1 entries older than 2019-01-04 were purged from the log.", "code": 0, "created_at": "2019-04-04T03:00:00Z", "severity": 1 }, { "uuid": "61dd43d3-a0fe-4d65-9dc8-5ecfe7a070ce", "text": "Error uploading file to repository", "code": 0, "owner_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "created_at": "2019-06-18T12:05:53Z", "severity": 3, "user": { "uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "name": "user", "email": "user@example.com" } } ] ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Get devices list (GET /devices) Gets a list of devices #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `per_page` | (Optional) The number of items to be retrieved

**Type**: Integer | | `page` | (Optional) The page to return

Starts from 1

**Type**: Integer | | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | #### Responses ##### `200` — Successfully retrieved the list of devices **Media type**: `application/json` - `default` — **Type**: Array of Object
**Array type description:**
Device used by users to access the service

**Type**: Object **Example**: ```json [ { "name": "sailfish", "system_platform": "Android", "model": "Pixel", "app_version": "8.0.0.2659", "filesystem": 0, "uuid": "a6056194-b780-46da-92c9-e6da2bfd5d80", "system_version": "9", "actions": { "remove": "/fc/api/v1/devices/a6056194-b780-46da-92c9-e6da2bfd5d80" }, "client_type": "mobile", "last_contact_time": "2019-05-31T11:57:53Z", "user_name": "user", "user_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45" } ] ``` ##### `206` — Successfully retrieved part of the list **Media type**: `application/json` - `default` — **Type**: Array of Object
**Array type description:**
Device used by users to access the service

**Type**: Object **Example**: ```json [ { "name": "sailfish", "system_platform": "Android", "model": "Pixel", "app_version": "8.0.0.2659", "filesystem": 0, "uuid": "a6056194-b780-46da-92c9-e6da2bfd5d80", "system_version": "9", "actions": { "remove": "/fc/api/v1/devices/a6056194-b780-46da-92c9-e6da2bfd5d80" }, "client_type": "mobile", "last_contact_time": "2019-05-31T11:57:53Z", "user_name": "user", "user_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45" } ] ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Get device information (GET /devices/{device_uuid}) Gets information about a device #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | #### Responses ##### `200` — Successfully retrieved the device **Media type**: `application/json` - `uuid` — Unique identifier of the device

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` - `app_version` — Version of the app that the device is using

**Type**: String - `filesystem` — Type of file system that the device is using

- `0` - any non-iOS device and iOS devices using the standard (non-MDM managed) app
- `1` - iOS device using the BlackBerry Dynamics app

**Type**: Integer
**Allowed values**:
- `0`
- `1` - `last_contact_time` — Time of last device connection to the server

**Type**: DateTime - `model` — Model of the device

**Type**: String - `name` — Name of the device

**Type**: String - `notes` — Notes about the device

**Type**: String - `system_platform` — Platform of the device

**Type**: String - `system_version` — Version of the device's platform

**Type**: String - `client_type` — Type of the device

**Type**: String
**Allowed values**:
- `mobile`
- `desktop` - `user_uuid` — Unique identifier of the user of the device

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` - `user_name` — Name of the user of the device

**Type**: String - `actions` — Relative URLs to actions that can be performed on the device

**Type**: Object **Examples**: *`android`*: ```json { "name": "sailfish", "system_platform": "Android", "model": "Pixel", "app_version": "8.0.0.2659", "filesystem": 0, "uuid": "a6056194-b780-46da-92c9-e6da2bfd5d80", "system_version": "9", "actions": { "remove": "/fc/api/v1/devices/a6056194-b780-46da-92c9-e6da2bfd5d80" }, "client_type": "mobile", "last_contact_time": "2019-05-31T11:57:53Z", "user_name": "user", "user_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45" } ``` *`ios`*: ```json { "name": "iPad Pro (12.9-inch) (3rd generation)", "system_platform": "iOS", "model": "x86_64", "app_version": "8.2.1.1337", "filesystem": 0, "uuid": "18e201d3-503e-4afb-bd2e-ebabba96832c", "system_version": "12.1", "actions": { "remove": "/fc/api/v1/devices/18e201d3-503e-4afb-bd2e-ebabba96832c" }, "client_type": "mobile", "last_contact_time": "2018-11-05T13:09:45Z", "user_name": "user", "user_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45" } ``` *`desktop`*: ```json { "name": "BG-CZC3254K91", "system_platform": "Windows", "app_version": "8.5.1x413", "filesystem": 0, "uuid": "22789e47-6f6b-4d0b-83d7-f1dfea22701b", "system_version": "10", "actions": { "remove": "/fc/api/v1/devices/22789e47-6f6b-4d0b-83d7-f1dfea22701b" }, "client_type": "desktop", "last_contact_time": "2019-05-29T11:29:30Z", "user_name": "user", "user_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45" } ``` ##### `404` — Resource was not found **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_0`*: ```json { "error": { "domain": "Files", "code": 10, "message": "Object Not Found." } } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Update device (PUT /devices/{device_uuid}) Updates a device #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | ##### Request body **Media type**: `application/json` - `device` — **Type**: Object **Example**: ```json { "device": { "notes": "Example notes" } } ``` #### Responses ##### `204` — Successfully updated the device ##### `404` — Resource was not found **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_0`*: ```json { "error": { "domain": "Files", "code": 10, "message": "Object Not Found." } } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Delete device (DELETE /devices/{device_uuid}) Deletes a device #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | #### Responses ##### `204` — Successfully deleted the device ##### `404` — Resource was not found **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_0`*: ```json { "error": { "domain": "Files", "code": 10, "message": "Object Not Found." } } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Create folder (POST /sync_and_share_nodes) Creates a folder by name or path If a folder with the same name, but different letter case exists in the same location it will be renamed #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Request body **Media type**: `application/json` - `sync_and_share_node` — **Type**: Object **Examples**: *`by_name`*: ```json { "sync_and_share_node": { "name": "Folder", "parent_uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1" } } ``` *`by_path`*: ```json { "sync_and_share_node": { "path": "Parent folder/Folder" } } ``` #### Responses ##### `201` **Media type**: `application/json` - `size` — Size of the node

**Type**: Long
**Format**: int64 - `owner` — Information about the owner of the node

**Type**: Object - `parents` — Parent nodes of the current node

The nodes are hierarchically ordered and include the current node

**Type**: Array of Object
**Array type description:**
**Type**: Object - `name` — Name of the node

**Type**: String
**Min length**: 1 - `office_online_permissions` — Node permissions related to Office Online

**Type**: Object - `synced` — Sync status of the node

**Type**: String
**Allowed values**:
- `not_synced`
- `sync_2_way` - `parent_uuid` — Unique identifier of the parent node

**Type**: String
**Pattern**: `^0$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` - `read_only` — Whether the node is read-only

**Type**: Boolean - `has_shared_child_nodes` — Whether any of the node's child nodes have been shared

**Type**: Boolean - `is_shared` — Whether the node has been shared

**Type**: Boolean - `preview_type` — Preview type of the node

**Type**: Union
**Allowed values**:
- `text`
- `image`
- `html`
- `pdf`
- ``

**May be any of**:
1. **Type**: String

2. **Type**: null - `has_writable_children` — Whether the node has writable child nodes

**Type**: Boolean - `actions` — Relative URLs to actions that can be performed on the node

**Type**: Object - `expiration_date` — Date when the shared access to the node will expire

**Type**: DateTime - `file_modification_date` — Modification date of the node

**Type**: DateTime - `path` — Path to the node

**Type**: String - `permissions` — Permissions for the current user related to the node

**Type**: Object - `uuid` — Unique identifier of the node

**Type**: String
**Pattern**: `^0$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` - `is_directory` — Whether the node is a directory or a file

**Type**: Boolean - `owner_email` — Email of the node's owner

**Type**: String - `is_deleted` — Whether the node is deleted

**Type**: Boolean - `checksum` — MD5 checksum of the node

**Type**: String - `has_active_links` — Whether the node has any active links

**Type**: Boolean **Example**: ```json { "size": 0, "owner": { "uuid": "b8ccbf27-4e92-41a9-8b66-d78108985321", "name": "", "email": "" }, "parents": [ { "name": "", "uuid": "b8ccbf27-4e92-41a9-8b66-d78108985321", "is_root": true } ], "name": "", "office_online_permissions": { "can_create_files_into": true, "can_be_previewed": true, "can_be_edited": true }, "synced": "not_synced", "parent_uuid": "b8ccbf27-4e92-41a9-8b66-d78108985321", "read_only": true, "has_shared_child_nodes": true, "is_shared": true, "preview_type": "text", "has_writable_children": true, "actions": { "download": "", "upload": "", "preview": "" }, "expiration_date": "1970-01-01T00:00:00.000Z", "file_modification_date": "1970-01-01T00:00:00.000Z", "path": "", "permissions": { "can_be_renamed": true, "can_be_unsubscribed": true, "can_be_restored": true, "can_create_folders_into": true, "can_be_copied": true, "can_create_files_into": true, "can_view_members": true, "can_be_synced_2_way": true, "can_be_deleted": true, "can_be_synced_1_way": true, "can_be_moved": true, "can_be_shared": true, "can_be_shared_via_link": true, "can_invite": true, "can_be_downloaded": true, "can_selectively_purge_revisions": true }, "uuid": "b8ccbf27-4e92-41a9-8b66-d78108985321", "is_directory": true, "owner_email": "", "is_deleted": true, "checksum": "", "has_active_links": true } ``` ##### `409` — Name conflict **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_0`*: ```json { "error": { "domain": "Files", "code": 92, "message": "'Folder' already exists in this location.", "context": { "conflict": { "name": "Folder", "path": "Parent folder/Folder", "has_active_links": false, "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "parents": [ { "name": "Sync & Share", "uuid": "0", "is_root": true }, { "name": "Parent folder", "uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "is_root": false }, { "name": "Folder", "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "is_root": false } ], "has_shared_child_nodes": false, "read_only": false, "is_deleted": false, "has_writable_children": true, "is_shared": false, "parent_uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "checksum": "", "file_modification_date": "2019-06-13T11:42:04Z", "is_directory": true, "owner": { "uuid": "90f04afd-c9c7-4b25-a7cf-b8129696fca6", "name": "user", "email": "user@example.com" }, "owner_email": "user@example.com" } } } } ``` ##### `404` — Resource was not found **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_0`*: ```json { "error": { "domain": "Files", "code": 10, "message": "Object Not Found." } } ``` ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Update file or folder (PUT /sync_and_share_nodes/{node_uuid}) Updates a file/folder #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Request body **Media type**: `application/json` - `sync_and_share_node` — **Type**: Object **Example**: ```json { "sync_and_share_node": { "name": "new_name.txt" } } ``` #### Responses ##### `204` — Successfully updated the file/folder ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Get files and folders list (GET /sync_and_share_nodes/{node_uuid}/contents) Gets a list of files and folders within a folder #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `per_page` | (Optional) The number of items to be retrieved

**Type**: Integer | | `page` | (Optional) The page to return

Starts from 1

**Type**: Integer | #### Responses ##### `200` — Successfully retrieved the list of files and folders **Media type**: `application/json` - `default` — **Type**: Array of Object
**Array type description:**
Single revision of a file or folder

**Type**: Object **Examples**: *`non-empty`*: ```json [ { "name": "Folder", "path": "Parent folder/Folder", "has_active_links": false, "synced": "sync_2_way", "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "parents": [ { "name": "Sync & Share", "uuid": "0", "is_root": true }, { "name": "Parent folder", "uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "is_root": false }, { "name": "Folder", "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "is_root": false } ], "has_shared_child_nodes": false, "read_only": false, "is_deleted": false, "permissions": { "can_be_copied": true, "can_be_synced_2_way": false, "can_be_deleted": true, "can_selectively_purge_revisions": false, "can_create_folders_into": true, "can_be_renamed": true, "can_create_files_into": true, "can_be_synced_1_way": false, "can_be_downloaded": true, "can_be_unsubscribed": false, "can_be_moved": true, "can_be_shared_via_link": false, "can_be_shared": true, "can_be_restored": false, "can_view_members": true, "can_invite": true }, "office_online_permissions": { "can_create_files_into": false, "can_be_previewed": false, "can_be_edited": false }, "has_writable_children": true, "is_shared": false, "parent_uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "checksum": "", "file_modification_date": "2019-06-13T11:42:04Z", "actions": { "download": "/fc/api/v1/sync_and_share_nodes/444f4f94-9f0e-4183-9d47-b1804e819f61/download", "upload": "/fc/api/v1/sync_and_share_nodes/444f4f94-9f0e-4183-9d47-b1804e819f61/upload" }, "is_directory": true, "owner": { "uuid": "90f04afd-c9c7-4b25-a7cf-b8129696fca6", "name": "user", "email": "user@example.com" }, "owner_email": "user@example.com" }, { "name": "file.txt", "path": "Parent folder/file.txt", "size": 5, "has_active_links": false, "synced": "sync_2_way", "uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "parents": [ { "name": "Sync & Share", "uuid": "0", "is_root": true }, { "name": "Parent folder", "uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "is_root": false }, { "name": "file.txt", "uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "is_root": false } ], "has_shared_child_nodes": false, "read_only": false, "is_deleted": false, "permissions": { "can_be_copied": true, "can_be_synced_2_way": false, "can_be_deleted": true, "can_selectively_purge_revisions": false, "can_create_folders_into": false, "can_be_renamed": true, "can_create_files_into": false, "can_be_synced_1_way": false, "can_be_downloaded": true, "can_be_unsubscribed": false, "can_be_moved": true, "can_be_shared_via_link": false, "can_be_shared": false, "can_be_restored": false, "can_view_members": true, "can_invite": true }, "office_online_permissions": { "can_create_files_into": false, "can_be_previewed": false, "can_be_edited": false }, "has_writable_children": false, "is_shared": false, "parent_uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "checksum": "040b7cf4a55014e185813e0644502ea9", "file_modification_date": "2019-06-13T08:57:12Z", "actions": { "download": "/fc/api/v1/sync_and_share_nodes/b8a80643-9d35-43dd-a7f6-c05aaf1d5606/download", "preview": "/fc/api/v1/sync_and_share_nodes/b8a80643-9d35-43dd-a7f6-c05aaf1d5606/preview" }, "is_directory": false, "owner": { "uuid": "90f04afd-c9c7-4b25-a7cf-b8129696fca6", "name": "user", "email": "user@example.com" }, "preview_type": "text", "owner_email": "user@example.com" } ] ``` *`empty`*: ```json [] ``` ##### `206` — Successfully retrieved part of the list **Media type**: `application/json` - `default` — **Type**: Array of Object
**Array type description:**
Single revision of a file or folder

**Type**: Object **Example**: ```json [ { "name": "Folder", "path": "Parent folder/Folder", "has_active_links": false, "synced": "sync_2_way", "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "parents": [ { "name": "Sync & Share", "uuid": "0", "is_root": true }, { "name": "Parent folder", "uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "is_root": false }, { "name": "Folder", "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "is_root": false } ], "has_shared_child_nodes": false, "read_only": false, "is_deleted": false, "permissions": { "can_be_copied": true, "can_be_synced_2_way": false, "can_be_deleted": true, "can_selectively_purge_revisions": false, "can_create_folders_into": true, "can_be_renamed": true, "can_create_files_into": true, "can_be_synced_1_way": false, "can_be_downloaded": true, "can_be_unsubscribed": false, "can_be_moved": true, "can_be_shared_via_link": false, "can_be_shared": true, "can_be_restored": false, "can_view_members": true, "can_invite": true }, "office_online_permissions": { "can_create_files_into": false, "can_be_previewed": false, "can_be_edited": false }, "has_writable_children": true, "is_shared": false, "parent_uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "checksum": "", "file_modification_date": "2019-06-13T11:42:04Z", "actions": { "download": "/fc/api/v1/sync_and_share_nodes/444f4f94-9f0e-4183-9d47-b1804e819f61/download", "upload": "/fc/api/v1/sync_and_share_nodes/444f4f94-9f0e-4183-9d47-b1804e819f61/upload" }, "is_directory": true, "owner": { "uuid": "90f04afd-c9c7-4b25-a7cf-b8129696fca6", "name": "user", "email": "user@example.com" }, "owner_email": "user@example.com" }, { "name": "file.txt", "path": "Parent folder/file.txt", "size": 5, "has_active_links": false, "synced": "sync_2_way", "uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "parents": [ { "name": "Sync & Share", "uuid": "0", "is_root": true }, { "name": "Parent folder", "uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "is_root": false }, { "name": "file.txt", "uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "is_root": false } ], "has_shared_child_nodes": false, "read_only": false, "is_deleted": false, "permissions": { "can_be_copied": true, "can_be_synced_2_way": false, "can_be_deleted": true, "can_selectively_purge_revisions": false, "can_create_folders_into": false, "can_be_renamed": true, "can_create_files_into": false, "can_be_synced_1_way": false, "can_be_downloaded": true, "can_be_unsubscribed": false, "can_be_moved": true, "can_be_shared_via_link": false, "can_be_shared": false, "can_be_restored": false, "can_view_members": true, "can_invite": true }, "office_online_permissions": { "can_create_files_into": false, "can_be_previewed": false, "can_be_edited": false }, "has_writable_children": false, "is_shared": false, "parent_uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "checksum": "040b7cf4a55014e185813e0644502ea9", "file_modification_date": "2019-06-13T08:57:12Z", "actions": { "download": "/fc/api/v1/sync_and_share_nodes/b8a80643-9d35-43dd-a7f6-c05aaf1d5606/download", "preview": "/fc/api/v1/sync_and_share_nodes/b8a80643-9d35-43dd-a7f6-c05aaf1d5606/preview" }, "is_directory": false, "owner": { "uuid": "90f04afd-c9c7-4b25-a7cf-b8129696fca6", "name": "user", "email": "user@example.com" }, "preview_type": "text", "owner_email": "user@example.com" } ] ``` ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Upload file (POST /sync_and_share_nodes/{node_uuid}/upload) Uploads a file If a file with same name exists in the target folder a new revision will be created #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Headers | Name | Description | |------|-------------| | `Content-Type` | (Required) **Type**: String
**Allowed values**:
- `application/octet-stream` | | `Transfer-Encoding` | (Required) **Type**: String
**Allowed values**:
- `chunked` | ##### Query parameters | Name | Description | |------|-------------| | `filename` | (Required) Name of the file

**Type**: String
**Min length**: 1 | | `size` | (Required) Size of the file, in bytes

**Type**: Long
**Format**: int64 | | `checksum` | (Optional) MD5 digest of the file's contents

When present, this checksum will be used to verify the integrity of the uploaded data

**Type**: String | ##### Request body **Media type**: `application/octet-stream` #### Responses ##### `201` — Successfully uploaded the file **Media type**: `application/json` - `size` — Size of the node

**Type**: Long
**Format**: int64 - `owner` — Information about the owner of the node

**Type**: Object - `parents` — Parent nodes of the current node

The nodes are hierarchically ordered and include the current node

**Type**: Array of Object
**Array type description:**
**Type**: Object - `name` — Name of the node

**Type**: String
**Min length**: 1 - `office_online_permissions` — Node permissions related to Office Online

**Type**: Object - `synced` — Sync status of the node

**Type**: String
**Allowed values**:
- `not_synced`
- `sync_2_way` - `parent_uuid` — Unique identifier of the parent node

**Type**: String
**Pattern**: `^0$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` - `read_only` — Whether the node is read-only

**Type**: Boolean - `has_shared_child_nodes` — Whether any of the node's child nodes have been shared

**Type**: Boolean - `is_shared` — Whether the node has been shared

**Type**: Boolean - `preview_type` — Preview type of the node

**Type**: Union
**Allowed values**:
- `text`
- `image`
- `html`
- `pdf`
- ``

**May be any of**:
1. **Type**: String

2. **Type**: null - `has_writable_children` — Whether the node has writable child nodes

**Type**: Boolean - `actions` — Relative URLs to actions that can be performed on the node

**Type**: Object - `file_modification_date` — Modification date of the node

**Type**: DateTime - `expiration_date` — Date when the shared access to the node will expire

**Type**: DateTime - `permissions` — Permissions for the current user related to the node

**Type**: Object - `path` — Path to the node

**Type**: String - `uuid` — Unique identifier of the node

**Type**: String
**Pattern**: `^0$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` - `is_directory` — Whether the node is a directory or a file

**Type**: Boolean - `owner_email` — Email of the node's owner

**Type**: String - `checksum` — MD5 checksum of the node

**Type**: String - `is_deleted` — Whether the node is deleted

**Type**: Boolean - `has_active_links` — Whether the node has any active links

**Type**: Boolean **Example**: *`example_0`*: ```json { "name": "file.txt", "path": "Parent folder/file.txt", "size": 5, "has_active_links": false, "synced": "sync_2_way", "uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "parents": [ { "name": "Sync & Share", "uuid": "0", "is_root": true }, { "name": "Parent folder", "uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "is_root": false }, { "name": "file.txt", "uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "is_root": false } ], "has_shared_child_nodes": false, "read_only": false, "is_deleted": false, "permissions": { "can_be_copied": true, "can_be_synced_2_way": false, "can_be_deleted": true, "can_selectively_purge_revisions": false, "can_create_folders_into": false, "can_be_renamed": true, "can_create_files_into": false, "can_be_synced_1_way": false, "can_be_downloaded": true, "can_be_unsubscribed": false, "can_be_moved": true, "can_be_shared_via_link": false, "can_be_shared": false, "can_be_restored": false, "can_view_members": true, "can_invite": true }, "office_online_permissions": { "can_create_files_into": false, "can_be_previewed": false, "can_be_edited": false }, "has_writable_children": false, "is_shared": false, "parent_uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "checksum": "040b7cf4a55014e185813e0644502ea9", "file_modification_date": "2019-06-13T08:57:12Z", "actions": { "download": "/fc/api/v1/sync_and_share_nodes/b8a80643-9d35-43dd-a7f6-c05aaf1d5606/download", "preview": "/fc/api/v1/sync_and_share_nodes/b8a80643-9d35-43dd-a7f6-c05aaf1d5606/preview" }, "is_directory": false, "owner": { "uuid": "90f04afd-c9c7-4b25-a7cf-b8129696fca6", "name": "user", "email": "user@example.com" }, "preview_type": "text", "owner_email": "user@example.com" } ``` ##### `400` — Failed to upload the file **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 9, "message": "The file could not be uploaded because not all the data was received." } } ``` ##### `404` — Resource was not found **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_0`*: ```json { "error": { "domain": "Files", "code": 10, "message": "Object Not Found." } } ``` ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Copy file or folder (POST /sync_and_share_nodes/{node_uuid}/copy) Copies a file/folder #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Request body **Media type**: `application/json` - `parent_uuid` — UUID of the target parent folder

**Type**: String
**Pattern**: `^0$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` **Example**: ```json { "parent_uuid": "b8ccbf27-4e92-41a9-8b66-d78108985321" } ``` #### Responses ##### `200` — Successfully copied the file/folder ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `409` — Name conflict **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_0`*: ```json { "error": { "domain": "Files", "code": 92, "message": "'Folder' already exists in this location.", "context": { "conflict": { "name": "Folder", "path": "Parent folder/Folder", "has_active_links": false, "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "parents": [ { "name": "Sync & Share", "uuid": "0", "is_root": true }, { "name": "Parent folder", "uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "is_root": false }, { "name": "Folder", "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "is_root": false } ], "has_shared_child_nodes": false, "read_only": false, "is_deleted": false, "has_writable_children": true, "is_shared": false, "parent_uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "checksum": "", "file_modification_date": "2019-06-13T11:42:04Z", "is_directory": true, "owner": { "uuid": "90f04afd-c9c7-4b25-a7cf-b8129696fca6", "name": "user", "email": "user@example.com" }, "owner_email": "user@example.com" } } } } ``` ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Move file or folder (POST /sync_and_share_nodes/{node_uuid}/move) Moves a file/folder #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Request body **Media type**: `application/json` - `parent_uuid` — UUID of the target parent folder

**Type**: String
**Pattern**: `^0$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` **Example**: ```json { "parent_uuid": "b8ccbf27-4e92-41a9-8b66-d78108985321" } ``` #### Responses ##### `204` — Successfully moved the file/folder ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `409` — Name conflict **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_0`*: ```json { "error": { "domain": "Files", "code": 92, "message": "'Folder' already exists in this location.", "context": { "conflict": { "name": "Folder", "path": "Parent folder/Folder", "has_active_links": false, "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "parents": [ { "name": "Sync & Share", "uuid": "0", "is_root": true }, { "name": "Parent folder", "uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "is_root": false }, { "name": "Folder", "uuid": "444f4f94-9f0e-4183-9d47-b1804e819f61", "is_root": false } ], "has_shared_child_nodes": false, "read_only": false, "is_deleted": false, "has_writable_children": true, "is_shared": false, "parent_uuid": "2644085b-6431-4751-a09a-dcb8bd6489a1", "checksum": "", "file_modification_date": "2019-06-13T11:42:04Z", "is_directory": true, "owner": { "uuid": "90f04afd-c9c7-4b25-a7cf-b8129696fca6", "name": "user", "email": "user@example.com" }, "owner_email": "user@example.com" } } } } ``` ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Create file link (POST /sync_and_share_nodes/{node_uuid}/links) Creates a file link File links can optionally be sent to multiple persons by email #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Request body **Media type**: `application/json` - `link` — **Type**: Object **Example**: ```json { "link": { "recipients": [ { "email": "user1@example.com" }, { "email": "user2@example.com" } ], "access_restriction": "shared", "locale": "en", "message": "An example message", "ttl": 7, "single_use": false } } ``` #### Responses ##### `201` — Successfully created the file link **Media type**: `application/json` - `id` — **Type**: Integer - `node_uuid` — Universally unique identifier

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` - `access_restriction` — **Type**: String
**Allowed values**:
- `public`
- `access`
- `shared` - `download_url` — **Type**: String - `sharing_user_uuid` — Universally unique identifier

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` - `ttl` — **Type**: Integer - `single_use` — **Type**: Boolean - `emails` — **Type**: Array of String
**Array type description:**
**Type**: String - `download_count` — **Type**: Integer - `expired_at` — **Type**: DateTime - `deleted_at` — **Type**: DateTime - `token` — Universally unique identifier

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` - `created_at` — **Type**: DateTime - `updated_at` — **Type**: DateTime **Example**: ```json { "sharing_user_uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "access_restriction": "shared", "download_count": 0, "download_url": "https://dev-cloud.acronis.com/fc/t/f4cvit1j", "id": 252, "token": "2e5193c4-4fb5-4c39-a4aa-11fce808d841", "created_at": "2019-06-24T13:21:12Z", "ttl": 7, "node_uuid": "b8a80643-9d35-43dd-a7f6-c05aaf1d5606", "emails": [ "user1@example.com", "user2@example.com" ], "updated_at": "2019-06-24T13:21:12Z", "single_use": false } ``` ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Update file link (PUT /sync_and_share_nodes/{node_uuid}/links/{link_id}) Updates a file link #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Request body **Media type**: `application/json` - `ttl` — Expiration period in days

Set it to `null` to modify the link to never expire (if this is allowed by the server configuration)

**Type**: Union
**May be any of**:
1. **Type**: Integer

2. **Type**: null - `access_restriction` — The type of access for the link

- `public` - link can be accessed by anyone
- `access` - link can be accessed only by authenticated users
- `shared` - link can be accessed only by the users it has been shared to

**Type**: String
**Allowed values**:
- `public`
- `access`
- `shared` - `single_use` — Whether the link will expire after single use

**Type**: Boolean **Example**: ```json { "ttl": 7, "access_restriction": "shared", "single_use": false } ``` #### Responses ##### `200` — Successfully updated the file link ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Get members list (GET /sync_and_share_nodes/{node_uuid}/members) Gets a list of folder members #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `per_page` | (Optional) The number of items to be retrieved

**Type**: Integer | | `page` | (Optional) The page to return

Starts from 1

**Type**: Integer | #### Responses ##### `200` — Successfully retrieved the list of members **Media type**: `application/json` - `default` — **Type**: Array of Object
**Array type description:**
Member of a shared folder

**Type**: Object **Example**: ```json [ { "name": "user", "permission_for": "owner", "email": "user@example.com", "read_only": false, "id": "owner-0254fc28-1676-4f22-b530-f4f3bd9e7e45", "can_be_changed": { "can_invite": true, "can_view_members": true, "read_only": true }, "can_view_members": true, "can_invite": true } ] ``` ##### `206` — Successfully retrieved part of the list **Media type**: `application/json` - `default` — **Type**: Array of Object
**Array type description:**
Member of a shared folder

**Type**: Object **Example**: ```json [ { "name": "user", "permission_for": "owner", "email": "user@example.com", "read_only": false, "id": "owner-0254fc28-1676-4f22-b530-f4f3bd9e7e45", "can_be_changed": { "can_invite": true, "can_view_members": true, "read_only": true }, "can_view_members": true, "can_invite": true } ] ``` ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Create folder member (POST /sync_and_share_nodes/{node_uuid}/members) Creates a folder member #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Request body **Media type**: `application/json` - `member` — **Type**: Object **Example**: ```json { "member": { "email": "user@example.com", "read_only": false, "can_invite": true, "can_view_members": true } } ``` #### Responses ##### `201` — Successfully created the member **Media type**: `application/json` - `id` — Unique identifier of the member

**Type**: String - `read_only` — Whether the member has read-only access

**Type**: Boolean - `can_view_members` — Whether the member can view other members

**Type**: Boolean - `can_invite` — Whether the member can invite other members

**Type**: Boolean - `email` — Email of the member

**Type**: String - `name` — Name of the member

**Type**: String - `permission_for` — Type of the member

**Type**: String
**Allowed values**:
- `owner`
- `permission`
- `guest` - `can_be_changed` — Indicators which permissions can be changed

**Type**: Object **Examples**: *`owner`*: ```json { "name": "user", "permission_for": "owner", "email": "user@example.com", "read_only": false, "id": "owner-0254fc28-1676-4f22-b530-f4f3bd9e7e45", "can_be_changed": { "can_invite": true, "can_view_members": true, "read_only": true }, "can_view_members": true, "can_invite": true } ``` *`permission`*: ```json { "name": "member 1", "permission_for": "permission", "email": "member1@example.com", "read_only": false, "id": "permission-ce381b91-ff3a-46ec-bdd6-55d49a5977bc,444f4f94-9f0e-4183-9d47-b1804e819f61", "can_be_changed": { "can_invite": true, "can_view_members": true, "read_only": true }, "can_view_members": false, "can_invite": false } ``` *`guest`*: ```json { "name": "member 2", "permission_for": "guest", "email": "member2@example.com", "read_only": false, "id": "guest-7d423d1a-1407-4a20-8b16-f609b44c7417,444f4f94-9f0e-4183-9d47-b1804e819f61", "can_be_changed": { "can_invite": false, "can_view_members": false, "read_only": true }, "can_view_members": false, "can_invite": false } ``` *`existing-user`*: ```json { "name": "member 1", "permission_for": "permission", "email": "member1@example.com", "read_only": false, "id": "permission-ce381b91-ff3a-46ec-bdd6-55d49a5977bc,444f4f94-9f0e-4183-9d47-b1804e819f61", "can_be_changed": { "can_invite": true, "can_view_members": true, "read_only": true }, "can_view_members": false, "can_invite": false } ``` *`new-guest-user`*: ```json { "name": "member 2", "permission_for": "guest", "email": "member2@example.com", "read_only": false, "id": "guest-7d423d1a-1407-4a20-8b16-f609b44c7417,444f4f94-9f0e-4183-9d47-b1804e819f61", "can_be_changed": { "can_invite": false, "can_view_members": false, "read_only": true }, "can_view_members": false, "can_invite": false } ``` ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Update member (PUT /sync_and_share_nodes/{node_uuid}/members/{member_id}) Updates a member #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Request body **Media type**: `application/json` - `member` — **Type**: Object **Example**: ```json { "member": { "read_only": false, "can_view_members": false, "can_invite": false } } ``` #### Responses ##### `200` — Successfully updated the member **Media type**: `application/json` - `id` — Unique identifier of the member

**Type**: String - `read_only` — Whether the member has read-only access

**Type**: Boolean - `can_view_members` — Whether the member can view other members

**Type**: Boolean - `can_invite` — Whether the member can invite other members

**Type**: Boolean - `email` — Email of the member

**Type**: String - `name` — Name of the member

**Type**: String - `permission_for` — Type of the member

**Type**: String
**Allowed values**:
- `owner`
- `permission`
- `guest` - `can_be_changed` — Indicators which permissions can be changed

**Type**: Object **Examples**: *`owner`*: ```json { "name": "user", "permission_for": "owner", "email": "user@example.com", "read_only": false, "id": "owner-0254fc28-1676-4f22-b530-f4f3bd9e7e45", "can_be_changed": { "can_invite": true, "can_view_members": true, "read_only": true }, "can_view_members": true, "can_invite": true } ``` *`permission`*: ```json { "name": "member 1", "permission_for": "permission", "email": "member1@example.com", "read_only": false, "id": "permission-ce381b91-ff3a-46ec-bdd6-55d49a5977bc,444f4f94-9f0e-4183-9d47-b1804e819f61", "can_be_changed": { "can_invite": true, "can_view_members": true, "read_only": true }, "can_view_members": false, "can_invite": false } ``` *`guest`*: ```json { "name": "member 2", "permission_for": "guest", "email": "member2@example.com", "read_only": false, "id": "guest-7d423d1a-1407-4a20-8b16-f609b44c7417,444f4f94-9f0e-4183-9d47-b1804e819f61", "can_be_changed": { "can_invite": false, "can_view_members": false, "read_only": true }, "can_view_members": false, "can_invite": false } ``` *`example_0`*: ```json { "name": "member 1", "permission_for": "permission", "email": "member1@example.com", "read_only": false, "id": "permission-ce381b91-ff3a-46ec-bdd6-55d49a5977bc,444f4f94-9f0e-4183-9d47-b1804e819f61", "can_be_changed": { "can_invite": true, "can_view_members": true, "read_only": true }, "can_view_members": false, "can_invite": false } ``` ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `403` — Node permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "The requested file or folder does not exist or you do not have permission to access it." } } ``` ### Get purging policies settings (GET /settings/purging_policies) Gets the purging policies settings #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | #### Responses ##### `200` — Successfully retrieved the purging policies settings **Media type**: `application/json` - `purge_deleted_files_older_than_enabled` — **Type**: Boolean - `purge_deleted_files_older_than_n` — **Type**: Integer - `purge_deleted_files_older_than_units` — **Type**: String
**Allowed values**:
- `days`
- `weeks`
- `months` - `purge_revisions_older_than_enabled` — **Type**: Boolean - `purge_revisions_older_than_n` — **Type**: Integer - `purge_revisions_older_than_units` — **Type**: String
**Allowed values**:
- `days`
- `weeks`
- `months` - `keep_at_least_n_revisions_enabled` — **Type**: Boolean - `keep_at_least_n_revisions` — **Type**: Integer - `only_keep_n_revisions_enabled` — **Type**: Boolean - `only_keep_n_revisions` — **Type**: Integer - `allow_users_to_selectively_purge_revisions` — **Type**: Boolean **Example**: ```json { "purge_deleted_files_older_than_n": 2, "only_keep_n_revisions": 2, "allow_users_to_selectively_purge_revisions": false, "only_keep_n_revisions_enabled": false, "purge_deleted_files_older_than_enabled": false, "keep_at_least_n_revisions": 5, "purge_deleted_files_older_than_units": "months", "keep_at_least_n_revisions_enabled": false, "purge_revisions_older_than_units": "months", "purge_revisions_older_than_enabled": false, "purge_revisions_older_than_n": 1 } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Update purging policies settings (PUT /settings/purging_policies) Updates purging policies settings #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | ##### Request body **Media type**: `application/json` - `purging_policies_settings` — **Type**: Object **Example**: ```json { "purging_policies_settings": { "purge_deleted_files_older_than_n": 2, "only_keep_n_revisions": 10, "allow_users_to_selectively_purge_revisions": true, "only_keep_n_revisions_enabled": true, "purge_deleted_files_older_than_enabled": true, "keep_at_least_n_revisions": 3, "purge_deleted_files_older_than_units": "weeks", "keep_at_least_n_revisions_enabled": true, "purge_revisions_older_than_units": "months", "purge_revisions_older_than_enabled": true, "purge_revisions_older_than_n": 1 } } ``` #### Responses ##### `204` — Successfully updated the purging policies settings ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Get server settings (GET /settings/server) Gets the server settings #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | #### Responses ##### `200` — Successfully retrieved the server settings **Media type**: `application/json` - `server_name` — **Type**: String - `root_web_address` — **Type**: String - `default_locale` — Locale code

**Type**: String
**Allowed values**:
- `cs`
- `de`
- `en`
- `es`
- `fr`
- `it`
- `ja`
- `ko`
- `pl`
- `ru`
- `zh_tw`
- `zh_cn` - `session_timeout_in_minutes` — **Type**: Integer - `notification_admin_enabled` — **Type**: Boolean - `notification_admin_email` — **Type**: String - `notification_admin_frequency` — **Type**: Integer **Example**: ```json { "server_name": "Acronis Files Protect", "notification_admin_email": "adminname@mycompany.com", "notification_admin_enabled": false, "default_locale": "en", "notification_admin_frequency": 30, "root_web_address": "https://dev-cloud.acronis.com", "session_timeout_in_minutes": 120 } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Update server settings (PUT /settings/server) Updates the server settings #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | ##### Request body **Media type**: `application/json` - `server_settings` — **Type**: Object **Example**: ```json { "server_settings": { "server_name": "Acronis Files Protect", "notification_admin_email": "administrator1@example.com;administrator2@example.com", "notification_admin_enabled": true, "default_locale": "de", "notification_admin_frequency": 120, "root_web_address": "https://dev-cloud.acronis.com", "session_timeout_in_minutes": 120 } } ``` #### Responses ##### `204` — Successfully updated the server settings ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Get audit log settings (GET /settings/audit_log) Gets the audit log settings #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | #### Responses ##### `200` — Successfully retrieved the audit log settings **Media type**: `application/json` - `purge_logs_older_than_enabled` — **Type**: Boolean - `purge_logs_older_than_units` — **Type**: String
**Allowed values**:
- `days`
- `weeks`
- `months` - `purge_logs_older_than_n` — **Type**: Integer **Example**: ```json { "purge_logs_older_than_enabled": true, "purge_logs_older_than_units": "weeks", "purge_logs_older_than_n": 3 } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Update audit log settings (PUT /settings/audit_log) Updates the audit log settings #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | ##### Request body **Media type**: `application/json` - `audit_log_settings` — Audit log settings

**Type**: Object **Example**: ```json { "audit_log_settings": { "purge_logs_older_than_enabled": "true", "purge_logs_older_than_units": "days", "purge_logs_older_than_n": 7 } } ``` #### Responses ##### `204` — Successfully updated the audit log settings ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Get security settings (GET /settings/security) Gets the security settings #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | #### Responses ##### `200` — Successfully retrieved the security settings **Media type**: `application/json` - `allow_collaborators_to_invite` — **Type**: Boolean - `node_share_link_enable` — **Type**: Boolean - `node_share_link_allow_public_links` — **Type**: Boolean - `node_share_link_allow_login_links` — **Type**: Boolean - `node_share_link_single_use_only` — **Type**: Boolean - `node_share_link_ttl_range_enable` — **Type**: Boolean - `node_share_link_ttl_max` — **Type**: Integer - `shared_folder_expiration_required` — **Type**: Boolean - `shared_folder_expiration_max_days` — **Type**: Integer **Example**: ```json { "node_share_link_enable": false, "allow_collaborators_to_invite": true, "node_share_link_single_use_only": false, "shared_folder_expiration_required": false, "node_share_link_ttl_range_enable": true, "node_share_link_allow_login_links": true, "node_share_link_ttl_max": 365, "node_share_link_allow_public_links": true, "shared_folder_expiration_max_days": 365 } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Update security settings (PUT /settings/security) Updates the security settings #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | ##### Request body **Media type**: `application/json` - `security_settings` — **Type**: Object **Example**: ```json { "security_settings": { "node_share_link_enable": "true", "allow_collaborators_to_invite": "true", "node_share_link_single_use_only": "false", "shared_folder_expiration_required": "true", "node_share_link_ttl_range_enable": "true", "node_share_link_allow_login_links": "true", "node_share_link_ttl_max": 30, "node_share_link_allow_public_links": "false", "shared_folder_expiration_max_days": 30 } } ``` #### Responses ##### `204` — Successfully updated the security settings ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Get web preview settings (GET /settings/web_preview) Gets the web preview settings #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | #### Responses ##### `200` — Successfully retrieved the web preview settings **Media type**: `application/json` - `office_online_integration_enabled` — **Type**: Boolean - `office_online_wopi_url` — **Type**: String - `office_online_type_of_use` — **Type**: String
**Allowed values**:
- `editing`
- `viewing-editing` - `office_online_additional_services_enabled` — **Type**: Boolean - `office_online_allow_self_signed_certificates` — **Type**: Boolean - `web_preview_enabled` — **Type**: Boolean - `only_allow_not_converted` — **Type**: Boolean - `max_cache_size_mb` — **Type**: Integer - `servlet_allow_self_signed_certificates` — **Type**: Boolean - `generation_max_concurrent_calls` — **Type**: Integer **Example**: ```json { "office_online_integration_enabled": false, "max_cache_size_mb": 2000, "only_allow_not_converted": false, "servlet_allow_self_signed_certificates": true, "office_online_type_of_use": "editing", "office_online_wopi_url": "https://onenote.officeapps.live.com", "generation_max_concurrent_calls": 2, "web_preview_enabled": true, "office_online_allow_self_signed_certificates": false, "office_online_additional_services_enabled": false } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Update web preview settings (PUT /settings/web_preview) Updates the web preview settings #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | ##### Request body **Media type**: `application/json` - `settings` — **Type**: Object **Example**: ```json { "settings": { "office_online_integration_enabled": true, "max_cache_size_mb": 10000, "only_allow_not_converted": false, "servlet_allow_self_signed_certificates": false, "office_online_type_of_use": "viewing-editing", "office_online_wopi_url": "https://office-online.com", "generation_max_concurrent_calls": 1, "web_preview_enabled": true, "office_online_allow_self_signed_certificates": false, "office_online_additional_services_enabled": true } } ``` #### Responses ##### `204` — Successfully updated the web preview settings ##### `400` — Validation failed **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_2`*: ```json { "error": { "domain": "Files", "code": 15, "message": "Object Invalid" } } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ``` ### Get user information (GET /users/{user_uuid}) Gets information about a user #### Security The endpoint supports the following authorization methods: `OAuth 2.0` #### Request parameters ##### Query parameters | Name | Description | |------|-------------| | `tenant_id` | (Optional) UUID of a tenant in which context to perform the request in

If not specified the request is executed in the current user's tenant context

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` | #### Responses ##### `200` — Successfully retrieved the user **Media type**: `application/json` - `name` — **Type**: String - `email` — **Type**: String - `uuid` — Universally unique identifier

**Type**: String
**Pattern**: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` - `allow_sync_and_share` — **Type**: Boolean - `disabled` — **Type**: Boolean - `free_space_to_maintain` — **Type**: Long
**Format**: int64 - `is_superuser` — **Type**: Boolean - `licensed` — **Type**: Boolean - `locale` — Locale code

**Type**: String
**Allowed values**:
- `cs`
- `de`
- `en`
- `es`
- `fr`
- `it`
- `ja`
- `ko`
- `pl`
- `ru`
- `zh_tw`
- `zh_cn` - `purge_proactively` — **Type**: Boolean - `override_quota` — **Type**: Long
**Format**: int64 - `quota` — **Type**: Long
**Format**: int64 - `login_url` — **Type**: String - `updated_at` — **Type**: DateTime - `created_at` — **Type**: DateTime - `deleted_at` — **Type**: DateTime - `last_logged_in_at` — **Type**: DateTime - `sync_and_share_content` — **Type**: Object **Example**: ```json { "free_space_to_maintain": 0, "name": "user", "email": "user@example.com", "quota": 3221225472, "uuid": "0254fc28-1676-4f22-b530-f4f3bd9e7e45", "licensed": true, "locale": "en", "last_logged_in_at": "2019-04-09T07:16:24Z", "login_url": "https://localhost/signin?email=user%example.com", "is_superuser": false, "purge_proactively": false, "allow_sync_and_share": true, "override_quota": 3221225472, "created_at": "2018-01-16T13:04:11Z", "disabled": false, "sync_and_share_content": { "file_count": 4, "folder_count": 3, "used_space": 818498 }, "updated_at": "2019-04-09T07:16:24Z" } ``` ##### `404` — Resource was not found **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_0`*: ```json { "error": { "domain": "Files", "code": 10, "message": "Object Not Found." } } ``` ##### `403` — Administrative permissions required **Media type**: `application/json` - `error` — **Type**: Object **Example**: *`example_1`*: ```json { "error": { "domain": "Files", "code": 3, "message": "You do not have the appropriate permissions, so the previous request could not be completed." } } ```