Skip to main content

Wallboard API - File Management (2.0)

API Support: [email protected]

File and folder management endpoints for the Wallboard digital signage platform.

Overview

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.

Key Concepts

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)

Supported File Types

Type Extensions
Images PNG, JPG, JPEG, GIF, SVG, WebP
Videos MP4, WebM, MOV
Audio MP3, WAV, OGG
Fonts TTF, OTF, WOFF, WOFF2
Documents PDF
Data JSON

File Upload

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}

Cloud Storage Sync

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.

Filtering

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.

file

File management

List files

Retrieve a paginated list of files.

Minimum role: VIEWER with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
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: field,direction

  • Directions: asc, desc
  • Multiple sorts: sort=name,asc&sort=lastActivity,desc
  • Nested fields: sort=content.name,asc
search
string

WBQL filter expression. Operators: : (contains), = (equals), , , ^ (starts with), >, , <, , (in set). Logic: , (AND), | (OR). Special: NULL, !NULL. Example: name:lobby,deviceStatus=ONLINE

select
string

Field projection. * = all primitives, field,field = specific, relation(fields) = nested. Example: select=*,customer(id,name)

Responses

Response samples

Content type
application/json
{
  • "first": true,
  • "last": true,
  • "number": 0,
  • "numberOfElements": 0,
  • "totalElements": 0,
  • "totalPages": 0,
  • "size": 0,
  • "content": [
    ]
}

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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
teamIds
string
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false

Team assignment filter. Format: {teamId}:{readOnly},{teamId}:{readOnly}

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 files array.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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:
bearer
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

Content type
application/json
{
  • "name": "string",
  • "validFrom": 0,
  • "validTo": 0,
  • "tags": [
    ],
  • "metaData": { },
  • "muted": true
}

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "metaData": { },
  • "muted": true,
  • "lastPreviewUploadTime": 0,
  • "readOnly": true,
  • "creator": {
    },
  • "orientation": "string",
  • "isGoogleFile": true,
  • "isOneDriveFile": true,
  • "googleDriveFileDetails": { },
  • "oneDriveFileDetails": { },
  • "duplicateDetails": { },
  • "usageDetails": { },
  • "campaignUsageDetails": { },
  • "topLevelCampaignUsageDetails": { },
  • "messageUsageDetails": { }
}

Delete file

Delete a file from the media library.

Minimum role: EDITOR

Authorizations:
bearer
path Parameters
fileId
required
string

Responses

Update file team assignments

Update team assignments for a file.

Minimum role: OWNER with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
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

Content type
application/json
{
  • "assignToTeams": [
    ],
  • "removeFromTeamIds": [
    ]
}

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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
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: field,direction

  • Directions: asc, desc
  • Multiple sorts: sort=name,asc&sort=lastActivity,desc
  • Nested fields: sort=content.name,asc
select
string

Field projection. * = all primitives, field,field = specific, relation(fields) = nested. Example: select=*,customer(id,name)

Responses

Response samples

Content type
application/json
{
  • "first": true,
  • "last": true,
  • "number": 0,
  • "numberOfElements": 0,
  • "totalElements": 0,
  • "totalPages": 0,
  • "size": 0,
  • "content": [
    ]
}

Get folder breadcrumb

Get the folder hierarchy path for navigation breadcrumbs.

Minimum role: VIEWER with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
folderId
string

Folder ID to get breadcrumb for

Responses

Response samples

Content type
application/json
{
  • "fileFolders": [
    ]
}

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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)

Responses

Response samples

