Welcome to the OpenCities help centre. Search for what you're after, or browse the categories.
Can't find what you're looking for? Submit a support ticket and we'll be in touch.

Follow

Folders API

avatar of Kira Hartley

Kira Hartley

Last updated

In this article:

Get Folders

Endpoint: GET /folder/Get 

Authentication: Required 

Description: Get a folder or list of root folders in the current group.

Parameters

Parameter Type Required Description
FolderId String (UUID) No ID of specific folder to return
isShared boolean No Filter root folders by shared status

Sample Request

curl -u "your_app_id:your_api_key" \
  -H "Content-Type: application/json" \
  "https://your-domain.com/api/v1/folder/Get?FolderId=123e4567-e89b-12d3-a456-426614174000"

Sample Response

[
  {
    "FolderId": "123e4567-e89b-12d3-a456-426614174000",
    "Name": "Documents",
    "ParentFolder": null,
    "IsShared": false,
    "HideFromExternalSearch": false
  }
]

Create Folder

Endpoint: POST /folder/Create 

Authentication: Required 

Description: Create a new folder in the current group.

Parameters

Parameter Type Required Description
json object Yes Folder DTO JSON (request body)

Sample Request

curl -u "your_app_id:your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "Name": "New Folder",
    "ParentFolder": "123e4567-e89b-12d3-a456-426614174000",
    "IsShared": false,
    "HideFromExternalSearch": false
  }' \
  "https://your-domain.com/api/v1/folder/Create"

Delete Folder

Endpoint: DELETE /folder/Delete 

Authentication: Required 

Description: Delete a folder and all child files and folders.

Parameters

Parameter Type Required Description
FolderId String (UUID) Yes ID of specific folder to delete (query parameter)

Sample Request

curl -u "your_app_id:your_api_key" \
  -X DELETE \
  "https://your-domain.com/api/v1/folder/Delete?FolderId=123e4567-e89b-12d3-a456-426614174000"

Get Folder by Path

Endpoint: GET /folder/GetFolderByPath 

Authentication: Required 

Description: Gets the last folder in path in the current group. Note: Get by ID is more efficient.

Parameters

Parameter Type Required Description
Path string Yes Folder path to search (query parameter)

Sample Request

curl -u "your_app_id:your_api_key" \
  -H "Content-Type: application/json" \
  "https://your-domain.com/api/v1/folder/GetFolderByPath?Path=/documents/reports/annual"

Get or Create Folder by Path

Endpoint: GET /folder/GetOrCreateFolderByPath 

Authentication: Required 

Description: Gets the last folder in path in the current group, creating any missing folders in the path. Note: Get by ID is more efficient.

Parameters

Parameter Type Required Description
Path string Yes Folder path to find/create (query parameter)

Sample Request

curl -u "your_app_id:your_api_key" \
  -H "Content-Type: application/json" \
  "https://your-domain.com/api/v1/folder/GetOrCreateFolderByPath?Path=/documents/reports/quarterly"

Get Child Folders

Endpoint: GET /folder/GetChildFolders 

Authentication: Required 

Description: Gets a list of direct child folders for a given folder ID.

Parameters

Parameter Type Required Description
Id String (UUID) Yes Parent folder ID (query parameter)

Sample Request

curl -u "your_app_id:your_api_key" \
  -H "Content-Type: application/json" \
  "https://your-domain.com/api/v1/folder/GetChildFolders?Id=123e4567-e89b-12d3-a456-426614174000"

Sample Response

[
  {
    "FolderId": "456e7890-f12a-34b5-c678-901234567890",
    "Name": "Reports",
    "ParentFolder": "123e4567-e89b-12d3-a456-426614174000",
    "IsShared": false,
    "HideFromExternalSearch": false
  },
  {
    "FolderId": "789a0123-b456-78c9-d012-345678901234",
    "Name": "Archive",
    "ParentFolder": "123e4567-e89b-12d3-a456-426614174000",
    "IsShared": false,
    "HideFromExternalSearch": true
  }
]

Get Child Files

Endpoint: GET /folder/GetFiles 

Authentication: Required 

Description: Gets a list of direct child files for a given folder ID.

Parameters

Parameter Type Required Description
Id String (UUID) Yes Parent folder ID (query parameter)

Sample Request

curl -u "your_app_id:your_api_key" \
  -H "Content-Type: application/json" \
  "https://your-domain.com/api/v1/folder/GetFiles?Id=123e4567-e89b-12d3-a456-426614174000"

Sample Response

[
  {
    "FileId": "321f4567-a89b-12c3-d456-426614174111",
    "Name": "Budget Report.pdf",
    "Description": "Annual budget report",
    "FileObjectType": "Document",
    "Link": "/files/budget-report.pdf",
    "Owner": "admin",
    "CreateDate": "2025-01-10T09:15:00Z"
  }
]

Archive Folder

Endpoint: POST /folder/Archive 

Authentication: Required 

Description: Archives all child files. The folder and all child folders are deleted.

Parameters

Parameter Type Required Description
FolderId String (UUID) Yes ID of folder to archive (form data)

Sample Request

curl -u "your_app_id:your_api_key" \
  -X POST \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "FolderId=123e4567-e89b-12d3-a456-426614174000" \
  "https://your-domain.com/api/v1/folder/Archive"

Update Folder

Endpoint: POST /folder/Update 

Authentication: Required 

Description: Update a folder in the current group.

Parameters

Parameter Type Required Description
json object Yes Folder DTO JSON (request body)

Sample Request

curl -u "your_app_id:your_api_key" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "FolderId": "123e4567-e89b-12d3-a456-426614174000",
    "Name": "Updated Folder Name",
    "ParentFolder": "456e7890-f12a-34b5-c678-901234567890",
    "IsShared": true,
    "HideFromExternalSearch": false
  }' \
  "https://your-domain.com/api/v1/folder/Update"
Was this article helpful?
0 out of 0 found this helpful