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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| page | integer >= 0 Default: 0 Page index (0-based) |
| size | integer >= 1 Default: 20 Requested page size; server limits and endpoint overrides apply. |
| 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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignments for a newly created resource. Comma-separated teamId:readOnly pairs. |
| 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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| 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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| 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 Default: 20 Requested page size; server limits and endpoint overrides apply. |
| 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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| 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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
{- "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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| 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 |
| teamAssignmentMode | string Default: "MERGE" Enum: "MERGE" "OVERWRITE" "KEEP_TARGET" How team assignments are handled when replacing file references. |
Add tags to files matching a search criteria.
Minimum role: EDITOR with customer selector
| customerId | integer <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| search | string WBQL filter expression. Operators: |
[- "string"
]Remove tags from files matching a search criteria.
Minimum role: EDITOR with customer selector
| customerId | integer <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| search | string WBQL filter expression. Operators: |
[- "string"
]Replace all tags on files matching a search criteria.
Minimum role: EDITOR with customer selector
| customerId | integer <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| search | string WBQL filter expression. Operators: |
[- "string"
]Set validity period on files matching a search criteria.
Minimum role: APPROVER with customer selector
| customerId | integer <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| 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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignments for a newly created resource. Comma-separated teamId:readOnly pairs. |
| 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 |
| crcChecksum | string |
{- "name": "string",
- "size": 1,
- "totalChunks": 1,
- "contentType": "string",
- "metaData": { },
- "parentId": "string",
- "tags": [
- "string"
], - "validFrom": 0,
- "validTo": 0,
- "width": 0,
- "height": 0,
- "muted": true,
- "crcChecksum": "string"
}{- "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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
{- "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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
{- "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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
{- "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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
Retrieve a paginated list of file folders.
Minimum role: VIEWER with customer selector
| customerId | integer <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| page | integer >= 0 Default: 0 Page index (0-based) |
| size | integer >= 1 Default: 20 Requested page size; server limits and endpoint overrides apply. |
| 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,
- "canvaCredentialId": "string",
- "firstFileThumbnail": "string",
- "isSyncedCanvaFolder": true
}
]
}Create a new file folder.
Minimum role: EDITOR with customer selector
| customerId | integer <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignments for a newly created resource. Comma-separated teamId:readOnly pairs. |
| 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,
- "canvaCredentialId": "string",
- "firstFileThumbnail": "string",
- "isSyncedCanvaFolder": true
}Move multiple files and/or folders to a destination folder.
Minimum role: EDITOR with customer selector
| customerId | integer <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
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,
- "canvaCredentialId": "string",
- "firstFileThumbnail": "string",
- "isSyncedCanvaFolder": true
}Delete multiple files and folders in one operation.
Minimum role: EDITOR with customer selector
| customerId | integer <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| removeFromPlaylists | boolean Default: false Also remove file/folder references from playlists. |
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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| 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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignments for a newly created resource. Comma-separated teamId:readOnly pairs. |
| 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,
- "canvaCredentialId": "string",
- "firstFileThumbnail": "string",
- "isSyncedCanvaFolder": true
}Create a folder that syncs with Microsoft OneDrive. Requires Microsoft tenant to be configured.
Minimum role: EDITOR with customer selector
| customerId | integer <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignments for a newly created resource. Comma-separated teamId:readOnly pairs. |
| 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,
- "canvaCredentialId": "string",
- "firstFileThumbnail": "string",
- "isSyncedCanvaFolder": true
}Update settings for a Google Drive synced folder.
Minimum role: EDITOR with customer selector
| customerId | integer <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| 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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| 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 <int64> Select a customer/tenant within the caller's access. When this parameter is optional, omitting it uses the caller's scope: global for ADMIN, owned member customers for a network owner, and the own customer for other callers. Use an explicit customerId for customer-specific operations. Requiredness is declared per endpoint. |
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignments for a newly created resource. Comma-separated teamId:readOnly pairs. |
| 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,
- "canvaCredentialId": "string",
- "firstFileThumbnail": "string",
- "isSyncedCanvaFolder": true
}