Content type
application/json
{
  • "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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
search
string

WBQL filter expression. Operators: : (contains), = (equals), , , ^ (starts with), >, , <, , (in set). Logic: , (AND), | (OR). Special: NULL, !NULL. Example: name:lobby,deviceStatus=ONLINE

Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Remove tags from multiple files

Remove tags from files matching a search criteria.

Minimum role: EDITOR with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
search
string

WBQL filter expression. Operators: : (contains), = (equals), , , ^ (starts with), >, , <, , (in set). Logic: , (AND), | (OR). Special: NULL, !NULL. Example: name:lobby,deviceStatus=ONLINE

Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Set tags on multiple files

Replace all tags on files matching a search criteria.

Minimum role: EDITOR with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
search
string

WBQL filter expression. Operators: : (contains), = (equals), , , ^ (starts with), >, , <, , (in set). Logic: , (AND), | (OR). Special: NULL, !NULL. Example: name:lobby,deviceStatus=ONLINE

Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Set validity on multiple files

Set validity period on files matching a search criteria.

Minimum role: APPROVER with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
search
string

WBQL filter expression. Operators: : (contains), = (equals), , , ^ (starts with), >, , <, , (in set). Logic: , (AND), | (OR). Special: NULL, !NULL. Example: name:lobby,deviceStatus=ONLINE

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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
teamIds
string
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false

Team assignment filter. Format: {teamId}:{readOnly},{teamId}:{readOnly}

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

Content type
application/json
{
  • "name": "string",
  • "size": 1,
  • "totalChunks": 1,
  • "contentType": "string",
  • "metaData": { },
  • "parentId": "string",
  • "tags": [
    ],
  • "validFrom": 0,
  • "validTo": 0,
  • "width": 0,
  • "height": 0,
  • "muted": true
}

Response samples

Content type
application/json
{}

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:
bearer
path Parameters
uploadId
required
string
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)

Responses

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "metaData": { },
  • "muted": true,
  • "lastPreviewUploadTime": 0,
  • "readOnly": true,
  • "creator": {
    },
  • "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:
bearer
path Parameters
uploadId
required
string
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)

Responses

Response samples

Content type
application/json
{
  • "uploadId": "string",
  • "name": "string",
  • "size": 0,
  • "totalChunks": 0,
  • "uploadedChunks": [
    ],
  • "missingChunks": [
    ]
}

Cancel chunked upload

Cancel a chunked upload session and cleanup resources.

Minimum role: EDITOR with customer selector

Authorizations:
bearer
path Parameters
uploadId
required
string
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)

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:
bearer
path Parameters
sessionId
required
string
partNumber
required
integer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
Request Body schema: application/octet-stream
string <binary>

Responses

Response samples

