REST API Folders

REST API Folders

Unlike other REST APIs, these use the file ID (found in the File Browser) or the UUID (found in all payloads or JSON representations) instead of the configuration ID.

The REST API for folders follows the best practices for RESTful API design. Make sure you read the HTTP status codes and interpret them together with the responses.

Note that overwrite functions adhere to the user’s existing permission settings. 

To receive more meaningful HTTP errors for each call, you can add the following command after the username and password:

 

-w"\n%{http_code}\n"

Read the Root Folder

Request method - GET

Description

Returns a list of all the folders in the folder tree in Datameer.

URI syntax

curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/filesystem/root-folder'

Example response

{ "name": "/", "uuid": "f81eeb96-b675-4ace-878c-269962e03ca4", "_links": { "self": { "href": "/api/filesystem/root-folder" }, "permission": { "href": "/api/filesystem/folders/1/permission" } }, "_embedded": { "folders": [ { "name": "Users", "_links": { "self": { "href": "/api/filesystem/folders/3" } } }, { "name": "Data", "_links": { "self": { "href": "/api/filesystem/folders/4" } } }, { "name": "Analytics", "_links": { "self": { "href": "/api/filesystem/folders/10" } } }, { "name": "Visualization", "_links": { "self": { "href": "/api/filesystem/folders/12" } } }, { "name": "Images", "_links": { "self": { "href": "/api/filesystem/folders/14" } } }, { "name": ".system", "_links": { "self": { "href": "/api/filesystem/folders/2" } } }, { "name": "Examples", "_links": { "self": { "href": "/api/filesystem/folders/18" } } } ] }

Read the Folder

Request method - GET

Description

Returns a list of the folder's content in Datameer.

URI syntax

curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/filesystem/folders/<file-id> or <uuid>'

Example response

{ "name": "Data", "uuid": "9e6635dd-d02d-4073-9e6e-123a31c46938", "_links": { "parent": { "href": "/api/filesystem/folders/1" }, "self": { "href": "/api/filesystem/folders/4" }, "permission": { "href": "/api/filesystem/folders/4/permission" } }, "_embedded": { "folders": [ { "name": "Connections", "_links": { "self": { "href": "/api/filesystem/folders/5" } } }, { "name": "ImportJobs", "_links": { "self": { "href": "/api/filesystem/folders/6" } } }, { "name": "DataLinks", "_links": { "self": { "href": "/api/filesystem/folders/7" } } }, { "name": "FileUploads", "_links": { "self": { "href": "/api/filesystem/folders/8" } } }, { "name": "ExportJobs", "_links": { "self": { "href": "/api/filesystem/folders/9" } } } ] }

Read Folder Permissions

Request method - GET

Description

Returns a list of the folder's permissions in Datameer.

URI syntax

curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/filesystem/folders/<file-id> or <uuid>/permission'

Example response

{ "others": { "readable": true, "writable": true }, "owner": "admin", "_links": { "folder": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938" }, "others": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission/others" }, "owner": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission/owner" }, "self": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission" }, "groups": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission/groups" } }

Read Group Permissions of a Folder

Request method - GET

Description

Returns a list of the folder's group permissions in Datameer.

URI syntax

curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/filesystem/folders/<file-id> or <uuid>/permission/groups'

Example response

{ "_links": { "self": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission/groups" }, "permission": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission" } }, "_embedded": { "groups": [ { "flags": { "readable": true, "writable": true }, "name": "dasuser", "_links": { "self": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission/groups/dasuser" }, "permission": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission" } } } ] }

Read Other Permissions of a Folder

Request method - GET

Description

Returns a list of the folder's permissions for others in Datameer.

URI syntax

curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/filesystem/folders/<file-id> or <uuid>/permission/others

Example response

{ "readable": true, "writable": true, "_links": { "self": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission/others" }, "permission": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission" } }

Read the Owner of a Folder

Request method - GET

Description

Returns a list of the folder's owners in Datameer.

URI syntax

curl -u '<username>:<password>' -X GET 'http://<Datameer-serverIP>:<port-number>/api/filesystem/folders/<file-id> or <uuid>/permission/owner'

Example response

{ "owner": "admin", "_links": { "self": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission/owner" }, "permission": { "href": "/api/filesystem/folders/9e6635dd-d02d-4073-9e6e-123a31c46938/permission" } }

Change the Owner of a Folder

Request method - PUT

Description

Changes the owner of folder in Datameer.

URI syntax

curl -u '<username>:<password>' -X PUT -H "Content-Type:application/json" -H "Accept: application/json" -d "{owner:<username>}" "http:// <Datameer-serverIP>:<port-number>/api/filesystem/folders/<file-id>/permission/owner"