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

Files API

avatar of Kira Hartley

Kira Hartley

Last updated

In this article:

Get File

Endpoint: GET /files/Get 

Authentication: Required 

Description: Gets a file's metadata from the current group.

Parameters

Parameter Type Required Description
FileId String (UUID) Yes ID of file to return (query parameter)

Sample Request

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

Sample Response

{
  "FileId": "123e4567-e89b-12d3-a456-426614174000",
  "FileVersionId": "456e7890-e89b-12d3-a456-426614174001",
  "VersionNumber": 1,
  "FolderId": "789e1234-e89b-12d3-a456-426614174002",
  "FileObjectType": "Document",
  "Name": "sample-document.pdf",
  "Description": "Sample document description",
  "LanguageCode": "en-AU",
  "Link": "/files/sample-document.pdf",
  "Owner": "admin",
  "Author": "editor",
  "CreateDate": "2025-01-15T10:30:00Z",
  "ActivateDate": "2025-01-15T12:00:00Z",
  "IsShared": false,
  "HideFromExteranlSearch": false,
  "HideFromSearch": false,
  "Usage": []
}

Get File Stream

Endpoint: GET /files/GetFileStream 

Authentication: Required 

Description: Gets the physical file as a stream.

Parameters

Parameter Type Required Description
FileId String (UUID) Yes ID of file to return (query parameter)

Sample Request

curl -u "your_app_id:your_api_key" \
  "https://your-domain.com/api/v1/files/GetFileStream?FileId=123e4567-e89b-12d3-a456-426614174000" \
  --output downloaded-file.pdf

Create File

Endpoint: POST /files/Create 

Authentication: Required 

Description: Create a new file in the current group.

Parameters

Parameter Type Required Description
json object Yes File DTO JSON (form data)
file file Yes File to be uploaded (form data)

Sample Request

curl -u "your_app_id:your_api_key" \
  -F 'json={"Name":"uploaded-document","Description":"Document uploaded via API","FolderId":"789e1234-e89b-12d3-a456-426614174002"}' \
  -F 'file=@/path/to/document.pdf' \
  "https://your-domain.com/api/v1/files/Create"

Update File

Endpoint: POST /files/Update 

Authentication: Required 

Description: Update an existing file.

Parameters

Parameter Type Required Description
json string Yes File DTO JSON (form data)
file file No File to be uploaded (form data)

Sample Request

curl -u "your_app_id:your_api_key" \
  -F 'json={"FileId":"123e4567-e89b-12d3-a456-426614174000","Name":"updated-document","Description":"Updated description"}' \
  -F 'file=@/path/to/updated-document.pdf' \
  "https://your-domain.com/api/v1/files/Update"

Delete File

Endpoint: DELETE /files/Delete 

Authentication: Required 

Description: Delete a file from the current group.

Parameters

Parameter Type Required Description
FileId String (UUID) Yes ID of file to return (query parameter)

Sample Request

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

Get File by DMS ID

Endpoint: GET /files/GetByDmsId 

Authentication: Required 

Description: Gets a file using a unique ID from an external system in the current group.

Parameters

Parameter Type Required Description
DmsDocId string Yes External system unique ID (query parameter)

Sample Request

curl -u "your_app_id:your_api_key" \
  -H "Content-Type: application/json" \
  "https://your-domain.com/api/v1/files/GetByDmsId?DmsDocId=EXT-DOC-12345"

Sample Response

{
  "FileId": "123e4567-e89b-12d3-a456-426614174000",
  "FileVersionId": "987fcdeb-51a2-43d7-b123-456789abcdef",
  "VersionNumber": 1,
  "FolderId": "456e7890-f12a-34b5-c678-901234567890",
  "FileObjectType": "Document",
  "Name": "Annual Report 2025.pdf",
  "Description": "Annual company report for 2025",
  "LanguageCode": null,
  "Link": "/files/annual-report-2025.pdf",
  "Owner": "admin",
  "Author": "john.smith",
  "CreateDate": "2025-01-15T10:30:00Z",
  "ActivateDate": "2025-01-15T14:00:00Z",
  "ReviewDate": null,
  "DeactivateDate": null,
  "DmsDocId": "EXT-DOC-12345",
  "DmsVersionId": "EXT-VER-12345-01",
  "DmsVersionNumber": 1,
  "IsShared": false,
  "HideFromExteranlSearch": false,
  "HideFromSearch": false,
  "Usage": [],
  "DataFields": {}
}

Archive File

Endpoint: POST /files/Archive 

Authentication: Required 

Description: Archive a file in the current group.

Parameters

Parameter Type Required Description
FileId String (UUID) Yes ID of file to archive (query parameter)

Sample Request

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

Sample Response

{
  "message": "File archived successfully"
}
Was this article helpful?
0 out of 0 found this helpful