Skip to main content

Wallboard API - Quick Filters (2.0)

API Support: [email protected]

Quick filters (saved searches) for the Wallboard digital signage platform.

Overview

Quick filters are saved search/filter criteria that can be applied to different resource types. They enable users to quickly filter and find resources based on predefined criteria.

Supported Entity Types

Type Description Use Case
FILE Media files (images, videos, audio) Filter files by name, tags, validity
CONTENT Content designs Filter content by name, tags, type
DEVICE Display devices Filter devices by status, group, location

Key Concepts

Concept Description
Quick Filter Saved search criteria for fast resource filtering
Filtered Entity Type Resource type the filter applies to (FILE, CONTENT, DEVICE)
Criteria WBQL search expression and additional filter parameters
Listed Whether the filter appears in the quick filter dropdown

Usage

Quick filters can be used in:

  • File browser - Filter files in the media library
  • Content list - Filter content in the content management view
  • Device list - Filter devices in the device management view
  • Filtered folders - Dynamic folders that show files matching a quick filter

quick filter

Saved search/filter management

List quick filters (V2)

Retrieve saved quick filters with enhanced response.

Minimum role: VIEWER with customer selector

Supports field selection via select parameter.

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

Request samples

curl -X GET 'https://{server}/api/v2/quickFilter/?page=0&size=20' \
  -H 'Authorization: Bearer <token>'

Response samples

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

List quick filters

Retrieve paginated quick filters.

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

Responses

Response samples

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

Create quick filter

Create a new saved 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}

Request Body schema: application/json
required
name
required
string

Display name

filteredEntityType
required
string (FilteredEntityType)
Enum: "FILE" "CONTENT" "DEVICE"

Entity type that the quick filter applies to.

Type Description
FILE Media files in the file library
CONTENT Content designs
DEVICE Display devices
listed
boolean
Default: false

Show in filter dropdown

custom
boolean
Default: false

Mark as custom filter

object (QuickFilterCriteria)

Filter criteria. Structure depends on filteredEntityType.

The type discriminator field determines which properties are applicable. Common properties work for all types, while other properties are type-specific.

Type Folder Field Type-Specific Properties
FILE folderId validFileOnly, undefinedValidityValid
CONTENT groupId -
DEVICE deviceGroupId -
object (TeamAccessList)

Responses

Request samples

Content type
application/json
{
  • "name": "Online Devices",
  • "filteredEntityType": "DEVICE",
  • "listed": true,
  • "criteria": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "filteredEntityType": "FILE",
  • "listed": true,
  • "custom": true,
  • "criteria": {
    },
  • "customerId": 0,
  • "readOnly": true,
  • "teamAccessList": {
    },
  • "campaignUsageDetails": {
    },
  • "messageUsageDetails": {
    }
}

Update quick filter

Update an existing quick filter.

Minimum role: EDITOR

Authorizations:
bearer
query Parameters
quickFilterId
required
string

Quick filter ID to update

Request Body schema: application/json
required
name
string
listed
boolean
custom
boolean
object (QuickFilterCriteria)

Filter criteria. Structure depends on filteredEntityType.

The type discriminator field determines which properties are applicable. Common properties work for all types, while other properties are type-specific.

Type Folder Field Type-Specific Properties
FILE folderId validFileOnly, undefinedValidityValid
CONTENT groupId -
DEVICE deviceGroupId -
object (TeamAccessList)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "listed": true,
  • "custom": true,
  • "criteria": {
    },
  • "teamAccessList": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "filteredEntityType": "FILE",
  • "listed": true,
  • "custom": true,
  • "criteria": {
    },
  • "customerId": 0,
  • "readOnly": true,
  • "teamAccessList": {
    },
  • "campaignUsageDetails": {
    },
  • "messageUsageDetails": {
    }
}

Delete quick filter

Delete a quick filter.

Minimum role: EDITOR

Authorizations:
bearer
query Parameters
quickFilterId
required
string

Quick filter ID to delete

Responses

Get all quick filters

Retrieve all quick filters (non-paginated).

Minimum role: VIEWER with customer selector

Note: Use paginated endpoints for large datasets.

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

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update team assignments

Update team assignments for a quick filter.

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)
quickFilterId
required
string

Quick filter ID

Request Body schema: application/json
required
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": [
    ]
}