File and folder management endpoints for the Wallboard digital signage platform.
Files are media assets (images, videos, audio, fonts, PDFs) used in content designs. Files are organized in folders and can be synced from cloud storage providers.
| Concept | Description |
|---|---|
| File | Media asset (image, video, audio, font, PDF) |
| File Folder | Directory for organizing files |
| Synced Folder | Folder linked to Google Drive or OneDrive |
| Filtered Folder | Dynamic folder based on quick filter criteria |
| Validity | Time-based visibility (valid from/to dates) |
| Type | Extensions |
|---|---|
| Images | PNG, JPG, JPEG, GIF, SVG, WebP |
| Videos | MP4, WebM, MOV |
| Audio | MP3, WAV, OGG |
| Fonts | TTF, OTF, WOFF, WOFF2 |
| Documents | |
| Data | JSON |
Two upload methods available:
| Method | Endpoint | Use for |
|---|---|---|
| Chunked (recommended) | /api/v2/file/upload/init |
All files, required >200MB, resumable |
| Simple | /api/file/ |
Quick upload <200MB only |
⚠️ Thumbnails: Server does NOT auto-generate thumbnails. Client must provide thumbnail for all file types.
1. POST /api/v2/file/upload/init
Body: {name, size, totalChunks, contentType, parentId}
Response: {uploadId, uploadUrls: {"1": "https://s3...", ...}, maxChunkSize}
2. PUT {uploadUrl} for each chunk (use presigned S3 URLs from step 1)
-OR- PUT /api/v2/file/upload/{uploadId}/part/{partNumber}
3. POST /api/v2/file/upload/{uploadId}/complete
Response: FileViewDto
4. PUT /api/v2/file/upload/{fileId}/thumbnail (required)
Recovery: GET /api/v2/file/upload/{uploadId}/recover returns uploaded/missing chunks.
Cancel: DELETE /api/v2/file/upload/{uploadId}
Folders can be synced with:
Synced folders automatically import and update files from the cloud source.
Use WBQL in the search parameter. Key fields:
For Files:
| Filter Type | Field | Example |
|---|---|---|
| Folder (direct) | fileFolderId |
search=fileFolderId=folder123 |
| Folder (recursive) | fileFolderPath |
search=fileFolderPath:folder123 |
| Team | teamAssignments.team.id |
search=teamAssignments.team.id=team1 |
| File type | type |
search=type=IMAGE |
| Name | name |
search=name:logo |
For Folders:
| Filter Type | Field | Example |
|---|---|---|
| Parent (direct) | parentId |
search=parentId=parent123 |
| Ancestors (recursive) | fileFolderPath |
search=fileFolderPath:ancestor123 |
| Root folders | parentId |
search=parentId=NULL |
See Getting Started for full WBQL syntax.
Retrieve a paginated list of files.
Minimum role: VIEWER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| page | integer >= 0 Default: 0 Page index (0-based) |
| size | integer [ 1 .. 1000 ] Default: 20 Number of elements per page (max 1000) |
| sort | string Example: sort=name,asc Sort expression. Format:
|
| search | string WBQL filter expression. Operators: |
| select | string Field projection. |
{- "first": true,
- "last": true,
- "number": 0,
- "numberOfElements": 0,
- "totalElements": 0,
- "totalPages": 0,
- "size": 0,
- "content": [
- {
- "id": "string",
- "name": "string",
- "contentType": "string",
- "size": 0,
- "width": 0,
- "height": 0,
- "createDate": 0,
- "creatorEmail": "string",
- "customerId": 0,
- "fileFolderId": "string",
- "fileFolderPath": "string",
- "location": "string",
- "thumbnail": "string",
- "previewPath": "string",
- "crcCheckSum": "string",
- "validFrom": 0,
- "validTo": 0,
- "fileMutabilityType": "DYNAMIC",
- "tags": [
- "string"
], - "metaData": { },
- "muted": true,
- "lastPreviewUploadTime": 0,
- "readOnly": true,
- "creator": {
- "email": "string",
- "name": "string",
- "iconUrl": "string"
}, - "orientation": "string",
- "isGoogleFile": true,
- "isOneDriveFile": true,
- "googleDriveFileDetails": { },
- "oneDriveFileDetails": { },
- "duplicateDetails": { },
- "usageDetails": { },
- "campaignUsageDetails": { },
- "topLevelCampaignUsageDetails": { },
- "messageUsageDetails": { }
}
]
}Upload a new file to the media library.
⚠️ Size limit: 200MB - Use chunked upload (/api/v2/file/upload/init) for larger files.
Minimum role: EDITOR with customer selector
RFC 1867 compliant multipart/form-data stream.
Thumbnails: Server does NOT auto-generate thumbnails. Client must upload preview image
for all file types via the previews field. The preview filename must exactly match
the uploaded file's filename to link them (e.g., [email protected], [email protected]).
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignment filter. Format: |
| parentId | string Parent folder ID (null for root) |
| inheritParentTeams | boolean Default: false Inherit team assignments from parent folder |
| validFrom | integer <int64> File validity start time (Unix timestamp) |
| validTo | integer <int64> File validity end time (Unix timestamp) |
| tags | string Comma-separated tags |
| width | integer Width hint for images |
| height | integer Height hint for images |
| fileIdToReplace | string ID of file to replace with this upload |
| removeOldFile | boolean Default: false Remove the old file after replacement |
| muted | boolean Mute audio for video files |
| files | Array of strings <binary> [ items <binary > ] Files to upload |
| previews | Array of strings <binary> [ items <binary > ] Thumbnail images for uploaded files. Filename must match corresponding file in |
[- {
- "id": "string",
- "name": "string",
- "contentType": "string",
- "size": 0,
- "width": 0,
- "height": 0,
- "createDate": 0,
- "creatorEmail": "string",
- "customerId": 0,
- "fileFolderId": "string",
- "fileFolderPath": "string",
- "location": "string",
- "thumbnail": "string",
- "previewPath": "string",
- "crcCheckSum": "string",
- "validFrom": 0,
- "validTo": 0,
- "fileMutabilityType": "DYNAMIC",
- "tags": [
- "string"
], - "metaData": { },
- "muted": true,
- "lastPreviewUploadTime": 0,
- "readOnly": true,
- "creator": {
- "email": "string",
- "name": "string",
- "iconUrl": "string"
}, - "orientation": "string",
- "isGoogleFile": true,
- "isOneDriveFile": true,
- "googleDriveFileDetails": { },
- "oneDriveFileDetails": { },
- "duplicateDetails": { },
- "usageDetails": { },
- "campaignUsageDetails": { },
- "topLevelCampaignUsageDetails": { },
- "messageUsageDetails": { }
}
]Update file properties including name, validity period, tags, and metadata.
Use this endpoint for: renaming, setting validity (validFrom/validTo), updating tags.
Minimum role: EDITOR
| fileId required | string |
| name | string |
| validFrom | integer <int64> Valid from timestamp (Unix ms) |
| validTo | integer <int64> Valid until timestamp (Unix ms) |
| tags | Array of strings |
| metaData | object Custom metadata (JSON) |
| muted | boolean Mute audio for video files |
{- "name": "string",
- "validFrom": 0,
- "validTo": 0,
- "tags": [
- "string"
], - "metaData": { },
- "muted": true
}{- "id": "string",
- "name": "string",
- "contentType": "string",
- "size": 0,
- "width": 0,
- "height": 0,
- "createDate": 0,
- "creatorEmail": "string",
- "customerId": 0,
- "fileFolderId": "string",
- "fileFolderPath": "string",
- "location": "string",
- "thumbnail": "string",
- "previewPath": "string",
- "crcCheckSum": "string",
- "validFrom": 0,
- "validTo": 0,
- "fileMutabilityType": "DYNAMIC",
- "tags": [
- "string"
], - "metaData": { },
- "muted": true,
- "lastPreviewUploadTime": 0,
- "readOnly": true,
- "creator": {
- "email": "string",
- "name": "string",
- "iconUrl": "string"
}, - "orientation": "string",
- "isGoogleFile": true,
- "isOneDriveFile": true,
- "googleDriveFileDetails": { },
- "oneDriveFileDetails": { },
- "duplicateDetails": { },
- "usageDetails": { },
- "campaignUsageDetails": { },
- "topLevelCampaignUsageDetails": { },
- "messageUsageDetails": { }
}Update team assignments for a file.
Minimum role: OWNER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| fileId required | string |
Array of objects Teams to assign the resource to | |
| removeFromTeamIds | Array of strings Team IDs to remove the resource from |
{- "assignToTeams": [
- {
- "teamId": "string",
- "readOnly": true
}
], - "removeFromTeamIds": [
- "string"
]
}Retrieve combined view of files and folders. Useful for file browser UI implementations.
Minimum role: VIEWER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| folderSearch | string WBQL search expression for folders |
| fileSearch | string WBQL search expression for files |
| quickFilterId | string Apply quick filter |
| folderSelect | string WBQL select expression for folders |
| page | integer >= 0 Default: 0 Page index (0-based) |
| size | integer [ 1 .. 1000 ] Default: 20 Number of elements per page (max 1000) |
| sort | string Example: sort=name,asc Sort expression. Format:
|
| select | string Field projection. |
{- "first": true,
- "last": true,
- "number": 0,
- "numberOfElements": 0,
- "totalElements": 0,
- "totalPages": 0,
- "size": 0,
- "content": [
- {
- "id": "string",
- "name": "string",
- "entityType": "FILE",
- "contentType": "string",
- "size": 0,
- "width": 0,
- "height": 0,
- "validFrom": 0,
- "validTo": 0,
- "tags": [
- "string"
], - "customerId": 0,
- "previewPath": "string",
- "location": "string",
- "readOnly": true,
- "fileFolderType": 0,
- "cleanupOutdatedFiles": true,
- "autoSync": true,
- "lastSync": 0,
- "lastChange": 0,
- "lastError": 0,
- "syncErrorCounter": 0,
- "googleCredentialId": "string",
- "microsoftTenantId": "string",
- "isRootSyncedFolder": true,
- "isSyncedGoogleFolder": true,
- "isSyncedOneDriveFolder": true,
- "quickFilterId": "string"
}
]
}Get the folder hierarchy path for navigation breadcrumbs.
Minimum role: VIEWER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| folderId | string Folder ID to get breadcrumb for |
{- "fileFolders": [
- {
- "id": "string",
- "name": "string",
- "type": "REGULAR",
- "readOnly": true
}
]
}Get storage usage statistics for the customer.
Returns: available limit, total used, datasource usage, and uploaded file size.
Minimum role: VIEWER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
{- "totalAvailableStorageSize": 0,
- "totalUsedStorageSize": 0,
- "usedDatasourceResourceStorageSize": 0,
- "usedUploadedFileStorageSize": 0
}Replace one file with another across ALL content, channels, and other references.
Use case: Files are immutable and referenced by ID. To "update" an image/video that's used in multiple places, upload the new version and use this endpoint to swap all references from the old file to the new one - no manual re-linking needed.
Minimum role: APPROVER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| fileIdToReplace required | string ID of the old file (will be replaced everywhere) |
| sourceFileId required | string ID of the new file (replacement) |
| removeOldFile | boolean Default: false Delete the old file after replacement |
Add tags to files matching a search criteria.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| search | string WBQL filter expression. Operators: |
[- "string"
]Remove tags from files matching a search criteria.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| search | string WBQL filter expression. Operators: |
[- "string"
]Replace all tags on files matching a search criteria.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| search | string WBQL filter expression. Operators: |
[- "string"
]Set validity period on files matching a search criteria.
Minimum role: APPROVER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| search | string WBQL filter expression. Operators: |
| validFrom | integer <int64> Unix timestamp for validity start |
| validTo | integer <int64> Unix timestamp for validity end |
Initialize a chunked file upload session (recommended for all uploads). Returns presigned URLs for direct S3 chunk uploads.
Required for files >200MB. Supports resumable uploads.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignment filter. Format: |
| name required | string File name |
| size required | integer <int64> [ 1 .. 10737418240 ] Total file size in bytes (max 10GB) |
| totalChunks required | integer [ 1 .. 10000 ] Total number of chunks (1-10000) |
| contentType | string MIME type of the file |
| metaData | object Optional metadata JSON |
| parentId | string Parent folder ID |
| tags | Array of strings |
| validFrom | integer <int64> Validity start date (Unix ms) |
| validTo | integer <int64> Validity end date (Unix ms) |
| width | integer Image/video width in pixels |
| height | integer Image/video height in pixels |
| muted | boolean Whether video is muted |
{- "name": "string",
- "size": 1,
- "totalChunks": 1,
- "contentType": "string",
- "metaData": { },
- "parentId": "string",
- "tags": [
- "string"
], - "validFrom": 0,
- "validTo": 0,
- "width": 0,
- "height": 0,
- "muted": true
}{- "uploadId": "string",
- "maxChunkSize": 0,
- "name": "string",
- "size": 0,
- "totalChunks": 0,
- "uploadUrls": {
}
}Complete a chunked upload after all chunks have been uploaded. Creates the final File entity and performs cleanup.
Minimum role: EDITOR with customer selector
| uploadId required | string |
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
{- "id": "string",
- "name": "string",
- "contentType": "string",
- "size": 0,
- "width": 0,
- "height": 0,
- "createDate": 0,
- "creatorEmail": "string",
- "customerId": 0,
- "fileFolderId": "string",
- "fileFolderPath": "string",
- "location": "string",
- "thumbnail": "string",
- "previewPath": "string",
- "crcCheckSum": "string",
- "validFrom": 0,
- "validTo": 0,
- "fileMutabilityType": "DYNAMIC",
- "tags": [
- "string"
], - "metaData": { },
- "muted": true,
- "lastPreviewUploadTime": 0,
- "readOnly": true,
- "creator": {
- "email": "string",
- "name": "string",
- "iconUrl": "string"
}, - "orientation": "string",
- "isGoogleFile": true,
- "isOneDriveFile": true,
- "googleDriveFileDetails": { },
- "oneDriveFileDetails": { },
- "duplicateDetails": { },
- "usageDetails": { },
- "campaignUsageDetails": { },
- "topLevelCampaignUsageDetails": { },
- "messageUsageDetails": { }
}Recover an interrupted upload session. Returns information about uploaded chunks and generates new URLs if needed.
Minimum role: VIEWER with customer selector
| uploadId required | string |
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
{- "uploadId": "string",
- "name": "string",
- "size": 0,
- "totalChunks": 0,
- "uploadedChunks": [
- 0
], - "missingChunks": [
- 0
]
}Cancel a chunked upload session and cleanup resources.
Minimum role: EDITOR with customer selector
| uploadId required | string |
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
Upload a chunk directly to S3 without buffering. Uses raw HTTP request stream to avoid Spring buffering.
Minimum role: EDITOR with customer selector
| sessionId required | string |
| partNumber required | integer |
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
{- "partNumber": 0,
- "eTag": "string",
- "uploadedSize": 0,
- "sessionId": "string",
- "success": true,
- "message": "string"
}Upload a thumbnail image for a file.
Server does NOT auto-generate thumbnails. Client must provide thumbnail for all file types.
Minimum role: EDITOR with customer selector
| fileId required | string |
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
Retrieve a paginated list of file folders.
Minimum role: VIEWER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| page | integer >= 0 Default: 0 Page index (0-based) |
| size | integer [ 1 .. 1000 ] Default: 20 Number of elements per page (max 1000) |
| sort | string Example: sort=name,asc Sort expression. Format:
|
| search | string WBQL filter expression. Operators: |
| select | string Field projection. |
{- "first": true,
- "last": true,
- "number": 0,
- "numberOfElements": 0,
- "totalElements": 0,
- "totalPages": 0,
- "size": 0,
- "content": [
- {
- "id": "string",
- "name": "string",
- "customerId": 0,
- "parentId": "string",
- "fileFolderPath": "string",
- "fileFolderType": 0,
- "syncType": "NOT_SYNCED",
- "isRootSyncedFolder": true,
- "isSyncedGoogleFolder": true,
- "isSyncedOneDriveFolder": true,
- "googleCredentialId": "string",
- "microsoftTenantId": "string",
- "autoSync": true,
- "lastSync": 0,
- "lastChange": 0,
- "lastError": 0,
- "syncErrorCounter": 0,
- "nextRefreshTime": 0,
- "cleanupOutdatedFiles": false,
- "quickFilterId": "string",
- "fileCount": 0,
- "readOnly": true
}
]
}Create a new file folder.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignment filter. Format: |
| parentId required | string Parent folder ID |
| name required | string |
| cleanupOutdatedFiles | boolean Default: false Auto-cleanup files past their validity |
{- "id": "string",
- "name": "string",
- "customerId": 0,
- "parentId": "string",
- "fileFolderPath": "string",
- "fileFolderType": 0,
- "syncType": "NOT_SYNCED",
- "isRootSyncedFolder": true,
- "isSyncedGoogleFolder": true,
- "isSyncedOneDriveFolder": true,
- "googleCredentialId": "string",
- "microsoftTenantId": "string",
- "autoSync": true,
- "lastSync": 0,
- "lastChange": 0,
- "lastError": 0,
- "syncErrorCounter": 0,
- "nextRefreshTime": 0,
- "cleanupOutdatedFiles": false,
- "quickFilterId": "string",
- "fileCount": 0,
- "readOnly": true
}Move multiple files and/or folders to a destination folder.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
object | |
| fileIds | Array of strings |
| folderIds | Array of strings |
{- "targetFolder": {
- "id": "string",
- "name": "string",
- "parentId": "string"
}, - "fileIds": [
- "string"
], - "folderIds": [
- "string"
]
}{- "id": "string",
- "name": "string",
- "customerId": 0,
- "parentId": "string",
- "fileFolderPath": "string",
- "fileFolderType": 0,
- "syncType": "NOT_SYNCED",
- "isRootSyncedFolder": true,
- "isSyncedGoogleFolder": true,
- "isSyncedOneDriveFolder": true,
- "googleCredentialId": "string",
- "microsoftTenantId": "string",
- "autoSync": true,
- "lastSync": 0,
- "lastChange": 0,
- "lastError": 0,
- "syncErrorCounter": 0,
- "nextRefreshTime": 0,
- "cleanupOutdatedFiles": false,
- "quickFilterId": "string",
- "fileCount": 0,
- "readOnly": true
}Delete multiple files and folders in one operation.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
object | |
| fileIds | Array of strings |
| folderIds | Array of strings |
{- "targetFolder": {
- "id": "string",
- "name": "string",
- "parentId": "string"
}, - "fileIds": [
- "string"
], - "folderIds": [
- "string"
]
}Update team assignments for a folder.
Minimum role: OWNER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| fileFolderId required | string |
Array of objects Teams to assign the resource to | |
| removeFromTeamIds | Array of strings Team IDs to remove the resource from |
{- "assignToTeams": [
- {
- "teamId": "string",
- "readOnly": true
}
], - "removeFromTeamIds": [
- "string"
]
}Create a folder that syncs with Google Drive. Requires Google credential to be configured.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignment filter. Format: |
| parentId required | string |
| name required | string |
| googleCredentialId required | string Google credential ID |
| googleFolderId required | string Google Drive folder ID |
| ignoredSubfolderIds | Array of strings Subfolder IDs to ignore during sync |
| syncMode | string (SyncMode) Enum: "DOWNLOAD_ONCE" "REPLACE_ON_CHANGE" "UPDATE_FILE_CONTENT_ON_CHANGE" Sync mode for cloud folders |
| fileTypes required | Array of strings File types to sync (e.g., image/, video/) |
| syncFileRemoval | boolean Whether to remove files when they are deleted from source |
| syncFolderRemoval | boolean Whether to remove folders when they are deleted from source |
| autoSync | boolean Default: true |
{- "googleCredentialId": "string",
- "googleFolderId": "string",
- "ignoredSubfolderIds": [
- "string"
], - "syncMode": "DOWNLOAD_ONCE",
- "fileTypes": [
- "string"
], - "syncFileRemoval": true,
- "syncFolderRemoval": true,
- "autoSync": true
}{- "id": "string",
- "name": "string",
- "customerId": 0,
- "parentId": "string",
- "fileFolderPath": "string",
- "fileFolderType": 0,
- "syncType": "NOT_SYNCED",
- "isRootSyncedFolder": true,
- "isSyncedGoogleFolder": true,
- "isSyncedOneDriveFolder": true,
- "googleCredentialId": "string",
- "microsoftTenantId": "string",
- "autoSync": true,
- "lastSync": 0,
- "lastChange": 0,
- "lastError": 0,
- "syncErrorCounter": 0,
- "nextRefreshTime": 0,
- "cleanupOutdatedFiles": false,
- "quickFilterId": "string",
- "fileCount": 0,
- "readOnly": true
}Create a folder that syncs with Microsoft OneDrive. Requires Microsoft tenant to be configured.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignment filter. Format: |
| parentId required | string |
| name required | string |
| inheritParentTeams | boolean Default: false |
| microsoftTenantId required | string Microsoft tenant ID |
| driveId required | string OneDrive drive ID |
| oneDriveFolderId required | string OneDrive folder ID |
| ignoredSubfolderIds | Array of strings |
| syncMode | string (SyncMode) Enum: "DOWNLOAD_ONCE" "REPLACE_ON_CHANGE" "UPDATE_FILE_CONTENT_ON_CHANGE" Sync mode for cloud folders |
| fileTypes required | Array of strings |
| syncFileRemoval | boolean Whether to remove files when they are deleted from source |
| syncFolderRemoval | boolean Whether to remove folders when they are deleted from source |
| validFromColumnName | string Column name for validity start |
| validToColumnName | string Column name for validity end |
| autoSync | boolean Default: true |
{- "microsoftTenantId": "string",
- "driveId": "string",
- "oneDriveFolderId": "string",
- "ignoredSubfolderIds": [
- "string"
], - "syncMode": "DOWNLOAD_ONCE",
- "fileTypes": [
- "string"
], - "syncFileRemoval": true,
- "syncFolderRemoval": true,
- "validFromColumnName": "string",
- "validToColumnName": "string",
- "autoSync": true
}{- "id": "string",
- "name": "string",
- "customerId": 0,
- "parentId": "string",
- "fileFolderPath": "string",
- "fileFolderType": 0,
- "syncType": "NOT_SYNCED",
- "isRootSyncedFolder": true,
- "isSyncedGoogleFolder": true,
- "isSyncedOneDriveFolder": true,
- "googleCredentialId": "string",
- "microsoftTenantId": "string",
- "autoSync": true,
- "lastSync": 0,
- "lastChange": 0,
- "lastError": 0,
- "syncErrorCounter": 0,
- "nextRefreshTime": 0,
- "cleanupOutdatedFiles": false,
- "quickFilterId": "string",
- "fileCount": 0,
- "readOnly": true
}Update settings for a Google Drive synced folder.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| folderId required | string |
| syncMode | string (SyncMode) Enum: "DOWNLOAD_ONCE" "REPLACE_ON_CHANGE" "UPDATE_FILE_CONTENT_ON_CHANGE" Sync mode for cloud folders |
| fileTypes | Array of strings |
| syncFileRemoval | boolean Whether to remove files when they are deleted from source |
| syncFolderRemoval | boolean Whether to remove folders when they are deleted from source |
{- "syncMode": "DOWNLOAD_ONCE",
- "fileTypes": [
- "string"
], - "syncFileRemoval": true,
- "syncFolderRemoval": true
}Update settings for a OneDrive synced folder.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| folderId required | string |
| syncMode | string (SyncMode) Enum: "DOWNLOAD_ONCE" "REPLACE_ON_CHANGE" "UPDATE_FILE_CONTENT_ON_CHANGE" Sync mode for cloud folders |
| fileTypes | Array of strings |
| syncFileRemoval | boolean Whether to remove files when they are deleted from source |
| syncFolderRemoval | boolean Whether to remove folders when they are deleted from source |
{- "syncMode": "DOWNLOAD_ONCE",
- "fileTypes": [
- "string"
], - "syncFileRemoval": true,
- "syncFolderRemoval": true
}Create a dynamic folder based on quick filter criteria. Contents are automatically populated based on filter.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignment filter. Format: |
| parentId required | string |
| name required | string |
| quickFilterId required | string |
{- "id": "string",
- "name": "string",
- "customerId": 0,
- "parentId": "string",
- "fileFolderPath": "string",
- "fileFolderType": 0,
- "syncType": "NOT_SYNCED",
- "isRootSyncedFolder": true,
- "isSyncedGoogleFolder": true,
- "isSyncedOneDriveFolder": true,
- "googleCredentialId": "string",
- "microsoftTenantId": "string",
- "autoSync": true,
- "lastSync": 0,
- "lastChange": 0,
- "lastError": 0,
- "syncErrorCounter": 0,
- "nextRefreshTime": 0,
- "cleanupOutdatedFiles": false,
- "quickFilterId": "string",
- "fileCount": 0,
- "readOnly": true
}