Folders

Last updated 2 months ago

Folders are the organization structure for files in Workspaces. You can create, update, download, and delete folders. You can also list all items in a folder.

Workspaces themselves are a special folder which is referred to as the root folder, which you can read.

post
Create a Folder

https://ws-api.onehub.com
/workspaces/:workspace_id/folders/:folder_id/folders
Creates a folder nested within the folder specified via :folder_id in the Workspace specified via :workspace_id. To create a folder at the root-level of the Workspace you can either pass the root_folder_id or post to the /folders endpoint without specifying a :folder_id.
Request
Response
Path Parameters
:workspace_id
required
integer
The unique identifier of the Workspace you would like to create the folder in.
:folder_id
optional
integer
The unique identifier of the folder you would like to nest the folder within. If a :folder_id is not provided, the API will assume that you want to create the folder at the root-level.
Body Parameters
filename
required
string
The name of the folder.
201: Created
Returns the newly create folder and a 201 if the call succeeds.
{
"folder": {
"id": 849837,
"filename": "New Folder",
"created_at": "2016-01-20T16:45:48-08:00",
"updated_at": "2016-01-20T16:45:48-08:00",
"user_id": 481,
"workspace_id": 4137,
"ancestor_ids": [
849587
],
"errors": {},
"hidden?": false,
"size": 0
}
}

If a folder name contains characters that would render it invalid, the name will be automatically changed to one that is valid. For example folder/name would be changed to folder-name.

get
Read a Root Folder

https://ws-api.onehub.com
/workspaces/:id/folders
Reads the root folder for the Workspace specified via :id.
Request
Response
Path Parameters
:id
required
integer
The unique identifier of the Workspace you would like to read the root folder from.
200: OK
Returns the root folder object and a 200 if the call succeeds.
{
"items": [
{
"folder": {
"id": 849587,
"filename": "Testing the API",
"created_at": "2016-01-15T15:19:06-08:00",
"updated_at": "2016-01-20T16:53:45-08:00",
"user_id": null,
"workspace_id": 4137,
"ancestor_ids": [],
"errors": {},
"hidden?": false,
"size": 6736
}
}
]
}

put
Update a Folder

https://ws-api.onehub.com
/folders/:id
Updates the folder object specified via :id.
Request
Response
Path Parameters
:id
required
integer
The unique identifier of the folder you would like to update.
Body Parameters
filename
optional
string
The name of the folder.
200: OK
Returns the updated folder object and a 200 if the call succeeds.
{
"folder": {
"id": 849597,
"filename": "Renamed Folder",
"created_at": "2016-01-15T15:19:20-08:00",
"updated_at": "2016-01-21T11:55:32-08:00",
"user_id": 481,
"workspace_id": 4137,
"ancestor_ids": [
849587
],
"errors": {},
"hidden?": false,
"size": 6736
}
}

delete
Delete a Folder

https://ws-api.onehub.com
/folders/:id
Deletes the folder object specified via :id.
Request
Response
Path Parameters
:id
required
integer
The unique identifier of the folder you would like to delete.
200: OK
Returns an empty message body and a 204 if the call succeeds.
//
404: Not Found
Returns a 404 with an error in the message body if a non-existent folder :id is provided.
//

get
List all Folders

https://ws-api.onehub.com
/workspaces/:workspace_id/folders/:id
Lists all folders/files for the Workspace specified via :workspace_id in the folder specified via :id.
Request
Response
Path Parameters
:workspace_id
required
integer
The unique identifier of the Workspace you would like to list folders from.
:id
required
integer
The unique identifier of the folder you would like to list nested folders from.
200: OK
Returns a paginated array of folder/file objects, along with the containing folder object, and a 200 if the call succeeds.
{
"current_page": 1,
"total_entries": 0,
"total_pages": 0,
"offset": 0,
"previous_offset": null,
"next_offset": null,
"per_page": 60,
"items": [
{
"folder": {
"id": 849647,
"filename": "Nested Folder",
"created_at": "2016-01-18T17:00:54-08:00",
"updated_at": "2016-01-18T17:00:54-08:00",
"user_id": 481,
"workspace_id": 4137,
"ancestor_ids": [
849587,
849597
],
"errors": {},
"hidden?": false,
"size": 0
}
},
{
"file": {
"id": 849607,
"filename": "onehub-logo.png",
"created_at": "2016-01-15T16:22:44-08:00",
"updated_at": "2016-01-20T16:09:25-08:00",
"user_id": 481,
"workspace_id": 4137,
"ancestor_ids": [
849587,
849597
],
"errors": {},
"hidden?": false,
"size": 6736,
"thumbnail": {
"id": 791577,
"state": "ready",
"created_at": "2016-01-15T16:22:44-08:00",
"updated_at": "2016-01-15T16:22:46-08:00",
"width": 128,
"height": 33,
"url": "/thumbnails/791577"
}
}
}
],
"folder": {
"id": 849597,
"filename": "Parent Folder",
"created_at": "2016-01-15T15:19:20-08:00",
"updated_at": "2016-01-20T16:09:25-08:00",
"user_id": 481,
"workspace_id": 4137,
"ancestor_ids": [
849587
],
"errors": {},
"hidden?": false,
"size": 6736
}
}