Wallboard API - File Management (2.0)
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.
Chunked Upload Flow
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:
- Google Drive: Requires Google credential setup
- Microsoft OneDrive: Requires Microsoft tenant setup
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.
List files
Retrieve a paginated list of files.
Minimum role: VIEWER with customer selector
Authorizations:
query Parameters
| 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. |
Responses
Response samples
- 200
{- "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 file
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]).
Authorizations:
query Parameters
| 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 |
Request Body schema: multipart/form-data
| 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 |
Responses
Response samples
- 200
[- {
- "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
Update file properties including name, validity period, tags, and metadata.
Use this endpoint for: renaming, setting validity (validFrom/validTo), updating tags.
Minimum role: EDITOR
Authorizations:
path Parameters
| fileId required | string |
Request Body schema: application/json
| 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 |
Responses
Request samples
- Payload
{- "name": "string",
- "validFrom": 0,
- "validTo": 0,
- "tags": [
- "string"
], - "metaData": { },
- "muted": true
}Response samples
- 200
{- "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 team assignments
Update team assignments for a file.
Minimum role: OWNER with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| fileId required | string |
Request Body schema: application/json
Array of objects Teams to assign the resource to | |
| removeFromTeamIds | Array of strings Team IDs to remove the resource from |
Responses
Request samples
- Payload
{- "assignToTeams": [
- {
- "teamId": "string",
- "readOnly": true
}
], - "removeFromTeamIds": [
- "string"
]
}Get file and folder summary
Retrieve combined view of files and folders. Useful for file browser UI implementations.
Minimum role: VIEWER with customer selector
Authorizations:
query Parameters
| 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. |
Responses
Response samples
- 200
{- "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 folder breadcrumb
Get the folder hierarchy path for navigation breadcrumbs.
Minimum role: VIEWER with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| folderId | string Folder ID to get breadcrumb for |
Responses
Response samples
- 200
{- "fileFolders": [
- {
- "id": "string",
- "name": "string",
- "type": "REGULAR",
- "readOnly": true
}
]
}Get storage statistics
Get storage usage statistics for the customer.
Returns: available limit, total used, datasource usage, and uploaded file size.
Minimum role: VIEWER with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
Responses
Response samples
- 200
{- "totalAvailableStorageSize": 0,
- "totalUsedStorageSize": 0,
- "usedDatasourceResourceStorageSize": 0,
- "usedUploadedFileStorageSize": 0
}Replace file across all usages
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
Authorizations:
query Parameters
| 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 |
Responses
Add tags to multiple files
Add tags to files matching a search criteria.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| search | string WBQL filter expression. Operators: |
Request Body schema: application/json
Responses
Request samples
- Payload
[- "string"
]Remove tags from multiple files
Remove tags from files matching a search criteria.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| search | string WBQL filter expression. Operators: |
Request Body schema: application/json
Responses
Request samples
- Payload
[- "string"
]Set tags on multiple files
Replace all tags on files matching a search criteria.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| search | string WBQL filter expression. Operators: |
Request Body schema: application/json
Responses
Request samples
- Payload
[- "string"
]Set validity on multiple files
Set validity period on files matching a search criteria.
Minimum role: APPROVER with customer selector
Authorizations:
query Parameters
| 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 |
Responses
Initialize chunked upload
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
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignment filter. Format: |
Request Body schema: application/json
| 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 |
Responses
Request samples
- Payload
{- "name": "string",
- "size": 1,
- "totalChunks": 1,
- "contentType": "string",
- "metaData": { },
- "parentId": "string",
- "tags": [
- "string"
], - "validFrom": 0,
- "validTo": 0,
- "width": 0,
- "height": 0,
- "muted": true
}Response samples
- 200
{- "uploadId": "string",
- "maxChunkSize": 0,
- "name": "string",
- "size": 0,
- "totalChunks": 0,
- "uploadUrls": {
}
}Complete chunked upload
Complete a chunked upload after all chunks have been uploaded. Creates the final File entity and performs cleanup.
Minimum role: EDITOR with customer selector
Authorizations:
path Parameters
| uploadId required | string |
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
Responses
Response samples
- 200
{- "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 chunked upload
Recover an interrupted upload session. Returns information about uploaded chunks and generates new URLs if needed.
Minimum role: VIEWER with customer selector
Authorizations:
path Parameters
| uploadId required | string |
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
Responses
Response samples
- 200
{- "uploadId": "string",
- "name": "string",
- "size": 0,
- "totalChunks": 0,
- "uploadedChunks": [
- 0
], - "missingChunks": [
- 0
]
}Cancel chunked upload
Cancel a chunked upload session and cleanup resources.
Minimum role: EDITOR with customer selector
Authorizations:
path Parameters
| uploadId required | string |
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
Responses
Upload chunk
Upload a chunk directly to S3 without buffering. Uses raw HTTP request stream to avoid Spring buffering.
Minimum role: EDITOR with customer selector
Authorizations:
path Parameters
| sessionId required | string |
| partNumber required | integer |
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
Request Body schema: application/octet-stream
Responses
Response samples
- 200
{- "partNumber": 0,
- "eTag": "string",
- "uploadedSize": 0,
- "sessionId": "string",
- "success": true,
- "message": "string"
}Upload file thumbnail
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
Authorizations:
path Parameters
| fileId required | string |
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
Request Body schema: image/*
Responses
List file folders
Retrieve a paginated list of file folders.
Minimum role: VIEWER with customer selector
Authorizations:
query Parameters
| 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. |
Responses
Response samples
- 200
{- "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 file folder
Create a new file folder.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| 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 |
Responses
Response samples
- 200
{- "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 files/folders to folder
Move multiple files and/or folders to a destination folder.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
Request Body schema: application/json
object | |
| fileIds | Array of strings |
| folderIds | Array of strings |
Responses
Request samples
- Payload
{- "targetFolder": {
- "id": "string",
- "name": "string",
- "parentId": "string"
}, - "fileIds": [
- "string"
], - "folderIds": [
- "string"
]
}Response samples
- 200
{- "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/folders
Delete multiple files and folders in one operation.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
Request Body schema: application/json
object | |
| fileIds | Array of strings |
| folderIds | Array of strings |
Responses
Request samples
- Payload
{- "targetFolder": {
- "id": "string",
- "name": "string",
- "parentId": "string"
}, - "fileIds": [
- "string"
], - "folderIds": [
- "string"
]
}Update folder team assignments
Update team assignments for a folder.
Minimum role: OWNER with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| fileFolderId required | string |
Request Body schema: application/json
Array of objects Teams to assign the resource to | |
| removeFromTeamIds | Array of strings Team IDs to remove the resource from |
Responses
Request samples
- Payload
{- "assignToTeams": [
- {
- "teamId": "string",
- "readOnly": true
}
], - "removeFromTeamIds": [
- "string"
]
}Create Google Drive synced folder
Create a folder that syncs with Google Drive. Requires Google credential to be configured.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| 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 |
Request Body schema: application/json
| 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 |
Responses
Request samples
- Payload
{- "googleCredentialId": "string",
- "googleFolderId": "string",
- "ignoredSubfolderIds": [
- "string"
], - "syncMode": "DOWNLOAD_ONCE",
- "fileTypes": [
- "string"
], - "syncFileRemoval": true,
- "syncFolderRemoval": true,
- "autoSync": true
}Response samples
- 200
{- "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 OneDrive synced folder
Create a folder that syncs with Microsoft OneDrive. Requires Microsoft tenant to be configured.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| 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 |
Request Body schema: application/json
| 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 |
Responses
Request samples
- Payload
{- "microsoftTenantId": "string",
- "driveId": "string",
- "oneDriveFolderId": "string",
- "ignoredSubfolderIds": [
- "string"
], - "syncMode": "DOWNLOAD_ONCE",
- "fileTypes": [
- "string"
], - "syncFileRemoval": true,
- "syncFolderRemoval": true,
- "validFromColumnName": "string",
- "validToColumnName": "string",
- "autoSync": true
}Response samples
- 200
{- "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 Google Drive synced folder
Update settings for a Google Drive synced folder.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| folderId required | string |
Request Body schema: application/json
| 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 |
Responses
Request samples
- Payload
{- "syncMode": "DOWNLOAD_ONCE",
- "fileTypes": [
- "string"
], - "syncFileRemoval": true,
- "syncFolderRemoval": true
}Update OneDrive synced folder
Update settings for a OneDrive synced folder.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| folderId required | string |
Request Body schema: application/json
| 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 |
Responses
Request samples
- Payload
{- "syncMode": "DOWNLOAD_ONCE",
- "fileTypes": [
- "string"
], - "syncFileRemoval": true,
- "syncFolderRemoval": true
}Create filtered folder
Create a dynamic folder based on quick filter criteria. Contents are automatically populated based on filter.
Minimum role: EDITOR with customer selector
Authorizations:
query Parameters
| 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 |
Responses
Response samples
- 200
{- "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
}