Administrative endpoints for the Wallboard digital signage platform.
Administration endpoints provide customer/tenant management, UI customization, system statistics, activity logs, and tag management.
| Concept | Description |
|---|---|
| Customer | Tenant organization in multi-tenant system |
| Network Owner | Subreseller managing multiple customers |
| UI Profile | User interface customization (hide/show menu items, features) |
| License | Device activation entitlement |
| Statistics | System and network usage metrics |
| Tags | Labels for organizing content, devices, and other resources |
| Profile | Description |
|---|---|
BASIC |
Basic feature set |
ADVANCED |
Advanced features enabled |
PROFESSIONAL |
Professional tier features |
INHERIT |
Inherit from parent (network owner) |
| Type | Description |
|---|---|
BASIC |
Lite tier with basic features |
PROFESSIONAL |
Professional tier |
DBA |
Broadcaster (legacy, not used for new orders) |
ENTERPRISE |
Premium tier with all features |
VIDEO_WALL |
Video wall support |
| Tier | Description |
|---|---|
STARTER |
Entry-level tier |
BUSINESS |
Business tier |
ENTERPRISE |
Enterprise tier |
Retrieve a paginated list of customers. Regular users see only their customer. Network owners see their network members. ADMINs see all customers.
Minimum role: DEVICE_USER with customer selector
| 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. |
| date | integer <int64> Filter by date timestamp (for billing/reporting calculations) |
{- "first": true,
- "last": true,
- "number": 0,
- "numberOfElements": 0,
- "totalElements": 0,
- "totalPages": 0,
- "size": 0,
- "content": [
- {
- "id": 0,
- "name": "string",
- "comment": "string",
- "country": "string",
- "location": "string",
- "type": "string",
- "profile": "BASIC",
- "vertical": "BANKING_AND_FINANCE",
- "licenseType": "BASIC",
- "licenseTier": "STARTER",
- "freeLicenses": 0,
- "browserSessionLicenses": 0,
- "deviceSessionLimit": 0,
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "restricted": true,
- "contentDesignerEmail": "string",
- "supportEmail": "string",
- "needsToBeInvoiced": true,
- "storageSize": 0,
- "currentTotalCustomerStorageSize": 0,
- "currentDatasourceStorageSize": 0,
- "currentCustomerFilesStorageSize": 0,
- "hiddenUIElementRules": { },
- "customerMetadata": { },
- "uiVersion": "string",
- "force2FA": true,
- "slaveId": "string",
- "samlIdentifier": "string",
- "enableAutomaticDistributionToDms": true,
- "userFullAccessIfNotInTeam": true,
- "accessResourcesWithoutTeam": true,
- "isDeviceAndGroupCreationEnabledInRootForTeamUsers": true,
- "isContentAndGroupCreationEnabledInRootForTeamUsers": true,
- "isFileAndFolderCreationEnabledInRootForTeamUsers": true,
- "brandingGuideline": { },
- "ownerSubresellerId": 0,
- "activeLicenses": 0,
- "totalLicenses": 0,
- "lastActivity": "2019-08-24T14:15:22Z",
- "lastDeviceActivity": "2019-08-24T14:15:22Z",
- "totalUserLoginCount": 0,
- "totalUserPresenceTime": 0,
- "ownerSubresellerName": "string",
- "subreseller": {
- "id": 0
}, - "owner": {
- "id": 0
}
}
]
}Create a new customer/tenant.
Minimum role: OWNER
| name required | string |
| comment | string |
| country | string |
| location | string |
| type | string |
| profile | string (CustomerProfile) Enum: "BASIC" "ADVANCED" "PROFESSIONAL" "INHERIT" Customer profile/feature tier |
| vertical | string (CustomerVertical) Enum: "BANKING_AND_FINANCE" "EMPLOYEE_CORPORATE_COMMUNICATION" "CORPORATE_MEETING_ROOMS" "DIGITAL_SIGNAGE" "EDUCATION_COLLAGE_AND_UNIVERSITIES" "CONFERENCE_AND_CONVENTION_CENTERS" "GOVERNMENT" "HEALTHCARE" "HOSPITALITY" "QUICK_SERVICE_RESTAURANT" "RETAIL" "SPORTS" "PETROL_STATIONS" "TRANSPORTATION" "ENTERTAINMENT" "WAYFINDING_AND_DIRECTORIES" "OTHER" "FACTORY_PRODUCEMENT" "BUSINESS_PARTNER" "RESELLER_PARTNER" "TECHNOLOGY_PARTNER" Industry vertical |
| licenseType | string (LicenseType) Enum: "BASIC" "PROFESSIONAL" "DBA" "ENTERPRISE" "VIDEO_WALL" Device license type. Note: DBA (Broadcaster) is legacy and not used for new license orders. |
| licenseTier | string (CustomerLicenseTier) Enum: "STARTER" "BUSINESS" "ENTERPRISE" Customer license tier |
| freeLicenses | integer <int64> Default: 0 |
| browserSessionLicenses | integer <int64> Default: 0 |
| deviceSessionLimit | integer <int64> Default: 0 |
| expirationDate | string <date-time> |
| restricted | boolean Default: false |
| contentDesignerEmail | string |
| supportEmail | string |
| needsToBeInvoiced | boolean Default: true |
| storageSize | integer <int64> |
| hiddenUIElementRules | object |
| customerMetadata | object |
| enableAutomaticDistributionToDms | boolean Default: false |
| userFullAccessIfNotInTeam | boolean Default: true |
| accessResourcesWithoutTeam | boolean Default: true |
| force2FA | boolean Default: false |
| brandingGuideline | object |
| slaveId | string |
| createAsSubreseller | boolean Default: false |
| ownerSubresellerId | integer <int64> |
| uiVersion | string Default: "V1" Enum: "V1" "V2" UI version |
| loopDisplayerVersion | string Enum: "LEGACY_LOOP" "LEGACY_CONTENT" "V2" Default displayer version for playlists |
| contentDisplayerVersion | string Enum: "LEGACY_LOOP" "LEGACY_CONTENT" "V2" Default displayer version for content |
| deviceUpdatePolicy | string Default: "FAST" Enum: "IMMEDIATE" "FAST" "SLOW" "CUSTOM" Device update policy |
| deviceUpdateDelayStartDays | integer Days to delay device updates (start) |
| deviceUpdateDelayEndDays | integer Days to delay device updates (end) |
| vistarNetworkId | string Vistar network ID for programmatic advertising |
| vistarApiKey | string Vistar API key |
{- "name": "string",
- "comment": "string",
- "country": "string",
- "location": "string",
- "type": "string",
- "profile": "BASIC",
- "vertical": "BANKING_AND_FINANCE",
- "licenseType": "BASIC",
- "licenseTier": "STARTER",
- "freeLicenses": 0,
- "browserSessionLicenses": 0,
- "deviceSessionLimit": 0,
- "expirationDate": "2019-08-24T14:15:22Z",
- "restricted": false,
- "contentDesignerEmail": "string",
- "supportEmail": "string",
- "needsToBeInvoiced": true,
- "storageSize": 0,
- "hiddenUIElementRules": { },
- "customerMetadata": { },
- "enableAutomaticDistributionToDms": false,
- "userFullAccessIfNotInTeam": true,
- "accessResourcesWithoutTeam": true,
- "force2FA": false,
- "brandingGuideline": { },
- "slaveId": "string",
- "createAsSubreseller": false,
- "ownerSubresellerId": 0,
- "uiVersion": "V1",
- "loopDisplayerVersion": "LEGACY_LOOP",
- "contentDisplayerVersion": "LEGACY_LOOP",
- "deviceUpdatePolicy": "IMMEDIATE",
- "deviceUpdateDelayStartDays": 0,
- "deviceUpdateDelayEndDays": 0,
- "vistarNetworkId": "string",
- "vistarApiKey": "string"
}{- "id": 0,
- "name": "string",
- "comment": "string",
- "country": "string",
- "location": "string",
- "type": "string",
- "profile": "BASIC",
- "vertical": "BANKING_AND_FINANCE",
- "licenseType": "BASIC",
- "licenseTier": "STARTER",
- "freeLicenses": 0,
- "browserSessionLicenses": 0,
- "deviceSessionLimit": 0,
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "restricted": true,
- "contentDesignerEmail": "string",
- "supportEmail": "string",
- "needsToBeInvoiced": true,
- "storageSize": 0,
- "hiddenUIElementRules": { },
- "enableAutomaticDistributionToDms": true,
- "userFullAccessIfNotInTeam": true,
- "accessResourcesWithoutTeam": true,
- "isDeviceAndGroupCreationEnabledInRootForTeamUsers": true,
- "isContentAndGroupCreationEnabledInRootForTeamUsers": true,
- "isFileAndFolderCreationEnabledInRootForTeamUsers": true,
- "brandingGuideline": { },
- "uiVersion": "string",
- "slaveId": "string",
- "ownerSubresellerId": 0,
- "force2FA": true,
- "onlineLicenses": 0,
- "totalLicenses": 0,
- "usedFree": 0,
- "activeLicenses": 0,
- "subreseller": {
- "id": 0
}
}Update customer settings.
Minimum role: OWNER with customer selector
| customerId required | integer <int64> |
| name | string |
| comment | string |
| country | string |
| location | string |
| type | string |
| profile | string (CustomerProfile) Enum: "BASIC" "ADVANCED" "PROFESSIONAL" "INHERIT" Customer profile/feature tier |
| vertical | string (CustomerVertical) Enum: "BANKING_AND_FINANCE" "EMPLOYEE_CORPORATE_COMMUNICATION" "CORPORATE_MEETING_ROOMS" "DIGITAL_SIGNAGE" "EDUCATION_COLLAGE_AND_UNIVERSITIES" "CONFERENCE_AND_CONVENTION_CENTERS" "GOVERNMENT" "HEALTHCARE" "HOSPITALITY" "QUICK_SERVICE_RESTAURANT" "RETAIL" "SPORTS" "PETROL_STATIONS" "TRANSPORTATION" "ENTERTAINMENT" "WAYFINDING_AND_DIRECTORIES" "OTHER" "FACTORY_PRODUCEMENT" "BUSINESS_PARTNER" "RESELLER_PARTNER" "TECHNOLOGY_PARTNER" Industry vertical |
| licenseType | string (LicenseType) Enum: "BASIC" "PROFESSIONAL" "DBA" "ENTERPRISE" "VIDEO_WALL" Device license type. Note: DBA (Broadcaster) is legacy and not used for new license orders. |
| licenseTier | string (CustomerLicenseTier) Enum: "STARTER" "BUSINESS" "ENTERPRISE" Customer license tier |
| freeLicenses | integer <int64> |
| browserSessionLicenses | integer <int64> |
| deviceSessionLimit | integer <int64> |
| expirationDate | string <date-time> |
| resetExpirationDate | boolean Set to true to clear expiration date |
| createdDate | string <date-time> |
| restricted | boolean |
| contentDesignerEmail | string |
| supportEmail | string |
| needsToBeInvoiced | boolean |
| storageSize | integer <int64> |
| hiddenUIElementRules | object |
| customerMetadata | object |
| enableAutomaticDistributionToDms | boolean |
| force2FA | boolean |
| brandingGuideline | object |
| uiVersion | string Enum: "V1" "V2" UI version |
| loopDisplayerVersion | string Enum: "LEGACY_LOOP" "LEGACY_CONTENT" "V2" Default displayer version for playlists |
| resetLoopDisplayerVersion | boolean Reset to default displayer version for playlists |
| contentDisplayerVersion | string Enum: "LEGACY_LOOP" "LEGACY_CONTENT" "V2" Default displayer version for content |
| resetContentDisplayerVersion | boolean Reset to default displayer version for content |
| deviceUpdatePolicy | string Enum: "IMMEDIATE" "FAST" "SLOW" "CUSTOM" Device update policy |
| deviceUpdateDelayStartDays | integer Days to delay device updates (start) |
| deviceUpdateDelayEndDays | integer Days to delay device updates (end) |
| vistarNetworkId | string Vistar network ID for programmatic advertising |
| resetVistarNetworkId | boolean Reset Vistar network ID |
| vistarApiKey | string Vistar API key |
| resetVistarApiKey | boolean Reset Vistar API key |
{- "name": "string",
- "comment": "string",
- "country": "string",
- "location": "string",
- "type": "string",
- "profile": "BASIC",
- "vertical": "BANKING_AND_FINANCE",
- "licenseType": "BASIC",
- "licenseTier": "STARTER",
- "freeLicenses": 0,
- "browserSessionLicenses": 0,
- "deviceSessionLimit": 0,
- "expirationDate": "2019-08-24T14:15:22Z",
- "resetExpirationDate": true,
- "createdDate": "2019-08-24T14:15:22Z",
- "restricted": true,
- "contentDesignerEmail": "string",
- "supportEmail": "string",
- "needsToBeInvoiced": true,
- "storageSize": 0,
- "hiddenUIElementRules": { },
- "customerMetadata": { },
- "enableAutomaticDistributionToDms": true,
- "force2FA": true,
- "brandingGuideline": { },
- "uiVersion": "V1",
- "loopDisplayerVersion": "LEGACY_LOOP",
- "resetLoopDisplayerVersion": true,
- "contentDisplayerVersion": "LEGACY_LOOP",
- "resetContentDisplayerVersion": true,
- "deviceUpdatePolicy": "IMMEDIATE",
- "deviceUpdateDelayStartDays": 0,
- "deviceUpdateDelayEndDays": 0,
- "vistarNetworkId": "string",
- "resetVistarNetworkId": true,
- "vistarApiKey": "string",
- "resetVistarApiKey": true
}{- "id": 0,
- "name": "string",
- "comment": "string",
- "country": "string",
- "location": "string",
- "type": "string",
- "profile": "BASIC",
- "vertical": "BANKING_AND_FINANCE",
- "licenseType": "BASIC",
- "licenseTier": "STARTER",
- "freeLicenses": 0,
- "browserSessionLicenses": 0,
- "deviceSessionLimit": 0,
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "restricted": true,
- "contentDesignerEmail": "string",
- "supportEmail": "string",
- "needsToBeInvoiced": true,
- "storageSize": 0,
- "hiddenUIElementRules": { },
- "enableAutomaticDistributionToDms": true,
- "userFullAccessIfNotInTeam": true,
- "accessResourcesWithoutTeam": true,
- "isDeviceAndGroupCreationEnabledInRootForTeamUsers": true,
- "isContentAndGroupCreationEnabledInRootForTeamUsers": true,
- "isFileAndFolderCreationEnabledInRootForTeamUsers": true,
- "brandingGuideline": { },
- "uiVersion": "string",
- "slaveId": "string",
- "ownerSubresellerId": 0,
- "force2FA": true,
- "onlineLicenses": 0,
- "totalLicenses": 0,
- "usedFree": 0,
- "activeLicenses": 0,
- "subreseller": {
- "id": 0
}
}Delete a customer and all associated data. This is a destructive operation.
Minimum role: OWNER with customer selector
Headers:
x-totp: TOTP code for verification (optional)x-captcha: Captcha token (optional)x-captcha-version: Captcha version V2 or V3 (default: V2)| customerId required | integer <int64> |
Get the current customer context including user and subscription info. Used after login to establish session context.
Minimum role: DEVICE_USER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
{- "user": {
- "email": "string",
- "name": "string",
- "language": "string",
- "role": "ADMIN",
- "editorLevel": "string",
- "lastLogin": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "logins": 0,
- "presenceTime": 0,
- "use2FA": true,
- "restricted": true,
- "customerId": 0
}, - "customer": {
- "id": 0,
- "name": "string",
- "comment": "string",
- "country": "string",
- "location": "string",
- "type": "string",
- "profile": "BASIC",
- "vertical": "BANKING_AND_FINANCE",
- "licenseType": "BASIC",
- "licenseTier": "STARTER",
- "freeLicenses": 0,
- "browserSessionLicenses": 0,
- "deviceSessionLimit": 0,
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "restricted": true,
- "contentDesignerEmail": "string",
- "supportEmail": "string",
- "needsToBeInvoiced": true,
- "storageSize": 0,
- "hiddenUIElementRules": { },
- "enableAutomaticDistributionToDms": true,
- "userFullAccessIfNotInTeam": true,
- "accessResourcesWithoutTeam": true,
- "isDeviceAndGroupCreationEnabledInRootForTeamUsers": true,
- "isContentAndGroupCreationEnabledInRootForTeamUsers": true,
- "isFileAndFolderCreationEnabledInRootForTeamUsers": true,
- "brandingGuideline": { },
- "uiVersion": "string",
- "slaveId": "string",
- "ownerSubresellerId": 0,
- "force2FA": true,
- "onlineLicenses": 0,
- "totalLicenses": 0,
- "usedFree": 0,
- "activeLicenses": 0,
- "subreseller": {
- "id": 0
}
}, - "subscriptionId": "string",
- "subscriptionUrl": "string"
}Get current customer information with license usage details.
Minimum role: TECHNICIAN with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
{- "id": 0,
- "name": "string",
- "comment": "string",
- "country": "string",
- "location": "string",
- "type": "string",
- "profile": "BASIC",
- "vertical": "BANKING_AND_FINANCE",
- "licenseType": "BASIC",
- "licenseTier": "STARTER",
- "freeLicenses": 0,
- "browserSessionLicenses": 0,
- "deviceSessionLimit": 0,
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "restricted": true,
- "contentDesignerEmail": "string",
- "supportEmail": "string",
- "needsToBeInvoiced": true,
- "storageSize": 0,
- "hiddenUIElementRules": { },
- "enableAutomaticDistributionToDms": true,
- "userFullAccessIfNotInTeam": true,
- "accessResourcesWithoutTeam": true,
- "isDeviceAndGroupCreationEnabledInRootForTeamUsers": true,
- "isContentAndGroupCreationEnabledInRootForTeamUsers": true,
- "isFileAndFolderCreationEnabledInRootForTeamUsers": true,
- "brandingGuideline": { },
- "uiVersion": "string",
- "slaveId": "string",
- "ownerSubresellerId": 0,
- "force2FA": true,
- "onlineLicenses": 0,
- "totalLicenses": 0,
- "usedFree": 0,
- "activeLicenses": 0,
- "subreseller": {
- "id": 0
}
}Get detailed statistics for a specific customer including device counts, user activity, content counts, and pie chart data.
Minimum role: OWNER with customer selector
| customerId required | integer <int64> |
{- "totalDevices": 0,
- "totalLicenses": 0,
- "lastDeviceActivity": "2019-08-24T14:15:22Z",
- "activeDevicesInLastWeek": 0,
- "totalUsers": 0,
- "totalUserPresenceTime": 0,
- "totalUserLoginCount": 0,
- "activeUsersInLastWeek": 0,
- "totalContents": 0,
- "totalDatasources": 0,
- "ownedCustomerCount": 0,
- "devicesByState": {
- "slices": [
- {
- "name": "string",
- "value": 0.1
}
], - "total": 0.1
}, - "devicesByLicensePayType": {
- "slices": [
- {
- "name": "string",
- "value": 0.1
}
], - "total": 0.1
}, - "devicesByLicenseType": {
- "slices": [
- {
- "name": "string",
- "value": 0.1
}
], - "total": 0.1
}, - "contentsByType": {
- "slices": [
- {
- "name": "string",
- "value": 0.1
}
], - "total": 0.1
}
}Get license dashboard view for a customer.
Minimum role: OWNER with customer selector
| customerId required | integer <int64> |
{- "totalLicenses": 0,
- "usedLicenses": 0,
- "freeLicenses": 0
}Get invoice view for a specific customer, including monthly recurring revenue (MRR) and itemized billing tables grouped by recurrence and license type.
The view includes the customer's own license orders and those of their subresellers
(network members) up to 3 levels deep. Only approved, SUBSCRIPTION-type orders
are included; orders with a future invoiceStartDate (relative to the date
parameter) are excluded.
Minimum role: ADMIN
| customerId required | integer <int64> Customer ID |
| date required | string <date-time> Reference date for invoice calculation (ISO-8601, e.g. |
{- "recurringRevenueList": [
- {
- "currency": "USD",
- "monthlyAverage": 0.1
}
], - "totalInvoiceTables": [
- {
- "recurrence": {
- "recurrenceType": "DAILY",
- "frequency": 1
}, - "currency": "USD",
- "items": [
- {
- "licenseType": "BASIC",
- "quantity": 0,
- "price": 0.1
}
]
}
], - "networkOwnerInvoiceTables": [
- {
- "recurrence": {
- "recurrenceType": "DAILY",
- "frequency": 1
}, - "currency": "USD",
- "items": [
- {
- "licenseType": "BASIC",
- "quantity": 0,
- "price": 0.1
}
]
}
], - "networkMembersInvoiceTables": [
- {
- "recurrence": {
- "recurrenceType": "DAILY",
- "frequency": 1
}, - "currency": "USD",
- "items": [
- {
- "licenseType": "BASIC",
- "quantity": 0,
- "price": 0.1
}
]
}
], - "networkMemberLicenseTierCounts": {
- "STARTER": 12,
- "BUSINESS": 4,
- "ENTERPRISE": 1
}
}Get system-wide recurring revenue across all customers on the instance, grouped by currency.
Only approved, SUBSCRIPTION-type orders are included; orders with a future
invoiceStartDate (relative to the date parameter) are excluded.
No currency conversion is performed — each currency is reported separately.
Minimum role: ADMIN
| date required | string <date-time> Reference date for invoice calculation (ISO-8601, e.g. |
{- "recurringRevenueList": [
- {
- "currency": "USD",
- "monthlyAverage": 0.1
}
]
}Update team-related settings for a customer.
Minimum role: OWNER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| userFullAccessIfNotInTeam | boolean |
| accessResourcesWithoutTeam | boolean |
| isDeviceAndGroupCreationEnabledInRootForTeamUsers | boolean |
| isContentAndGroupCreationEnabledInRootForTeamUsers | boolean |
| isFileAndFolderCreationEnabledInRootForTeamUsers | boolean |
{- "userFullAccessIfNotInTeam": true,
- "accessResourcesWithoutTeam": true,
- "isDeviceAndGroupCreationEnabledInRootForTeamUsers": true,
- "isContentAndGroupCreationEnabledInRootForTeamUsers": true,
- "isFileAndFolderCreationEnabledInRootForTeamUsers": true
}Retrieve user interface profiles with optional filtering and pagination.
Minimum role: OWNER
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| search | string WBQL filter expression. Operators: |
| select | string Field projection. |
| 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:
|
{- "first": true,
- "last": true,
- "number": 0,
- "numberOfElements": 0,
- "totalElements": 0,
- "totalPages": 0,
- "size": 0,
- "content": [
- {
- "id": 0,
- "name": "string",
- "comment": "string",
- "hiddenUIElementRules": { },
- "customerId": 0
}
]
}Create a new user interface profile.
Minimum role: OWNER
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| name required | string Profile name |
| comment | string Optional description |
| hiddenUIElementRules required | object JSON rules for hiding UI elements |
{- "name": "Limited Editor",
- "comment": "Hide advanced settings and admin features",
- "hiddenUIElementRules": {
- "hiddenMenuItems": [
- "system-settings",
- "user-management"
], - "hiddenButtons": [
- "delete-device"
]
}
}{- "id": 42,
- "name": "Limited Editor",
- "comment": "Hide advanced features",
- "hiddenUIElementRules": {
- "hiddenMenuItems": [
- "system-settings",
- "user-management"
]
}, - "customerId": 123
}Update an existing user interface profile.
Minimum role: OWNER
| userInterfaceProfileId required | integer <int64> UI profile ID |
| name required | string Profile name |
| comment | string Optional description |
| hiddenUIElementRules required | object JSON rules for hiding UI elements |
{- "name": "Limited Editor",
- "comment": "Restrict access to sensitive settings",
- "hiddenUIElementRules": {
- "hiddenMenuItems": [
- "system-settings",
- "user-management"
], - "hiddenButtons": [
- "delete-device",
- "factory-reset"
]
}
}{- "id": 42,
- "name": "Limited Editor",
- "comment": "Hide advanced features",
- "hiddenUIElementRules": {
- "hiddenMenuItems": [
- "system-settings",
- "user-management"
]
}, - "customerId": 123
}Assign or remove user interface profile to/from users.
Minimum role: OWNER
| userInterfaceProfileId required | integer <int64> UI profile ID |
| assignUserIds | Array of strings User IDs to assign profile to |
| removeUserIds | Array of strings User IDs to remove profile from |
{- "assignUserIds": [
- "user123",
- "user456"
], - "removeUserIds": [
- "user789"
]
}Get statistics for a network owner and their members. Returns the same structure as system dashboard but scoped to the network.
Minimum role: VIEWER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| includeOwnerData | boolean Default: false Include network owner's own data in statistics |
| force | boolean Default: false Force refresh cached data |
{- "unassignedDeviceStatusCounts": {
- "property1": 0,
- "property2": 0
}, - "assignedDeviceStatusCounts": {
- "property1": 0,
- "property2": 0
}, - "assignedLicenseCount": 0,
- "unAssignedLicenseCount": 0,
- "deviceLicenseTypeCounts": {
- "property1": 0,
- "property2": 0
}, - "deviceLicenseStatusCounts": {
- "property1": 0,
- "property2": 0
}, - "customerCount": 0,
- "activeCustomerCount": 0,
- "customerByVerticalCounts": {
- "property1": 0,
- "property2": 0
}, - "customerLicenseTierCounts": {
- "property1": 0,
- "property2": 0
}, - "userCount": 0,
- "activeUserCount": 0,
- "simpleLoopCount": 0,
- "contentCount": 0,
- "slideCount": 0,
- "scheduleCount": 0,
- "datasourceByTypeCounts": {
- "property1": 0,
- "property2": 0
}, - "datasourceByIncomingDataFormatCounts": {
- "property1": 0,
- "property2": 0
}, - "activeExternalDatasourceCount": 0,
- "brokenExternalDatasourceCount": 0,
- "browserSessionLimit": 0,
- "activeBrowserSessionCount": 0,
- "activeGoogleCredentials": {
- "property1": 0,
- "property2": 0
}, - "activeMicrosoftCredentials": {
- "property1": 0,
- "property2": 0
}, - "licenseValidTo": 0,
- "supportValidTo": 0
}Get active session statistics for a customer including browser sessions and device content sessions.
Minimum role: VIEWER with customer selector
| customerId required | integer <int64> Customer ID |
{- "browserSessions": {
- "current": 0,
- "total": 0
}, - "deviceContentSessions": {
- "current": 0,
- "total": 0
}
}Retrieve paginated activity logs for a customer. Logs include user actions, device events, and system messages.
Note: This endpoint is served by the wb-log-service microservice.
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| page | integer Default: 0 Page index (0-based) |
| size | integer Default: 20 Page size |
| search | string Search filter expression |
| order | string Default: "DESC" Enum: "ASC" "DESC" Sort order |
| from | integer <int64> Filter logs from this timestamp (Unix milliseconds) |
| to | integer <int64> Filter logs until this timestamp (Unix milliseconds) |
{- "content": [
- {
- "time": "2019-08-24T14:15:22Z",
- "contentId": "string",
- "customerId": 0,
- "deviceId": "string",
- "logLevel": "INFO",
- "message": "string",
- "userEmail": "string",
- "contentName": "string",
- "customerName": "string",
- "deviceName": "string",
- "datasourceId": "string",
- "datasourceName": "string"
}
], - "totalPages": 0,
- "last": true,
- "totalElements": 0,
- "size": 0,
- "number": 0,
- "first": true,
- "numberOfElements": 0
}Download activity logs as a CSV file.
Note: This endpoint is served by the wb-log-service microservice.
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| search | string Search filter expression |
Get all tags organized by entity type for a customer.
Minimum role: VIEWER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| select | string Field projection. |
{- "id": 0,
- "campaignTags": {
- "property1": {
- "count": 0,
- "comment": "string"
}, - "property2": {
- "count": 0,
- "comment": "string"
}
}, - "messageTags": {
- "property1": {
- "count": 0,
- "comment": "string"
}, - "property2": {
- "count": 0,
- "comment": "string"
}
}, - "deviceContentTags": {
- "property1": {
- "count": 0,
- "comment": "string"
}, - "property2": {
- "count": 0,
- "comment": "string"
}
}, - "deviceTags": {
- "property1": {
- "count": 0,
- "comment": "string"
}, - "property2": {
- "count": 0,
- "comment": "string"
}
}, - "deviceGroupTags": {
- "property1": {
- "count": 0,
- "comment": "string"
}, - "property2": {
- "count": 0,
- "comment": "string"
}
}, - "fileTags": {
- "property1": {
- "count": 0,
- "comment": "string"
}, - "property2": {
- "count": 0,
- "comment": "string"
}
}
}Create a new tag for a specific entity type.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| tagType required | string (CustomerTagType) Enum: "CONTENT" "DEVICE" "CAMPAIGN" "MESSAGE" "FILE" Entity type for the tag |
| tag required | string Tag name |
| comment | string Tag description |
{- "tag": "string",
- "comment": "string"
}{- "tag": "string",
- "tagInfo": {
- "count": 0,
- "comment": "string"
}
}Update an existing tag's comment.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| tag required | string Tag name to update |
| tagType required | string (CustomerTagType) Enum: "CONTENT" "DEVICE" "CAMPAIGN" "MESSAGE" "FILE" Entity type for the tag |
| comment | string Updated tag description |
{- "comment": "string"
}Delete an existing tag.
Minimum role: EDITOR with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| tag required | string Tag name to delete |
| tagType required | string (CustomerTagType) Enum: "CONTENT" "DEVICE" "CAMPAIGN" "MESSAGE" "FILE" Entity type for the tag |
Get all tags merged across entity types with their usage counts.
Minimum role: VIEWER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
{- "lobby": 5,
- "reception": 3,
- "floor-1": 12
}Get tag suggestions based on keyword and entity type.
Minimum role: VIEWER with customer selector
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| keyword | string Keyword to filter suggestions |
| entity | string (CustomerTagType) Enum: "CONTENT" "DEVICE" "CAMPAIGN" "MESSAGE" "FILE" Entity type to filter by |
[- "string"
]Export customer list as CSV file (all customers in the system).
Minimum role: ADMIN
| search | string WBQL filter expression. Operators: |
Get global platform statistics including device counts, customer counts, user activity, and content statistics across all customers.
Minimum role: ADMIN
| force | boolean Default: false Force refresh cached data |
{- "unassignedDeviceStatusCounts": {
- "property1": 0,
- "property2": 0
}, - "assignedDeviceStatusCounts": {
- "property1": 0,
- "property2": 0
}, - "assignedLicenseCount": 0,
- "unAssignedLicenseCount": 0,
- "deviceLicenseTypeCounts": {
- "property1": 0,
- "property2": 0
}, - "deviceLicenseStatusCounts": {
- "property1": 0,
- "property2": 0
}, - "customerCount": 0,
- "activeCustomerCount": 0,
- "customerByVerticalCounts": {
- "property1": 0,
- "property2": 0
}, - "customerLicenseTierCounts": {
- "property1": 0,
- "property2": 0
}, - "userCount": 0,
- "activeUserCount": 0,
- "simpleLoopCount": 0,
- "contentCount": 0,
- "slideCount": 0,
- "scheduleCount": 0,
- "datasourceByTypeCounts": {
- "property1": 0,
- "property2": 0
}, - "datasourceByIncomingDataFormatCounts": {
- "property1": 0,
- "property2": 0
}, - "activeExternalDatasourceCount": 0,
- "brokenExternalDatasourceCount": 0,
- "browserSessionLimit": 0,
- "activeBrowserSessionCount": 0,
- "activeGoogleCredentials": {
- "property1": 0,
- "property2": 0
}, - "activeMicrosoftCredentials": {
- "property1": 0,
- "property2": 0
}, - "licenseValidTo": 0,
- "supportValidTo": 0
}