action dracoon_update_folder { label: "Updates folder’s metadata" description: "### Description: \nUpdates folder’s metadata.\n\n### Precondition:\nUser has 🔓 change permissions in parent room.\n\n### Postcondition:\nFolder's metadata is changed.\n\n### Further Information:\nNotes are limited to **255** characters.\n\n### Node naming convention:\n* Node (room, folder, file) names are limited to **150** characters.\n* Illegal names: \n`'CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9', (and any of those with an extension)`\n* Illegal characters in names: \n`'\\\\', '<','>', ':', '\\\"', '|', '?', '*', '/', leading '-', trailing '.' `\n" provider: dracoon method: PUT path: "/v4/nodes/folders/{folder_id}" encoding: json input: { type: "object" properties: { "X-Sds-Auth-Token": { type: "string" } "X-Sds-Date-Format": { type: "string" enum: ["UTC", "LOCAL", "OFFSET", "EPOCH", "LEET"] } classification: { type: "integer" format: "int32" description: "🚀 Since v4.30.0\n\nClassification ID:\n\n* `1` - public\n\n* `2` - internal\n\n* `3` - confidential\n\n* `4` - strictly confidential\n\n\n\nProvided (or default) classification is taken from room\n\nwhen file gets uploaded without any classification." enum: [1, 2, 3, 4] } folder_id: { type: "integer" format: "int64" } name: { type: "string" description: "Folder name" } notes: { type: "string" description: "User notes\n\nUse empty string to remove." } timestampCreation: { type: "string" format: "date-time" description: "🚀 Since v4.22.0\n\nTime the node was created on external file system\n\n(default: current server datetime in UTC format)" } timestampModification: { type: "string" format: "date-time" description: "🚀 Since v4.22.0\n\nTime the content of a node was last modified on external file system\n\n(default: current server datetime in UTC format)" } } required: ["folder_id"] additionalProperties: false } output: { type: "object" description: "Node information (Node can be a room, folder or file)" required: ["id", "name", "type"] properties: { authParentId: { type: "integer" format: "int64" description: "🚀 Since v4.15.0\n\nAuth parent room ID" } branchVersion: { type: "integer" format: "int64" description: "Version of last change in this node or a node further down the tree." } children: { type: "array" description: "🚧 Deprecated since v4.10.0\n\nChild nodes list (if requested)\n\n(for rooms / folders only)" items: { type: "object" additionalProperties: true } } classification: { type: "integer" format: "int32" description: "Classification ID:\n\n* `1` - public\n\n* `2` - internal\n\n* `3` - confidential\n\n* `4` - strictly confidential" enum: [1, 2, 3, 4] } cntChildren: { type: "integer" format: "int32" description: "🚧 Deprecated since v4.11.0\n\nNumber of direct children\n\n(no recursion; for rooms / folders only)" } cntComments: { type: "integer" format: "int32" description: "Returns the number of comments of this node." } cntDeletedVersions: { type: "integer" format: "int32" description: "Number of deleted versions of this file / folder\n\n(for rooms / folders only)" } cntDownloadShares: { type: "integer" format: "int32" description: "Returns the number of Download Shares of this node." } cntFiles: { type: "integer" format: "int32" description: "🚀 Since v4.11.0\n\nAmount of direct child files where this node is the parent node\n\n(no recursion; for rooms / folders only)" } cntFolders: { type: "integer" format: "int32" description: "🚀 Since v4.11.0\n\nAmount of direct child folders where this node is the parent node\n\n(no recursion; for rooms / folders only)" } cntRooms: { type: "integer" format: "int32" description: "🚀 Since v4.11.0\n\nAmount of direct child rooms where this node is the parent node\n\n(no recursion; for rooms only)" } cntUploadShares: { type: "integer" format: "int32" description: "Returns the number of Upload Shares of this node." } createdAt: { type: "string" format: "date-time" description: "Creation date" } createdBy: { type: "object" description: "User information" required: ["avatarUuid", "firstName", "id", "lastName", "userName", "userType"] properties: { avatarUuid: { type: "string" description: "🚀 Since v4.11.0\n\nAvatar UUID" } displayName: { type: "string" description: "🚧 Deprecated since v4.11.0\n\nDisplay name\n\nuse other fields from `UserInfo` instead to combine a display name" } email: { type: "string" description: "🚀 Since v4.11.0\n\nEmail " } firstName: { type: "string" description: "🚀 Since v4.11.0\n\nUser first name (mandatory if `userType` is `internal`)" } id: { type: "integer" format: "int64" description: "Unique identifier for the user" } lastName: { type: "string" description: "🚀 Since v4.11.0\n\nUser last name (mandatory if `userType` is `internal`)" } title: { type: "string" description: "🚧 Deprecated since v4.18.0\n\nJob title" } userName: { type: "string" description: "🚀 Since v4.13.0\n\nUsername (only returned for `internal` users)" } userType: { type: "string" description: "🚀 Since v4.11.0\n\nUser type:\n\n* `internal` - ordinary DRACOON user\n\n* `external` - external user without DRACOON account\n\n* `system` - system user (non human 👽)\n\n* `deleted` - deleted DRACOON user" enum: ["system", "internal", "external", "deleted"] } } } encryptionInfo: { type: "object" description: "Encryption states" required: ["dataSpaceKeyState", "roomKeyState", "userKeyState"] properties: { dataSpaceKeyState: { type: "string" description: "DRACOON key state" enum: ["none", "available", "pending"] } roomKeyState: { type: "string" description: "Room key state" enum: ["none", "available", "pending"] } userKeyState: { type: "string" description: "User key state" enum: ["none", "available", "pending"] } } } expireAt: { type: "string" format: "date-time" description: "Expiration date" } fileType: { type: "string" description: "File type / extension (for files only)" } hasActivitiesLog: { type: "boolean" description: "Is activities log active (for rooms only)" } hash: { type: "string" description: "MD5 hash of file" } id: { type: "integer" format: "int64" description: "Node ID" } inheritPermissions: { type: "boolean" description: "Inherit permissions from parent room\n\n(default: `false` if `parentId` is `0`; otherwise: `true`)" } isBrowsable: { type: "boolean" description: "🚀 Since v4.11.0\n\nDetermines whether node is browsable by client (for rooms only)" } isEncrypted: { type: "boolean" description: "Encryption state" } isFavorite: { type: "boolean" description: "Node is marked as favorite (for rooms / folders only)" } mediaToken: { type: "string" description: "Media server media token" } mediaType: { type: "string" description: "File media type (for files only)" } name: { type: "string" description: "Name" } notes: { type: "string" description: "User notes" } parentId: { type: "integer" format: "int64" description: "Parent node ID (room or folder)" } parentPath: { type: "string" description: "Parent node path\n\n`/` if node is a root node (room)" } permissions: { type: "object" description: "Node permissions" required: ["change", "create", "delete", "deleteRecycleBin", "manage", "manageDownloadShare", "manageUploadShare", "read", "readRecycleBin", "restoreRecycleBin"] properties: { change: { type: "boolean" description: "User / Group may update metadata of nodes: rename files and folders, change classification, etc." } create: { type: "boolean" description: "User / Group may upload files, create folders and copy / move files to this room, overwriting is not possible." } delete: { type: "boolean" description: "User / Group may overwrite and remove files / folders, move files from this room." } deleteRecycleBin: { type: "boolean" description: "User / Group may permanently remove files / folders from the recycle bin." } manage: { type: "boolean" description: "User / Group may grant all of the above permissions to other users and groups independently,\n\nmay update room metadata and create / update / delete subordinary rooms, has all permissions." } manageDownloadShare: { type: "boolean" description: "User / Group may create Download Shares for files and containers view all previously created Download Shares in this room." } manageUploadShare: { type: "boolean" description: "User / Group may create Upload Shares for containers, view all previously created Upload Shares in this room." } read: { type: "boolean" description: "User / Group may see all rooms, files and folders in the room and download everything, copy files from this room." } readRecycleBin: { type: "boolean" description: "User / Group may look up files / folders in the recycle bin." } restoreRecycleBin: { type: "boolean" description: "User / Group may restore files / folders from recycle bin - room permissions required." } } } quota: { type: "integer" format: "int64" description: "Quota in byte" } recycleBinRetentionPeriod: { type: "integer" format: "int32" description: "Retention period for deleted nodes in days" } referenceId: { type: "integer" format: "int64" description: "🚀 Since v4.37.0\n\nReference ID. Identical across all versions of a file" } size: { type: "integer" format: "int64" description: "Node size in byte" } timestampCreation: { type: "string" format: "date-time" description: "🚀 Since v4.22.0\n\nTime the node was created on external file system" } timestampModification: { type: "string" format: "date-time" description: "🚀 Since v4.22.0\n\nTime the content of a node was last modified on external file system" } type: { type: "string" description: "Node type" enum: ["room", "folder", "file"] } updatedAt: { type: "string" format: "date-time" description: "Modification date" } updatedBy: { type: "object" additionalProperties: true } } } }