Content type
application/json
{
  • "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:
bearer
path Parameters
fileId
required
string
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
Request Body schema: image/*
string <binary>

Responses

file folder

Folder management

List file folders

Retrieve a paginated list of file folders.

Minimum role: VIEWER with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
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: field,direction

  • Directions: asc, desc
  • Multiple sorts: sort=name,asc&sort=lastActivity,desc
  • Nested fields: sort=content.name,asc
search
string

WBQL filter expression. Operators: : (contains), = (equals), , , ^ (starts with), >, , <, , (in set). Logic: , (AND), | (OR). Special: NULL, !NULL. Example: name:lobby,deviceStatus=ONLINE

select
string

Field projection. * = all primitives, field,field = specific, relation(fields) = nested. Example: select=*,customer(id,name)

Responses

Response samples

Content type
application/json
{
  • "first": true,
  • "last": true,
  • "number": 0,
  • "numberOfElements": 0,
  • "totalElements": 0,
  • "totalPages": 0,
  • "size": 0,
  • "content": [
    ]
}

Create file folder

Create a new file folder.

Minimum role: EDITOR with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
teamIds
string
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false

Team assignment filter. Format: {teamId}:{readOnly},{teamId}:{readOnly}

parentId
required
string

Parent folder ID

name
required
string
cleanupOutdatedFiles
boolean
Default: false

Auto-cleanup files past their validity

Responses

Response samples

Content type
application/json
{
  • "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 file folder

Delete a file folder and its contents.

Minimum role: EDITOR

Authorizations:
bearer
path Parameters
folderId
required
string

Responses

Rename file folder

Rename an existing file folder.

Minimum role: EDITOR

Authorizations:
bearer
query Parameters
folderId
required
string
newName
required
string

Responses

Move files/folders to folder

Move multiple files and/or folders to a destination folder.

Minimum role: EDITOR with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
Request Body schema: application/json
object
fileIds
Array of strings
folderIds
Array of strings

Responses

Request samples

Content type
application/json
{
  • "targetFolder": {
    },
  • "fileIds": [
    ],
  • "folderIds": [
    ]
}

Response samples

Content type
application/json
{
  • "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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
Request Body schema: application/json
object
fileIds
Array of strings
folderIds
Array of strings

Responses

Request samples

Content type
application/json
{
  • "targetFolder": {
    },
  • "fileIds": [
    ],
  • "folderIds": [
    ]
}

Update folder team assignments

Update team assignments for a folder.

Minimum role: OWNER with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
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

Content type
application/json
{
  • "assignToTeams": [
    ],
  • "removeFromTeamIds": [
    ]
}

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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
teamIds
string
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false

Team assignment filter. Format: {teamId}:{readOnly},{teamId}:{readOnly}

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

Content type
application/json
{
  • "googleCredentialId": "string",
  • "googleFolderId": "string",
  • "ignoredSubfolderIds": [
    ],
  • "syncMode": "DOWNLOAD_ONCE",
  • "fileTypes": [
    ],
  • "syncFileRemoval": true,
  • "syncFolderRemoval": true,
  • "autoSync": true
}

Response samples

Content type
application/json
{
  • "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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
teamIds
string
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false

Team assignment filter. Format: {teamId}:{readOnly},{teamId}:{readOnly}

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

Content type
application/json
{
  • "microsoftTenantId": "string",
  • "driveId": "string",
  • "oneDriveFolderId": "string",
  • "ignoredSubfolderIds": [
    ],
  • "syncMode": "DOWNLOAD_ONCE",
  • "fileTypes": [
    ],
  • "syncFileRemoval": true,
  • "syncFolderRemoval": true,
  • "validFromColumnName": "string",
  • "validToColumnName": "string",
  • "autoSync": true
}

Response samples

Content type
application/json
{
  • "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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
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

Content type
application/json
{
  • "syncMode": "DOWNLOAD_ONCE",
  • "fileTypes": [
    ],
  • "syncFileRemoval": true,
  • "syncFolderRemoval": true
}

Update OneDrive synced folder

Update settings for a OneDrive synced folder.

Minimum role: EDITOR with customer selector

Authorizations:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
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

Content type
application/json
{
  • "syncMode": "DOWNLOAD_ONCE",
  • "fileTypes": [
    ],
  • "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:
bearer
query Parameters
customerId
integer

Customer/tenant ID for multi-tenant filtering.

  • Required for ADMIN users to select tenant context
  • Non-admin users can omit (defaults to their tenant)
  • Set to -1 to query all tenants (ADMIN only)
teamIds
string
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false

Team assignment filter. Format: {teamId}:{readOnly},{teamId}:{readOnly}

parentId
required
string
name
required
string
quickFilterId
required
string

Responses

Response samples

Content type
application/json
{
  • "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
}

Trigger folder sync

Manually trigger synchronization for a synced folder.

Minimum role: EDITOR

Authorizations:
bearer
query Parameters
folderId
required
string

Responses

Set folder auto-sync

Enable or disable automatic synchronization.

Minimum role: EDITOR

Authorizations:
bearer
query Parameters
folderId
required
string
autoSync
required
boolean

Responses

Set folder cleanup mode

Enable or disable automatic cleanup of outdated files.

Minimum role: APPROVER

Authorizations:
bearer
query Parameters
folderId
required
string
cleanupOutdatedFiles
required
boolean

Responses

Set ignored subfolders

Set which subfolders to ignore during sync.

Minimum role: EDITOR

Authorizations:
bearer
query Parameters
folderId
required
string
Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Detach Google credential

Remove Google Drive sync from a folder.

Minimum role: EDITOR

Authorizations:
bearer
query Parameters
folderId
required
string

Responses

Detach Microsoft tenant

Remove OneDrive sync from a folder.

Minimum role: EDITOR

Authorizations:
bearer
query Parameters
folderId
required
string

Responses