action dracoon_search_nodes { label: "Search nodes" description: "### Description: \nProvides a flat list of file system nodes (rooms, folders or files) of a given parent that are accessible by the current user.\n\n### Precondition:\nAuthenticated user is allowed to 👁 see nodes (i.e. `isBrowsable = true`).\n\n### Postcondition:\nList of nodes is returned.\n\n### Further Information: \nOutput is limited to **500** entries. \nFor more results please use filter criteria and paging (`offset` + `limit`). \n`EncryptionInfo` is **NOT** provided. \nWildcard character is the asterisk character: `*`\n\n### Filtering:\nAll filter fields are connected via logical conjunction (**AND**) \nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE[:VALUE...]` \n\n
\nExample\n\n`type:eq:file|createdAt:ge:2015-01-01` \nGet nodes where type equals `file` **AND** file creation date is **>=** `2015-01-01`.\n\n
\n\n### Filtering options:\n
\nExpand\n\n| `FIELD_NAME` | Filter Description | `OPERATOR` | Operator Description | `VALUE` |\n|:------------------------|:----------------------------------| :--- |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| :--- |\n| `type` | Node type filter | `eq` | Node type equals value.
Multiple values are allowed and will be connected via logical disjunction (**OR**).
e.g. `type:eq:room:folder` | |\n| `fileType` | File type filter (file extension) | `cn, eq` | File type contains / equals value. | `search String` |\n| `classification` | Classification filter | `eq` | Classification equals value. | |\n| `createdBy` | Creator login filter | `cn, eq` | Creator login contains / equals value (`firstName` **OR** `lastName` **OR** `email` **OR** `username`). | `search String` |\n| `createdById` | Creator ID filter | `eq` | Creator ID equals value. | `positive Integer or -1 for external user` |\n| `createdAt` | Creation date filter | `ge, le` | Creation date is greater / less equals than value.
Multiple operator values are allowed and will be connected via logical conjunction (**AND**).
e.g. `createdAt:ge:2016-12-31`|`createdAt:le:2018-01-01` | `Date (yyyy-MM-dd)` |\n| `updatedBy` | Last modifier login filter | `cn, eq` | Last modifier login contains / equals value (`firstName` **OR** `lastName` **OR** `email` **OR** `username`). | `search String` |\n| `updatedById` | Last modifier ID filter | `eq` | Modifier ID equals value. | `positive Integer or -1 for external user` |\n| `updatedAt` | Last modification date filter | `ge, le` | Last modification date is greater / less equals than value.
Multiple operator values are allowed and will be connected via logical conjunction (**AND**).
e.g. `updatedAt:ge:2016-12-31`|`updatedAt:le:2018-01-01` | `Date (yyyy-MM-dd)` |\n| `expireAt` | Expiration date filter | `ge, le` | Expiration date is greater / less equals than value.
Multiple operator values are allowed and will be connected via logical conjunction (**AND**).
e.g. `expireAt:ge:2016-12-31`|`expireAt:le:2018-01-01` | `Date (yyyy-MM-dd)` |\n| `size` | Node size filter | `ge, le` | Node size is greater / less equals than value.
Multiple operator values are allowed and will be connected via logical conjunction (**AND**).
e.g. `size:ge:5`|`size:le:10` | `size in bytes` |\n| `isFavorite` | Favorite filter | `eq` | | `true or false` |\n| `branchVersion` | Node branch version filter | `ge, le` | Branch version is greater / less equals than value.
Multiple operator values are allowed and will be connected via logical conjunction (**AND**).
e.g. `branchVersion:ge:1423280937404`|`branchVersion:le:1523280937404` | `version number` |\n| `parentPath` | Parent path | `cn, eq` | Parent path contains / equals value. | `search String` |\n| `timestampCreation` | Creation timestamp filter | `ge, le` | Creation timestamp is greater / less equals than value.
Multiple operator values are allowed and will be connected via logical conjunction (**AND**).
e.g. `timestampCreation:ge:2016-12-31T23:00:00.123`|
`timestampCreation:le:2018-01-01T11:00:00.540` | `Date (yyyy-MM-dd)` |\n| `timestampModification` | Modification timestamp filter | `ge, le` | Modification timestamp is greater / less equals than value.
Multiple operator values are allowed and will be connected via logical conjunction (**AND**).
e.g. `timestampModification:ge:2016-12-31T23:00:00.123`|
`timestampModification:le:2018-01-01T11:00:00.540` | `Date (yyyy-MM-dd)` |\n| `referenceId` | Reference ID filter | `eq` | Reference ID equals value. | `Integer ` |\n
\n\n---\n\n### Sorting:\nSort string syntax: `FIELD_NAME:ORDER` \n`ORDER` can be `asc` or `desc`. \nMultiple sort criteria are possible. \nFields are connected via logical conjunction **AND**.\n\n
\nExample\n\n`name:desc|size:asc` \nSort by `name` descending **AND** `size` ascending.\n\n
\n\n### Sorting options:\n
\nExpand\n\n| `FIELD_NAME` | Description |\n| :--- | :--- |\n| `name` | Node name |\n| `createdAt` | Creation date |\n| `createdBy` | Creator first name, last name |\n| `updatedAt` | Last modification date |\n| `updatedBy` | Last modifier first name, last name |\n| `fileType` | File type (extension) |\n| `classification` | Classification ID: |\n| `size` | Node size |\n| `cntDeletedVersions` | Number of deleted versions of this file / folder (**NOT** recursive; for files and folders only) |\n| `type` | Node type (room, folder, file) |\n| `parentPath` | Parent path |\n| `timestampCreation` | Creation timestamp |\n| `timestampModification` | Modification timestamp |\n\n
\n\n### Deprecated sorting options:\n
\nExpand\n\n| `FIELD_NAME` | Description |\n| :--- | :--- |\n| `cntChildren` | Number of direct children (**NOT** recursive; for rooms and folders only) |\n\n
" provider: dracoon method: GET path: "/v4/nodes/search" encoding: json input: { type: "object" properties: { "X-Sds-Auth-Token": { type: "string" } "X-Sds-Date-Format": { type: "string" enum: ["UTC", "LOCAL", "OFFSET", "EPOCH", "LEET"] } depth_level: { type: "integer" format: "int32" } filter: { type: "string" } limit: { type: "integer" format: "int32" } offset: { type: "integer" format: "int32" } parent_id: { type: "integer" format: "int64" } search_string: { type: "string" } sort: { type: "string" } } required: ["search_string"] additionalProperties: false } output: { type: "object" description: "List of nodes" required: ["items", "range"] properties: { items: { type: "array" description: "List of nodes" items: { 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 } } } } range: { type: "object" description: "Range information" required: ["limit", "offset", "total"] properties: { limit: { type: "integer" format: "int64" description: "Range limit. Maximum 500." } offset: { type: "integer" format: "int64" description: "Range offset" } total: { type: "integer" format: "int64" description: "Total items available" } } } } } }