openapi: 3.2.0 info: title: File Sync & Share Sync And Share Nodes API version: v1 servers: - url: https://dev-cloud.acronis.com/fc/api/v1 variables: {} tags: - name: Sync And Share Nodes paths: /sync_and_share_nodes: post: operationId: CreateFolder description: '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' requestBody: content: application/json: schema: type: object required: - sync_and_share_node properties: sync_and_share_node: type: object properties: name: description: Name of the folder. Do not use together with the "path" paramater. type: string minLength: 1 parent_uuid: description: 'UUID of the parent folder Defaults to root folder ID (`"0"`) if not specified' 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}$ path: description: Full path of the folder. Do not use together with the "name" paramater. type: string responses: '201': description: '' content: application/json: schema: description: Successfully created the folder type: object required: - owner - parents - name - office_online_permissions - synced - parent_uuid - read_only - has_shared_child_nodes - is_shared - has_writable_children - actions - file_modification_date - path - permissions - uuid - is_directory - owner_email - is_deleted - checksum - has_active_links properties: size: description: Size of the node type: integer format: int64 owner: description: Information about the owner of the node type: object required: - uuid - name - email properties: uuid: $ref: '#/components/schemas/UUID' name: type: string email: type: string parents: description: 'Parent nodes of the current node The nodes are hierarchically ordered and include the current node' type: array items: type: object required: - name - uuid - is_root properties: name: type: string uuid: $ref: '#/components/schemas/NodeUUID' is_root: type: boolean name: description: Name of the node type: string minLength: 1 office_online_permissions: description: Node permissions related to Office Online type: object required: - can_create_files_into - can_be_previewed - can_be_edited properties: can_create_files_into: type: boolean can_be_previewed: type: boolean can_be_edited: type: boolean synced: description: Sync status of the node enum: - not_synced - sync_2_way type: string parent_uuid: description: 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: description: Whether the node is read-only type: boolean has_shared_child_nodes: description: Whether any of the node's child nodes have been shared type: boolean is_shared: description: Whether the node has been shared type: boolean preview_type: type: - string - 'null' has_writable_children: description: Whether the node has writable child nodes type: boolean actions: description: Relative URLs to actions that can be performed on the node type: object properties: download: description: Download URL type: string upload: description: Upload URL type: string preview: description: Preview URL type: string expiration_date: description: Date when the shared access to the node will expire type: string format: date-time file_modification_date: description: Modification date of the node type: string format: date-time path: description: Path to the node type: string permissions: description: Permissions for the current user related to the node type: object required: - can_be_renamed - can_be_unsubscribed - can_be_restored - can_create_folders_into - can_be_copied - can_create_files_into - can_view_members - can_be_synced_2_way - can_be_deleted - can_be_synced_1_way - can_be_moved - can_be_shared - can_be_shared_via_link - can_invite - can_be_downloaded - can_selectively_purge_revisions properties: can_be_renamed: description: Whether the node can be renamed type: boolean can_be_unsubscribed: description: 'Whether the node can be unsubscribed from Users can unsubscribe from nodes shared to them' type: boolean can_be_restored: description: Whether a deleted node can be restored type: boolean can_create_folders_into: description: Whether new folders can be created in this node type: boolean can_be_copied: description: Whether the node can be copied type: boolean can_create_files_into: description: Whether new files can be created in this node type: boolean can_view_members: description: Whether members of this node can be viewed type: boolean can_be_synced_2_way: description: Whether the node can be 2-way synced type: boolean can_be_deleted: description: Whether the node can be deleted type: boolean can_be_synced_1_way: description: Whether the node can be 1-way synced type: boolean can_be_moved: description: Whether the node can be moved type: boolean can_be_shared: description: Whether the node node can be shared to other users type: boolean can_be_shared_via_link: description: Whether the node can be shared via file link type: boolean can_invite: description: Whether new members can be invited to this node type: boolean can_be_downloaded: description: Whether the node can be downloaded type: boolean can_selectively_purge_revisions: description: Whether revisions of this node can be permanently deleted type: boolean uuid: description: 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: description: Whether the node is a directory or a file type: boolean owner_email: description: Email of the node's owner type: string is_deleted: description: Whether the node is deleted type: boolean checksum: description: MD5 checksum of the node type: string has_active_links: description: Whether the node has any active links type: boolean '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Name conflict content: application/json: schema: $ref: '#/components/schemas/ConflictErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Create folder x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Create folder /sync_and_share_nodes/{node_uuid}: get: operationId: GetFileOrFolderInformation description: Gets information about a file/folder parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ responses: '200': description: Successfully retrieved the file/folder content: application/json: schema: $ref: '#/components/schemas/Node' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Get file or folder information x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Get file or folder information put: operationId: UpdateFileOrFolder description: Updates a file/folder parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ requestBody: content: application/json: schema: example: sync_and_share_node: name: new_name.txt type: object required: - sync_and_share_node properties: sync_and_share_node: type: object required: - name properties: name: description: New name of the file/folder type: string minLength: 1 responses: '204': description: Successfully updated the file/folder content: {} '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Update file or folder x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Update file or folder delete: operationId: DeleteFileOrFolder description: Deletes a file/folder parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ responses: '204': description: Successfully deleted the file/folder content: {} '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Delete file or folder x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Delete file or folder /sync_and_share_nodes/{node_uuid}/contents: get: operationId: GetFilesAndFoldersList description: Gets a list of files and folders within a folder parameters: - name: per_page description: The number of items to be retrieved required: false in: query schema: description: The number of items to be retrieved type: integer - name: page description: 'The page to return Starts from 1' required: false in: query schema: description: 'The page to return Starts from 1' type: integer - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ responses: '200': description: Successfully retrieved the list of files and folders content: application/json: schema: type: array items: $ref: '#/components/schemas/Node' '206': description: Successfully retrieved part of the list headers: Content-Range: description: The range of returned items relative to the whole collection required: true schema: description: The range of returned items relative to the whole collection example: items 1-2/10 type: string content: application/json: schema: example: - uuid: 444f4f94-9f0e-4183-9d47-b1804e819f61 name: Folder is_directory: true file_modification_date: '2019-06-13T11:42:04Z' is_deleted: false synced: sync_2_way read_only: false has_active_links: false has_shared_child_nodes: false is_shared: false owner_email: user@example.com path: Parent folder/Folder 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 checksum: '' parent_uuid: 2644085b-6431-4751-a09a-dcb8bd6489a1 has_writable_children: true office_online_permissions: can_create_files_into: false can_be_previewed: false can_be_edited: false owner: uuid: 90f04afd-c9c7-4b25-a7cf-b8129696fca6 name: user email: user@example.com permissions: can_be_renamed: true can_be_unsubscribed: false can_be_restored: false can_create_folders_into: true can_be_copied: true can_create_files_into: true can_view_members: true can_be_synced_2_way: false can_be_deleted: true can_be_synced_1_way: false can_be_moved: true can_be_shared: true can_be_shared_via_link: false can_invite: true can_be_downloaded: true can_selectively_purge_revisions: false 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 - uuid: b8a80643-9d35-43dd-a7f6-c05aaf1d5606 name: file.txt is_directory: false size: 5 file_modification_date: '2019-06-13T08:57:12Z' is_deleted: false synced: sync_2_way preview_type: text read_only: false has_active_links: false has_shared_child_nodes: false is_shared: false owner_email: user@example.com path: Parent folder/file.txt 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 checksum: 040b7cf4a55014e185813e0644502ea9 parent_uuid: 2644085b-6431-4751-a09a-dcb8bd6489a1 has_writable_children: false office_online_permissions: can_create_files_into: false can_be_previewed: false can_be_edited: false owner: uuid: 90f04afd-c9c7-4b25-a7cf-b8129696fca6 name: user email: user@example.com permissions: can_be_renamed: true can_be_unsubscribed: false can_be_restored: false can_create_folders_into: false can_be_copied: true can_create_files_into: false can_view_members: true can_be_synced_2_way: false can_be_deleted: true can_be_synced_1_way: false can_be_moved: true can_be_shared: false can_be_shared_via_link: false can_invite: true can_be_downloaded: true can_selectively_purge_revisions: false 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 type: array items: $ref: '#/components/schemas/Node' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Get files and folders list x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Get files and folders list /sync_and_share_nodes/{node_uuid}/revisions: get: operationId: GetFileOrFolderRevisionsList description: Gets a list of all revisions of a file/folder parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ responses: '200': description: Successfully retrieved the list of revisions content: application/json: schema: example: - node_uuid: 444f4f94-9f0e-4183-9d47-b1804e819f61 name: file.txt file_modification_date: '2019-06-12T15:28:15Z' revision: 2 size: 13499 is_latest: true created_at: '2019-06-13T11:40:54Z' is_deleted: false available: false purged: true writable: true revised_by: name: user email: user@example.com - node_uuid: 444f4f94-9f0e-4183-9d47-b1804e819f61 name: file.txt file_modification_date: '2019-06-12T15:28:15Z' revision: 1 size: 12435 is_latest: false created_at: '2019-06-12T15:28:15Z' is_deleted: false available: false purged: true writable: true revised_by: name: user email: user@example.com type: array items: $ref: '#/components/schemas/NodeRevision' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Get file or folder revisions list x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Get file or folder revisions list /sync_and_share_nodes/{node_uuid}/revisions/{revision_number}: post: operationId: RestoreFileRevision description: 'Restores specific revision of a file A new latest revision will be created that''s the same as the one to restore' parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ - name: revision_number description: Number of the revision to which the file will be restored required: true in: path schema: description: Number of the revision to which the file will be restored example: 3 type: integer minimum: 1 responses: '204': description: Successfully reverted the file to its previous revision content: {} '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Restore file revision x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Restore file revision /sync_and_share_nodes/{node_uuid}/download: get: operationId: GetFileOrFolderContents description: 'Downloads a file/folder Folders are downloaded as a ZIP archive' parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ responses: '200': description: Successfully downloaded the file/folder headers: Content-Disposition: required: true schema: example: attachment; filename="test.txt"; filename*=utf-8''test.txt type: string Content-Transfer-Encoding: required: true schema: enum: - binary type: string Content-Type: required: true schema: enum: - application/octet-stream type: string Transfer-Encoding: required: true schema: enum: - chunked type: string content: application/octet-stream: schema: type: string format: binary '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Get file or folder contents x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Get file or folder contents /sync_and_share_nodes/{node_uuid}/upload: post: operationId: UploadFile description: 'Uploads a file If a file with same name exists in the target folder a new revision will be created' parameters: - name: filename description: Name of the file required: true in: query schema: description: Name of the file type: string minLength: 1 - name: size description: Size of the file, in bytes required: true in: query schema: description: Size of the file, in bytes type: integer format: int64 - name: checksum description: 'MD5 digest of the file''s contents When present, this checksum will be used to verify the integrity of the uploaded data' required: false in: query schema: description: 'MD5 digest of the file''s contents When present, this checksum will be used to verify the integrity of the uploaded data' type: string - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ - name: Content-Type required: true in: header schema: enum: - application/octet-stream type: string - name: Transfer-Encoding required: true in: header schema: enum: - chunked type: string requestBody: content: application/octet-stream: schema: type: string format: binary responses: '201': description: Successfully uploaded the file content: application/json: schema: $ref: '#/components/schemas/FileNode' '400': description: Failed to upload the file content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Upload file x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Upload file /sync_and_share_nodes/{node_uuid}/copy: post: operationId: CopyFileOrFolder description: Copies a file/folder parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ requestBody: content: application/json: schema: type: object required: - parent_uuid properties: parent_uuid: description: 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}$ responses: '200': description: Successfully copied the file/folder content: {} '400': description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Name conflict content: application/json: schema: $ref: '#/components/schemas/ConflictErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Copy file or folder x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Copy file or folder /sync_and_share_nodes/{node_uuid}/move: post: operationId: MoveFileOrFolder description: Moves a file/folder parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ requestBody: content: application/json: schema: type: object required: - parent_uuid properties: parent_uuid: description: 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}$ responses: '204': description: Successfully moved the file/folder content: {} '400': description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Name conflict content: application/json: schema: $ref: '#/components/schemas/ConflictErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Move file or folder x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Move file or folder /sync_and_share_nodes/{node_uuid}/links: post: operationId: CreateFileLink description: 'Creates a file link File links can optionally be sent to multiple persons by email' parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ requestBody: content: application/json: schema: example: link: recipients: - email: user1@example.com - email: user2@example.com message: An example message locale: en ttl: 7 access_restriction: shared single_use: false type: object required: - link properties: link: type: object properties: recipients: description: List of recipients type: array items: type: object required: - email properties: email: description: Email of a recipient type: string message: description: Message that will be included in the email containing the link type: string locale: description: Locale of the email containing the link enum: - cs - de - en - es - fr - it - ja - ko - pl - ru - zh_tw - zh_cn type: string ttl: description: 'Expiration period in days Omit this key to create a link without expiration (if this is allowed by the server configuration)' type: integer minimum: 1 access_restriction: description: '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' enum: - public - access - shared type: string single_use: description: Whether the link will expire after single use type: boolean responses: '201': description: Successfully created the file link content: application/json: schema: $ref: '#/components/schemas/FileLink' '400': description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Create file link x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Create file link /sync_and_share_nodes/{node_uuid}/links/{link_id}: put: operationId: UpdateFileLink description: Updates a file link parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ - name: link_id description: Unique identifier of the file link required: true in: path schema: description: Unique identifier of the file link type: integer requestBody: content: application/json: schema: example: ttl: 7 access_restriction: shared single_use: false type: object properties: ttl: type: - integer - 'null' access_restriction: description: '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' enum: - public - access - shared type: string single_use: description: Whether the link will expire after single use type: boolean responses: '200': description: Successfully updated the file link content: {} '400': description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Update file link x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Update file link /sync_and_share_nodes/{node_uuid}/members: get: operationId: GetMembersList description: Gets a list of folder members parameters: - name: per_page description: The number of items to be retrieved required: false in: query schema: description: The number of items to be retrieved type: integer - name: page description: 'The page to return Starts from 1' required: false in: query schema: description: 'The page to return Starts from 1' type: integer - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ responses: '200': description: Successfully retrieved the list of members content: application/json: schema: type: array items: $ref: '#/components/schemas/Member' '206': description: Successfully retrieved part of the list headers: Content-Range: description: The range of returned items relative to the whole collection required: true schema: description: The range of returned items relative to the whole collection example: items 1-3/10 type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/Member' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Get members list x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Get members list post: operationId: CreateFolderMember description: Creates a folder member parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ requestBody: content: application/json: schema: example: member: email: user@example.com read_only: false can_invite: true can_view_members: true type: object required: - member properties: member: type: object properties: email: description: Email of the member type: string message: description: Message that will be included in the invitation email type: string locale: description: Locale of the invitation email enum: - cs - de - en - es - fr - it - ja - ko - pl - ru - zh_tw - zh_cn type: string read_only: description: Whether the new member will have read-only access type: boolean can_invite: description: Whether the new member will be able to invite other members type: boolean can_view_members: description: Whether the new member will be able to view other members type: boolean expiration_date: description: 'Expiration date of the shared folder If set, all members will lose access to the shared folder after the specified date' type: string format: date responses: '201': description: Successfully created the member content: application/json: schema: $ref: '#/components/schemas/Member' '400': description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Create folder member x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Create folder member delete: operationId: DeleteAllMembers description: Deletes all members parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ responses: '204': description: Successfully deleted all members content: {} '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Delete all members x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Delete all members /sync_and_share_nodes/{node_uuid}/members/{member_id}: get: operationId: GetMemberInformation description: Gets information about a member parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ - name: member_id description: Unique identifier of the member required: true in: path schema: description: Unique identifier of the member type: string responses: '200': description: Successfully retrieved the member content: application/json: schema: $ref: '#/components/schemas/Member' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Get member information x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Get member information put: operationId: UpdateMember description: Updates a member parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ - name: member_id description: Unique identifier of the member required: true in: path schema: description: Unique identifier of the member type: string requestBody: content: application/json: schema: example: member: read_only: false can_view_members: false can_invite: false type: object required: - member properties: member: type: object properties: read_only: description: Whether the member will have read-only access type: boolean can_invite: description: Whether the member will be able to invite other members type: boolean can_view_members: description: Whether the member will be able to view other members type: boolean responses: '200': description: Successfully updated the member content: application/json: schema: $ref: '#/components/schemas/Member' '400': description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Update member x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Update member delete: operationId: DeleteMember description: Deletes a member parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ - name: member_id description: Unique identifier of the member required: true in: path schema: description: Unique identifier of the member type: string responses: '204': description: Successfully deleted the member content: {} '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Delete member x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Delete member /sync_and_share_nodes/{node_uuid}/sync_status: post: operationId: CreateSyncStatus description: 'Creates a sync status Creating a sync status will start syncing the folder to the desktop client' parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ responses: '204': description: Successfully created the sync status content: {} '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Create sync status x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Create sync status delete: operationId: DeleteSyncStatus description: 'Deletes a sync status Deleting a sync status will stop syncing the folder to the desktop client' parameters: - name: node_uuid description: Unique identifier of the node required: true in: path schema: description: 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}$ responses: '204': description: Successfully deleted the sync status content: {} '403': description: Node permissions required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - oauth_2_0: [] tags: - Sync And Share Nodes summary: Delete sync status x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Delete sync status components: schemas: UUID: description: Universally unique identifier example: b8ccbf27-4e92-41a9-8b66-d78108985321 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}$ Member: description: Member of a shared folder type: object required: - id - read_only - can_view_members - can_invite - email - name - permission_for - can_be_changed properties: id: description: Unique identifier of the member type: string read_only: description: Whether the member has read-only access type: boolean can_view_members: description: Whether the member can view other members type: boolean can_invite: description: Whether the member can invite other members type: boolean email: description: Email of the member type: string name: description: Name of the member type: string permission_for: description: Type of the member enum: - owner - permission - guest type: string can_be_changed: description: Indicators which permissions can be changed type: object required: - can_invite - can_view_members - read_only properties: can_invite: description: Whether the `can_invite` permission can be changed type: boolean can_view_members: description: Whether the `can_view_members` permission can be changed type: boolean read_only: description: Whether the `read_only` permission can be changed type: boolean Node: description: Single revision of a file or folder type: object required: - uuid - name - is_directory - file_modification_date - is_deleted - synced - read_only - has_active_links - has_shared_child_nodes - is_shared - owner_email - path - parents - checksum - parent_uuid - has_writable_children - office_online_permissions - owner - permissions - actions properties: uuid: description: 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}$ name: description: Name of the node type: string minLength: 1 is_directory: description: Whether the node is a directory or a file type: boolean size: description: Size of the node type: integer format: int64 file_modification_date: description: Modification date of the node type: string format: date-time is_deleted: description: Whether the node is deleted type: boolean synced: description: Sync status of the node enum: - not_synced - sync_2_way type: string preview_type: type: - string - 'null' expiration_date: description: Date when the shared access to the node will expire type: string format: date-time read_only: description: Whether the node is read-only type: boolean has_active_links: description: Whether the node has any active links type: boolean has_shared_child_nodes: description: Whether any of the node's child nodes have been shared type: boolean is_shared: description: Whether the node has been shared type: boolean owner_email: description: Email of the node's owner type: string path: description: Path to the node type: string parents: description: 'Parent nodes of the current node The nodes are hierarchically ordered and include the current node' type: array items: type: object required: - name - uuid - is_root properties: name: type: string uuid: $ref: '#/components/schemas/NodeUUID' is_root: type: boolean checksum: description: MD5 checksum of the node type: string parent_uuid: description: 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}$ has_writable_children: description: Whether the node has writable child nodes type: boolean office_online_permissions: description: Node permissions related to Office Online type: object required: - can_create_files_into - can_be_previewed - can_be_edited properties: can_create_files_into: type: boolean can_be_previewed: type: boolean can_be_edited: type: boolean owner: description: Information about the owner of the node type: object required: - uuid - name - email properties: uuid: $ref: '#/components/schemas/UUID' name: type: string email: type: string permissions: description: Permissions for the current user related to the node type: object required: - can_be_renamed - can_be_unsubscribed - can_be_restored - can_create_folders_into - can_be_copied - can_create_files_into - can_view_members - can_be_synced_2_way - can_be_deleted - can_be_synced_1_way - can_be_moved - can_be_shared - can_be_shared_via_link - can_invite - can_be_downloaded - can_selectively_purge_revisions properties: can_be_renamed: description: Whether the node can be renamed type: boolean can_be_unsubscribed: description: 'Whether the node can be unsubscribed from Users can unsubscribe from nodes shared to them' type: boolean can_be_restored: description: Whether a deleted node can be restored type: boolean can_create_folders_into: description: Whether new folders can be created in this node type: boolean can_be_copied: description: Whether the node can be copied type: boolean can_create_files_into: description: Whether new files can be created in this node type: boolean can_view_members: description: Whether members of this node can be viewed type: boolean can_be_synced_2_way: description: Whether the node can be 2-way synced type: boolean can_be_deleted: description: Whether the node can be deleted type: boolean can_be_synced_1_way: description: Whether the node can be 1-way synced type: boolean can_be_moved: description: Whether the node can be moved type: boolean can_be_shared: description: Whether the node node can be shared to other users type: boolean can_be_shared_via_link: description: Whether the node can be shared via file link type: boolean can_invite: description: Whether new members can be invited to this node type: boolean can_be_downloaded: description: Whether the node can be downloaded type: boolean can_selectively_purge_revisions: description: Whether revisions of this node can be permanently deleted type: boolean actions: description: Relative URLs to actions that can be performed on the node type: object properties: download: description: Download URL type: string upload: description: Upload URL type: string preview: description: Preview URL type: string NodeUUID: description: 'Node unique identifier - UUID for any user nodes - `0` for the root 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}$ FileLink: example: id: 252 node_uuid: b8a80643-9d35-43dd-a7f6-c05aaf1d5606 access_restriction: shared download_url: https://dev-cloud.acronis.com/fc/t/f4cvit1j sharing_user_uuid: 0254fc28-1676-4f22-b530-f4f3bd9e7e45 ttl: 7 single_use: false emails: - user1@example.com - user2@example.com download_count: 0 token: 2e5193c4-4fb5-4c39-a4aa-11fce808d841 created_at: '2019-06-24T13:21:12Z' updated_at: '2019-06-24T13:21:12Z' type: object required: - id - node_uuid - access_restriction - download_url - sharing_user_uuid - ttl - single_use - emails - download_count - token - created_at - updated_at properties: id: type: integer node_uuid: $ref: '#/components/schemas/UUID' access_restriction: enum: - public - access - shared type: string download_url: type: string sharing_user_uuid: $ref: '#/components/schemas/UUID' ttl: type: integer single_use: type: boolean emails: type: array items: type: string download_count: type: integer expired_at: type: string format: date-time deleted_at: type: string format: date-time token: $ref: '#/components/schemas/UUID' created_at: type: string format: date-time updated_at: type: string format: date-time ConflictErrorResponse: type: object required: - error properties: error: type: object required: - domain - code - message properties: domain: enum: - Files type: string code: type: integer message: type: string context: type: object FileNode: description: Single revision of a file type: object required: - owner - parents - name - office_online_permissions - synced - parent_uuid - read_only - has_shared_child_nodes - is_shared - has_writable_children - actions - file_modification_date - permissions - path - uuid - is_directory - owner_email - checksum - is_deleted - has_active_links properties: size: description: Size of the node type: integer format: int64 owner: description: Information about the owner of the node type: object required: - uuid - name - email properties: uuid: $ref: '#/components/schemas/UUID' name: type: string email: type: string parents: description: 'Parent nodes of the current node The nodes are hierarchically ordered and include the current node' type: array items: type: object required: - name - uuid - is_root properties: name: type: string uuid: $ref: '#/components/schemas/NodeUUID' is_root: type: boolean name: description: Name of the node type: string minLength: 1 office_online_permissions: description: Node permissions related to Office Online type: object required: - can_create_files_into - can_be_previewed - can_be_edited properties: can_create_files_into: type: boolean can_be_previewed: type: boolean can_be_edited: type: boolean synced: description: Sync status of the node enum: - not_synced - sync_2_way type: string parent_uuid: description: 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: description: Whether the node is read-only type: boolean has_shared_child_nodes: description: Whether any of the node's child nodes have been shared type: boolean is_shared: description: Whether the node has been shared type: boolean preview_type: type: - string - 'null' has_writable_children: description: Whether the node has writable child nodes type: boolean actions: description: Relative URLs to actions that can be performed on the node type: object properties: download: description: Download URL type: string upload: description: Upload URL type: string preview: description: Preview URL type: string file_modification_date: description: Modification date of the node type: string format: date-time expiration_date: description: Date when the shared access to the node will expire type: string format: date-time permissions: description: Permissions for the current user related to the node type: object required: - can_be_renamed - can_be_unsubscribed - can_be_restored - can_create_folders_into - can_be_copied - can_create_files_into - can_view_members - can_be_synced_2_way - can_be_deleted - can_be_synced_1_way - can_be_moved - can_be_shared - can_be_shared_via_link - can_invite - can_be_downloaded - can_selectively_purge_revisions properties: can_be_renamed: description: Whether the node can be renamed type: boolean can_be_unsubscribed: description: 'Whether the node can be unsubscribed from Users can unsubscribe from nodes shared to them' type: boolean can_be_restored: description: Whether a deleted node can be restored type: boolean can_create_folders_into: description: Whether new folders can be created in this node type: boolean can_be_copied: description: Whether the node can be copied type: boolean can_create_files_into: description: Whether new files can be created in this node type: boolean can_view_members: description: Whether members of this node can be viewed type: boolean can_be_synced_2_way: description: Whether the node can be 2-way synced type: boolean can_be_deleted: description: Whether the node can be deleted type: boolean can_be_synced_1_way: description: Whether the node can be 1-way synced type: boolean can_be_moved: description: Whether the node can be moved type: boolean can_be_shared: description: Whether the node node can be shared to other users type: boolean can_be_shared_via_link: description: Whether the node can be shared via file link type: boolean can_invite: description: Whether new members can be invited to this node type: boolean can_be_downloaded: description: Whether the node can be downloaded type: boolean can_selectively_purge_revisions: description: Whether revisions of this node can be permanently deleted type: boolean path: description: Path to the node type: string uuid: description: 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: description: Whether the node is a directory or a file type: boolean owner_email: description: Email of the node's owner type: string checksum: description: MD5 checksum of the node type: string is_deleted: description: Whether the node is deleted type: boolean has_active_links: description: Whether the node has any active links type: boolean NodeRevision: example: node_uuid: 444f4f94-9f0e-4183-9d47-b1804e819f61 name: file.txt file_modification_date: '2019-06-12T15:28:15Z' revision: 2 size: 13499 is_latest: true created_at: '2019-06-13T11:40:54Z' is_deleted: false available: false purged: true writable: true revised_by: name: user email: user@example.com type: object required: - node_uuid - name - file_modification_date - revision - size - is_latest - created_at - is_deleted - available - purged - writable - revised_by properties: node_uuid: $ref: '#/components/schemas/UUID' name: type: string file_modification_date: type: string format: date-time revision: type: integer size: type: integer format: int64 is_latest: type: boolean created_at: type: string format: date-time is_deleted: type: boolean available: type: boolean purged: type: boolean writable: type: boolean revised_by: type: object required: - name - email properties: name: type: string email: type: string ErrorResponse: type: object required: - error properties: error: type: object required: - domain - code - message properties: domain: enum: - Files type: string code: type: integer message: type: string context: type: object securitySchemes: oauth_2_0: type: oauth2 flows: password: scopes: {} tokenUrl: https://dev-cloud.acronis.com/api/2/idp/token authorizationCode: scopes: {} authorizationUrl: https://dev-cloud.acronis.com/api/2/idp/authorize tokenUrl: https://dev-cloud.acronis.com/api/2/idp/token x-roles: - name: public id: '1' description: public role x-tags: - public - name: private id: '2' description: private role x-tags: - private