Data source management endpoints for the Wallboard digital signage platform.
Data sources provide dynamic data for content widgets. They can pull data from external APIs, databases, spreadsheets, calendars, and other integrations.
| Concept | Description |
|---|---|
| Data Source | A connection to external or internal data |
| Source Type | How data is obtained (External URL, Internal, System) |
| Structure Type | Data format (Table, Key-Value, Feed, List, Custom) |
| Refresh Mode | How data updates (Poll at intervals, Callback on change) |
| Global Data Source | Shared across all customers (admin-created) |
| Type | Description |
|---|---|
EXTERNAL |
Data from external URL (REST API, RSS, etc.) |
INTERNAL |
Manually entered or uploaded data |
SYSTEM |
System-generated data (files, devices, screenshots, AI, calendar merge) |
| Type | Description |
|---|---|
TABLE |
Tabular data with rows and columns |
KEY_VALUE |
Simple key-value pairs |
FEED |
RSS/Atom feed format |
LIST |
Simple list of items |
CUSTOM |
Free-form JSON structure |
WAY_FINDING |
Wayfinding/directory data |
When creating data sources, the type field determines which additional fields are required.
| type | Required Fields | Description |
|---|---|---|
JSON |
remoteUrl | Generic JSON API |
XML |
remoteUrl | XML API → JSON |
RSS |
remoteUrl | RSS/Atom feeds |
ICAL |
remoteUrl, dateFormat, timeFormat | iCalendar |
GOOGLESHEET_API |
credentialId, spreadSheetId, sheetId, driveFolderId | Google Sheets |
CALENDAR |
calendarId, credentialId, credentialType | Calendars |
JDBC |
remoteUrl, jdbcQuery | Database |
SHAREPOINT_LISTS |
credentialId, siteId, listId | SharePoint lists |
MICROSOFT_WORKBOOK |
credentialId, workBookId | Excel v1 |
MICROSOFT_WORKBOOK_V2 |
credentialId | Excel v2 |
WEATHER |
weatherParameters | Weather API |
TOAST |
toastParameters | Toast POS |
CAP |
capParameters | Emergency alerts (CAP) |
SCREENSHOT |
screenshotParameters | Web screenshots |
CUSTOM_INTEGRATION |
functionIdentifier, dynamicParameters | Custom plugins |
WEBSITE_CONTENT |
webScraperParameters | Web scraping |
USER_ACTIVE_DIRECTORY |
userActiveDirectoryParameters | Azure AD |
FACEBOOK_PAGE_FEED |
facebookPageFeedParameters | |
INSTAGRAM_PAGE_FEED |
instagramPageFeedParameters | |
SHAREPOINT_NEWS |
sharepointNewsParameters | SharePoint news |
FILE_FROM_URL |
fileFromUrlParameters | File download |
| systemDatasourceType | Required Fields | Description |
|---|---|---|
FILES |
quickFilterId | File metadata via Quick Filter |
DEVICES |
quickFilterId | Device info via Quick Filter |
SCREENSHOT |
screenshotParameters | System screenshots |
AI_DATASOURCE |
aiParameters | AI-powered |
CALENDAR_MERGE |
calendarMergeParameters | Merged calendars |
Data source endpoints also support API Key authentication for simpler M2M integrations. API keys are created via the webhook API key management endpoints.
Available Scopes:
| Scope | Description |
|---|---|
DATASOURCE_DATA_READ |
Can read data source data |
INTERNAL_DATASOURCE_WRITE |
Can write to internal data sources |
Usage:
GET /api/datasource/{id}/data
Authorization: Bearer <api-key>
API keys are HMAC-signed JWTs (HS256/HS384/HS512). See the Webhooks documentation for API key management.
Internal datasources (sourceType: INTERNAL) can be read and updated via dedicated data endpoints.
This is commonly used by AI assistants and M2M integrations to manage dynamic display data.
GET /api/datasource/{id}/data?parseData=true — returns data as parsed JSON objectPUT /api/datasource/{id}/data — accepts JSON object directly in the data fielddata field in PUT accepts both a JSON object and a stringified JSON string (backward compatible)INTERNAL datasources can be updated — external and system types are read-onlyUse WBQL in the search parameter. Key fields:
| Filter Type | Field | Example |
|---|---|---|
| Team | teamAssignments.team.id |
search=teamAssignments.team.id=team1 |
| Source type | sourceType |
search=sourceType=EXTERNAL |
| Structure type | structureType |
search=structureType=TABLE |
| Name | name |
search=name:weather |
See Getting Started for full WBQL syntax.
Retrieve a paginated list of data sources with flexible field selection.
Minimum role: VIEWER
| 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. |
| includeAdHocDatasources | boolean Default: false Include ad-hoc (temporary) data sources in results |
{- "first": true,
- "last": true,
- "number": 0,
- "numberOfElements": 0,
- "totalElements": 0,
- "totalPages": 0,
- "size": 0,
- "content": [
- {
- "id": "string",
- "name": "string",
- "comment": "string",
- "customerId": 0,
- "global": true,
- "sourceType": "EXTERNAL",
- "structureType": "CUSTOM",
- "refreshMode": "POLL",
- "type": "XML",
- "remoteUrl": "string",
- "refreshFrequency": 0,
- "cronExpressionParameters": {
- "cronExpression": "string",
- "timeZone": "string"
}, - "data": "string",
- "hash": "string",
- "cacheResources": true,
- "removeUrlIfCacheFailed": true,
- "rotateCacheOnEveryUpdate": true,
- "exchangeInternalResourceReferences": true,
- "downloadResourceOnEveryUpdate": true,
- "deactivated": true,
- "autoDeactivated": true,
- "ignoreAutoDeactivate": true,
- "editableByDisplay": true,
- "creationType": "NORMAL",
- "credentialType": "GOOGLE",
- "credentialId": "string",
- "dateFormat": "string",
- "timeFormat": "string",
- "timeZone": "string",
- "generateCalendarForDays": 0,
- "firstDayOfWeek": "Monday",
- "microsoftCalendarDatasourceType": "USER_CALENDAR",
- "calendarId": "string",
- "microsoftUserPrincipalIdOrName": "string",
- "sharepointGroupId": "string",
- "flowId": "string",
- "siteId": "string",
- "listId": "string",
- "driveId": "string",
- "workBookId": "string",
- "microsoftWorkBookParameters": {
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true
}, - "microsoftWorkbookV2Parameters": {
- "options": [
- {
- "siteId": "string",
- "driveId": "string",
- "workBookId": "string",
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true,
- "allSheet": true,
- "sameWorkbookParams": true
}
]
}, - "spreadSheetId": "string",
- "sheetId": "string",
- "sheetRange": "string",
- "driveFolderId": "string",
- "spreadSheetLegacyFormat": true,
- "firstRowIsHeader": true,
- "jdbcUserName": "string",
- "jdbcPassword": "string",
- "jdbcQuery": "string",
- "standardTableFormat": true,
- "keepLastXDays": 0,
- "keepLastXItem": 0,
- "maxElementCount": 0,
- "quickFilterId": "string",
- "systemDatasourceType": "FILES",
- "requestSettings": {
- "httpMethod": "GET",
- "customHeaders": {
- "property1": "string",
- "property2": "string"
}, - "basicAuth": {
- "username": "string",
- "password": "string"
}, - "body": "string",
- "jsonBody": true
}, - "respectCacheControl": true,
- "aiParameters": {
- "prompt": "string",
- "jsonSchemaOutput": { },
- "exampleJson": { },
- "sourceDatasourceIds": [
- "string"
]
}, - "calendarMergeParameters": {
- "calendarDatasourceIds": [
- "string"
]
}, - "webScraperParameters": {
- "prompt": "string",
- "url": "string",
- "waitTime": 0,
- "jsonSchemaOutput": { },
- "exampleJson": { }
}, - "weatherParameters": {
- "locations": [
- {
- "location": "string",
- "displayName": "string"
}
], - "geoPositions": [
- {
- "lat": 0.1,
- "lon": 0.1,
- "displayName": "string"
}
]
}, - "capParameters": {
- "capFeedURL": "string",
- "parserRule": {
- "capItemURLSelector": "string"
}, - "cacheRule": {
- "capFeedUpdatedSelector": "string",
- "capItemLastModifiedSelector": "string"
}, - "deviceIdentificationRule": {
- "tagBasedRule": {
- "deviceTagSelector": "ADDRESSES",
- "deviceTagSeparator": "string",
- "deviceTagOperator": "AND"
}, - "locationBasedRule": {
- "resolveLocation": true
}
}, - "emergencyStatusAutoUpdaterRule": {
- "includeDevicesByTag": "string"
}, - "mapperRule": {
- "defaultExpire": 0
}
}, - "toastParameters": {
- "externalGroupRef": "string",
- "externalRestaurantRef": "string",
- "method": "MENU",
- "filterMenuGuids": [
- "string"
]
}, - "toastRestaurantGuid": "string",
- "screenshotParameters": {
- "screenshotConfigs": [
- { }
]
}, - "fileFromUrlParameters": {
- "urls": [
- {
- "url": "string"
}
]
}, - "userActiveDirectoryParameters": {
- "fetchProfilePictures": true,
- "profilePictureSize": "SIZE_48x48",
- "members": "ONLY_INTERNAL",
- "filter": "string",
- "filterBy": "NAME",
- "format": "LIST"
}, - "facebookPageFeedParameters": {
- "pageId": "string"
}, - "instagramPageFeedParameters": {
- "pageId": "string"
}, - "sharepointNewsParameters": {
- "siteId": "string"
}, - "sharepointHeaders": {
- "headers": [
- "string"
]
}, - "powerBiExportParameters": {
- "groupId": "string",
- "reportId": "string",
- "pageNames": [
- "string"
], - "width": 1920,
- "height": 1080
}, - "dynamicParameters": {
- "parameters": { }
}, - "functionIdentifierType": "string",
- "functionIdentifierVersion": "string",
- "datasourceTransformation": {
- "transformations": [
- { }
]
}, - "lastAccessed": 0,
- "lastError": 0,
- "lastModified": 0,
- "lastUpdated": 0,
- "lastChanged": 0,
- "createdAt": 0,
- "nextRefreshTime": 0,
- "lastActiveSubscription": 0,
- "errorCounter": 0,
- "refreshCounter": 0,
- "ignoreErrorCounter": true,
- "customer": {
- "id": 0,
- "name": "string"
}, - "readOnly": true,
- "resourceDetails": { },
- "usedStorage": 0,
- "configMetadata": { }
}
]
}Retrieve global data sources shared across all customers. Global data sources are created by administrators.
Minimum role: VIEWER
| 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. |
| includeAdHocDatasources | boolean Default: false Include ad-hoc (temporary) data sources in results |
{- "first": true,
- "last": true,
- "number": 0,
- "numberOfElements": 0,
- "totalElements": 0,
- "totalPages": 0,
- "size": 0,
- "content": [
- {
- "id": "string",
- "name": "string",
- "comment": "string",
- "customerId": 0,
- "global": true,
- "sourceType": "EXTERNAL",
- "structureType": "CUSTOM",
- "refreshMode": "POLL",
- "type": "XML",
- "remoteUrl": "string",
- "refreshFrequency": 0,
- "cronExpressionParameters": {
- "cronExpression": "string",
- "timeZone": "string"
}, - "data": "string",
- "hash": "string",
- "cacheResources": true,
- "removeUrlIfCacheFailed": true,
- "rotateCacheOnEveryUpdate": true,
- "exchangeInternalResourceReferences": true,
- "downloadResourceOnEveryUpdate": true,
- "deactivated": true,
- "autoDeactivated": true,
- "ignoreAutoDeactivate": true,
- "editableByDisplay": true,
- "creationType": "NORMAL",
- "credentialType": "GOOGLE",
- "credentialId": "string",
- "dateFormat": "string",
- "timeFormat": "string",
- "timeZone": "string",
- "generateCalendarForDays": 0,
- "firstDayOfWeek": "Monday",
- "microsoftCalendarDatasourceType": "USER_CALENDAR",
- "calendarId": "string",
- "microsoftUserPrincipalIdOrName": "string",
- "sharepointGroupId": "string",
- "flowId": "string",
- "siteId": "string",
- "listId": "string",
- "driveId": "string",
- "workBookId": "string",
- "microsoftWorkBookParameters": {
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true
}, - "microsoftWorkbookV2Parameters": {
- "options": [
- {
- "siteId": "string",
- "driveId": "string",
- "workBookId": "string",
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true,
- "allSheet": true,
- "sameWorkbookParams": true
}
]
}, - "spreadSheetId": "string",
- "sheetId": "string",
- "sheetRange": "string",
- "driveFolderId": "string",
- "spreadSheetLegacyFormat": true,
- "firstRowIsHeader": true,
- "jdbcUserName": "string",
- "jdbcPassword": "string",
- "jdbcQuery": "string",
- "standardTableFormat": true,
- "keepLastXDays": 0,
- "keepLastXItem": 0,
- "maxElementCount": 0,
- "quickFilterId": "string",
- "systemDatasourceType": "FILES",
- "requestSettings": {
- "httpMethod": "GET",
- "customHeaders": {
- "property1": "string",
- "property2": "string"
}, - "basicAuth": {
- "username": "string",
- "password": "string"
}, - "body": "string",
- "jsonBody": true
}, - "respectCacheControl": true,
- "aiParameters": {
- "prompt": "string",
- "jsonSchemaOutput": { },
- "exampleJson": { },
- "sourceDatasourceIds": [
- "string"
]
}, - "calendarMergeParameters": {
- "calendarDatasourceIds": [
- "string"
]
}, - "webScraperParameters": {
- "prompt": "string",
- "url": "string",
- "waitTime": 0,
- "jsonSchemaOutput": { },
- "exampleJson": { }
}, - "weatherParameters": {
- "locations": [
- {
- "location": "string",
- "displayName": "string"
}
], - "geoPositions": [
- {
- "lat": 0.1,
- "lon": 0.1,
- "displayName": "string"
}
]
}, - "capParameters": {
- "capFeedURL": "string",
- "parserRule": {
- "capItemURLSelector": "string"
}, - "cacheRule": {
- "capFeedUpdatedSelector": "string",
- "capItemLastModifiedSelector": "string"
}, - "deviceIdentificationRule": {
- "tagBasedRule": {
- "deviceTagSelector": "ADDRESSES",
- "deviceTagSeparator": "string",
- "deviceTagOperator": "AND"
}, - "locationBasedRule": {
- "resolveLocation": true
}
}, - "emergencyStatusAutoUpdaterRule": {
- "includeDevicesByTag": "string"
}, - "mapperRule": {
- "defaultExpire": 0
}
}, - "toastParameters": {
- "externalGroupRef": "string",
- "externalRestaurantRef": "string",
- "method": "MENU",
- "filterMenuGuids": [
- "string"
]
}, - "toastRestaurantGuid": "string",
- "screenshotParameters": {
- "screenshotConfigs": [
- { }
]
}, - "fileFromUrlParameters": {
- "urls": [
- {
- "url": "string"
}
]
}, - "userActiveDirectoryParameters": {
- "fetchProfilePictures": true,
- "profilePictureSize": "SIZE_48x48",
- "members": "ONLY_INTERNAL",
- "filter": "string",
- "filterBy": "NAME",
- "format": "LIST"
}, - "facebookPageFeedParameters": {
- "pageId": "string"
}, - "instagramPageFeedParameters": {
- "pageId": "string"
}, - "sharepointNewsParameters": {
- "siteId": "string"
}, - "sharepointHeaders": {
- "headers": [
- "string"
]
}, - "powerBiExportParameters": {
- "groupId": "string",
- "reportId": "string",
- "pageNames": [
- "string"
], - "width": 1920,
- "height": 1080
}, - "dynamicParameters": {
- "parameters": { }
}, - "functionIdentifierType": "string",
- "functionIdentifierVersion": "string",
- "datasourceTransformation": {
- "transformations": [
- { }
]
}, - "lastAccessed": 0,
- "lastError": 0,
- "lastModified": 0,
- "lastUpdated": 0,
- "lastChanged": 0,
- "createdAt": 0,
- "nextRefreshTime": 0,
- "lastActiveSubscription": 0,
- "errorCounter": 0,
- "refreshCounter": 0,
- "ignoreErrorCounter": true,
- "customer": {
- "id": 0,
- "name": "string"
}, - "readOnly": true,
- "resourceDetails": { },
- "usedStorage": 0,
- "configMetadata": { }
}
]
}Create a temporary ad-hoc data source. Ad-hoc data sources have a shorter lifespan (15 minutes) and are typically used for temporary data needs.
Minimum role: EDITOR
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| name required | string |
| comment | string |
| global | boolean Default: false |
| sourceType | string (DatasourceType) Enum: "EXTERNAL" "INTERNAL" "SYSTEM" How the data source obtains data |
| structureType | string (DatasourceStructureType) Enum: "CUSTOM" "TABLE" "KEY_VALUE" "FEED" "LIST" "WAY_FINDING" Data structure format |
| type | string (IncomingDataFormatType) Enum: "XML" "JSON" "ICAL" "GOOGLESHEET" "GOOGLESHEET_API" "NODEJS" "CALENDAR" "CALENDAR_LEGACY" "RSS" "JDBC" "DATABASE" "SHAREPOINT_LISTS" "CAP" "MICROSOFT_WORKBOOK" "FILE_FROM_URL" "TOAST" "SCREENSHOT" "CUSTOM_INTEGRATION" "USER_ACTIVE_DIRECTORY" "WEATHER" "MICROSOFT_WORKBOOK_V2" "WEBSITE_CONTENT" "FACEBOOK_USER_FEED" "FACEBOOK_PAGE_FEED" "INSTAGRAM_PAGE_FEED" "SHAREPOINT_NEWS" "USER_ACTIVE_DIRECTORY_V2" "POWER_BI_EXPORT" Format of incoming data |
| refreshMode | string (RefreshMode) Enum: "POLL" "CALLBACK" How data source refreshes |
| remoteUrl | string URL for EXTERNAL data sources |
| refreshFrequency | integer Refresh interval in seconds |
object (CronExpressionParameters) Cron-based scheduling parameters (JSON) | |
| data | string Initial data for INTERNAL data sources |
| cacheResources | boolean Default: false |
| removeUrlIfCacheFailed | boolean Default: false |
| rotateCacheOnEveryUpdate | boolean Default: false |
| exchangeInternalResourceReferences | boolean Default: false |
| editableByDisplay | boolean Default: false |
| ignoreErrorCounter | boolean Default: false |
| deactivated | boolean Default: false |
| ignoreAutoDeactivate | boolean Default: false |
| respectCacheControl | boolean Default: true |
| dateFormat | string |
| timeFormat | string |
| timeZone | string |
| generateCalendarForDays | integer Days to generate for calendar data |
| firstDayOfWeek | string (FirstDayOfWeek) Enum: "Monday" "Sunday" "Saturday" First day of week for calendar data |
| credentialId | string |
| credentialType | string (AuthenticatedCredentialType) Enum: "GOOGLE" "O365" "CUSTOM" Type of credential for authenticated data sources |
| spreadSheetId | string |
| sheetId | string |
| sheetRange | string |
| driveFolderId | string |
| spreadSheetLegacyFormat | boolean Default: false |
| firstRowIsHeader | boolean Default: true |
| microsoftCalendarDatasourceType | string (MicrosoftCalendarDatasourceType) Enum: "USER_CALENDAR" "USER_PRINCIPAL_CALENDAR" "GROUP_CALENDAR" Microsoft calendar source type |
| calendarId | string |
| microsoftUserPrincipalIdOrName | string |
| sharepointGroupId | string |
| siteId | string |
| listId | string |
| driveId | string |
| workBookId | string |
| jdbcUserName | string |
| jdbcPassword | string |
| jdbcQuery | string |
| standardTableFormat | boolean Default: false |
| keepLastXDays | integer |
| keepLastXItem | integer |
| maxElementCount | integer |
| quickFilterId | string |
| systemDatasourceType | string (SystemDatasourceType) Enum: "FILES" "DEVICES" "SCREENSHOT" "AI_DATASOURCE" "CALENDAR_MERGE" Type of system-generated data source |
object (DatasourceHttpRequestSettings) HTTP request configuration for external data sources (JSON) | |
object (AIParameters) AI-powered data source parameters | |
object (CalendarMergeParameters) Calendar merge parameters for combining multiple calendars | |
object (WebSiteContentParameters) Website content scraping parameters | |
object (WeatherParameters) Weather API parameters | |
object (CapParameters) Common Alerting Protocol (CAP) parameters | |
object (ToastParameters) Toast POS integration parameters | |
object (ScreenshotParameters) Screenshot capture parameters | |
object (FileFromUrlParameters) File from URL download parameters | |
object (UserActiveDirectoryParameters) Azure Active Directory user parameters | |
object (FacebookPageFeedParameters) Facebook page feed parameters | |
object (InstagramPageFeedParameters) Instagram page feed parameters | |
object (SharepointNewsParameters) SharePoint news parameters | |
object (SharepointHeaders) SharePoint list headers configuration | |
object (MicrosoftWorkBookParameters) Microsoft Excel workbook V1 parameters | |
object (MicrosoftWorkbookV2Parameters) Microsoft Excel workbook V2 parameters (multi-sheet support) | |
object (PowerBiExportParameters) Power BI report export parameters | |
object (DynamicParameters) Dynamic parameters for custom integrations | |
object (FunctionIdentifier) Custom integration function identifier | |
object (DatasourceTransformation) Data transformation pipeline | |
| resourceDetails | object Resource details (JSON, can be large) |
object (ConfigMetadata) Configuration metadata for the data source (JSON) |
{- "name": "string",
- "comment": "string",
- "global": false,
- "sourceType": "EXTERNAL",
- "structureType": "CUSTOM",
- "type": "XML",
- "refreshMode": "POLL",
- "remoteUrl": "string",
- "refreshFrequency": 0,
- "cronExpressionParameters": {
- "cronExpression": "string",
- "timeZone": "string"
}, - "data": "string",
- "cacheResources": false,
- "removeUrlIfCacheFailed": false,
- "rotateCacheOnEveryUpdate": false,
- "exchangeInternalResourceReferences": false,
- "editableByDisplay": false,
- "ignoreErrorCounter": false,
- "deactivated": false,
- "ignoreAutoDeactivate": false,
- "respectCacheControl": true,
- "dateFormat": "string",
- "timeFormat": "string",
- "timeZone": "string",
- "generateCalendarForDays": 0,
- "firstDayOfWeek": "Monday",
- "credentialId": "string",
- "credentialType": "GOOGLE",
- "spreadSheetId": "string",
- "sheetId": "string",
- "sheetRange": "string",
- "driveFolderId": "string",
- "spreadSheetLegacyFormat": false,
- "firstRowIsHeader": true,
- "microsoftCalendarDatasourceType": "USER_CALENDAR",
- "calendarId": "string",
- "microsoftUserPrincipalIdOrName": "string",
- "sharepointGroupId": "string",
- "siteId": "string",
- "listId": "string",
- "driveId": "string",
- "workBookId": "string",
- "jdbcUserName": "string",
- "jdbcPassword": "string",
- "jdbcQuery": "string",
- "standardTableFormat": false,
- "keepLastXDays": 0,
- "keepLastXItem": 0,
- "maxElementCount": 0,
- "quickFilterId": "string",
- "systemDatasourceType": "FILES",
- "requestSettings": {
- "httpMethod": "GET",
- "customHeaders": {
- "property1": "string",
- "property2": "string"
}, - "basicAuth": {
- "username": "string",
- "password": "string"
}, - "body": "string",
- "jsonBody": true
}, - "aiParameters": {
- "prompt": "string",
- "jsonSchemaOutput": { },
- "exampleJson": { },
- "sourceDatasourceIds": [
- "string"
]
}, - "calendarMergeParameters": {
- "calendarDatasourceIds": [
- "string"
]
}, - "webScraperParameters": {
- "prompt": "string",
- "url": "string",
- "waitTime": 0,
- "jsonSchemaOutput": { },
- "exampleJson": { }
}, - "weatherParameters": {
- "locations": [
- {
- "location": "string",
- "displayName": "string"
}
], - "geoPositions": [
- {
- "lat": 0.1,
- "lon": 0.1,
- "displayName": "string"
}
]
}, - "capParameters": {
- "capFeedURL": "string",
- "parserRule": {
- "capItemURLSelector": "string"
}, - "cacheRule": {
- "capFeedUpdatedSelector": "string",
- "capItemLastModifiedSelector": "string"
}, - "deviceIdentificationRule": {
- "tagBasedRule": {
- "deviceTagSelector": "ADDRESSES",
- "deviceTagSeparator": "string",
- "deviceTagOperator": "AND"
}, - "locationBasedRule": {
- "resolveLocation": true
}
}, - "emergencyStatusAutoUpdaterRule": {
- "includeDevicesByTag": "string"
}, - "mapperRule": {
- "defaultExpire": 0
}
}, - "toastParameters": {
- "externalGroupRef": "string",
- "externalRestaurantRef": "string",
- "method": "MENU",
- "filterMenuGuids": [
- "string"
]
}, - "screenshotParameters": {
- "screenshotConfigs": [
- { }
]
}, - "fileFromUrlParameters": {
- "urls": [
- {
- "url": "string"
}
]
}, - "userActiveDirectoryParameters": {
- "fetchProfilePictures": true,
- "profilePictureSize": "SIZE_48x48",
- "members": "ONLY_INTERNAL",
- "filter": "string",
- "filterBy": "NAME",
- "format": "LIST"
}, - "facebookPageFeedParameters": {
- "pageId": "string"
}, - "instagramPageFeedParameters": {
- "pageId": "string"
}, - "sharepointNewsParameters": {
- "siteId": "string"
}, - "sharepointHeaders": {
- "headers": [
- "string"
]
}, - "microsoftWorkBookParameters": {
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true
}, - "microsoftWorkbookV2Parameters": {
- "options": [
- {
- "siteId": "string",
- "driveId": "string",
- "workBookId": "string",
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true,
- "allSheet": true,
- "sameWorkbookParams": true
}
]
}, - "powerBiExportParameters": {
- "groupId": "string",
- "reportId": "string",
- "pageNames": [
- "string"
], - "width": 1920,
- "height": 1080
}, - "dynamicParameters": {
- "parameters": { }
}, - "functionIdentifier": {
- "type": "string",
- "version": "string"
}, - "datasourceTransformation": {
- "transformations": [
- { }
]
}, - "resourceDetails": { },
- "configMetadata": { }
}{- "id": "string"
}Retrieve a paginated list of data sources with usage statistics.
Minimum role: VIEWER
| 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: |
| includeAdHocDatasources | boolean Default: false Include ad-hoc (temporary) data sources in results |
{- "data": {
- "first": true,
- "last": true,
- "number": 0,
- "numberOfElements": 0,
- "totalElements": 0,
- "totalPages": 0,
- "size": 0,
- "content": [
- {
- "id": "string",
- "name": "string",
- "comment": "string",
- "customerId": 0,
- "global": true,
- "sourceType": "EXTERNAL",
- "structureType": "CUSTOM",
- "refreshMode": "POLL",
- "type": "XML",
- "remoteUrl": "string",
- "refreshFrequency": 0,
- "cronExpressionParameters": {
- "cronExpression": "string",
- "timeZone": "string"
}, - "data": "string",
- "hash": "string",
- "cacheResources": true,
- "removeUrlIfCacheFailed": true,
- "rotateCacheOnEveryUpdate": true,
- "exchangeInternalResourceReferences": true,
- "downloadResourceOnEveryUpdate": true,
- "deactivated": true,
- "autoDeactivated": true,
- "ignoreAutoDeactivate": true,
- "editableByDisplay": true,
- "creationType": "NORMAL",
- "credentialType": "GOOGLE",
- "credentialId": "string",
- "dateFormat": "string",
- "timeFormat": "string",
- "timeZone": "string",
- "generateCalendarForDays": 0,
- "firstDayOfWeek": "Monday",
- "microsoftCalendarDatasourceType": "USER_CALENDAR",
- "calendarId": "string",
- "microsoftUserPrincipalIdOrName": "string",
- "sharepointGroupId": "string",
- "flowId": "string",
- "siteId": "string",
- "listId": "string",
- "driveId": "string",
- "workBookId": "string",
- "microsoftWorkBookParameters": {
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true
}, - "microsoftWorkbookV2Parameters": {
- "options": [
- {
- "siteId": "string",
- "driveId": "string",
- "workBookId": "string",
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true,
- "allSheet": true,
- "sameWorkbookParams": true
}
]
}, - "spreadSheetId": "string",
- "sheetId": "string",
- "sheetRange": "string",
- "driveFolderId": "string",
- "spreadSheetLegacyFormat": true,
- "firstRowIsHeader": true,
- "jdbcUserName": "string",
- "jdbcPassword": "string",
- "jdbcQuery": "string",
- "standardTableFormat": true,
- "keepLastXDays": 0,
- "keepLastXItem": 0,
- "maxElementCount": 0,
- "quickFilterId": "string",
- "systemDatasourceType": "FILES",
- "requestSettings": {
- "httpMethod": "GET",
- "customHeaders": {
- "property1": "string",
- "property2": "string"
}, - "basicAuth": {
- "username": "string",
- "password": "string"
}, - "body": "string",
- "jsonBody": true
}, - "respectCacheControl": true,
- "aiParameters": {
- "prompt": "string",
- "jsonSchemaOutput": { },
- "exampleJson": { },
- "sourceDatasourceIds": [
- "string"
]
}, - "calendarMergeParameters": {
- "calendarDatasourceIds": [
- "string"
]
}, - "webScraperParameters": {
- "prompt": "string",
- "url": "string",
- "waitTime": 0,
- "jsonSchemaOutput": { },
- "exampleJson": { }
}, - "weatherParameters": {
- "locations": [
- {
- "location": "string",
- "displayName": "string"
}
], - "geoPositions": [
- {
- "lat": 0.1,
- "lon": 0.1,
- "displayName": "string"
}
]
}, - "capParameters": {
- "capFeedURL": "string",
- "parserRule": {
- "capItemURLSelector": "string"
}, - "cacheRule": {
- "capFeedUpdatedSelector": "string",
- "capItemLastModifiedSelector": "string"
}, - "deviceIdentificationRule": {
- "tagBasedRule": {
- "deviceTagSelector": "ADDRESSES",
- "deviceTagSeparator": "string",
- "deviceTagOperator": "AND"
}, - "locationBasedRule": {
- "resolveLocation": true
}
}, - "emergencyStatusAutoUpdaterRule": {
- "includeDevicesByTag": "string"
}, - "mapperRule": {
- "defaultExpire": 0
}
}, - "toastParameters": {
- "externalGroupRef": "string",
- "externalRestaurantRef": "string",
- "method": "MENU",
- "filterMenuGuids": [
- "string"
]
}, - "toastRestaurantGuid": "string",
- "screenshotParameters": {
- "screenshotConfigs": [
- { }
]
}, - "fileFromUrlParameters": {
- "urls": [
- {
- "url": "string"
}
]
}, - "userActiveDirectoryParameters": {
- "fetchProfilePictures": true,
- "profilePictureSize": "SIZE_48x48",
- "members": "ONLY_INTERNAL",
- "filter": "string",
- "filterBy": "NAME",
- "format": "LIST"
}, - "facebookPageFeedParameters": {
- "pageId": "string"
}, - "instagramPageFeedParameters": {
- "pageId": "string"
}, - "sharepointNewsParameters": {
- "siteId": "string"
}, - "sharepointHeaders": {
- "headers": [
- "string"
]
}, - "powerBiExportParameters": {
- "groupId": "string",
- "reportId": "string",
- "pageNames": [
- "string"
], - "width": 1920,
- "height": 1080
}, - "dynamicParameters": {
- "parameters": { }
}, - "functionIdentifierType": "string",
- "functionIdentifierVersion": "string",
- "datasourceTransformation": {
- "transformations": [
- { }
]
}, - "lastAccessed": 0,
- "lastError": 0,
- "lastModified": 0,
- "lastUpdated": 0,
- "lastChanged": 0,
- "createdAt": 0,
- "nextRefreshTime": 0,
- "lastActiveSubscription": 0,
- "errorCounter": 0,
- "refreshCounter": 0,
- "ignoreErrorCounter": true,
- "customer": {
- "id": 0,
- "name": "string"
}, - "readOnly": true,
- "resourceDetails": { },
- "usedStorage": 0,
- "configMetadata": { }
}
]
}, - "details": {
- "accessedLastWeek": 0,
- "modifiedLastWeek": 0
}
}Create a new data source.
Minimum role: TECHNICIAN
Note: Creating global data sources requires ADMIN role and cannot
specify a customerId.
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| teamIds | string Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false Team assignment filter. Format: |
| name required | string |
| comment | string |
| global | boolean Default: false |
| sourceType | string (DatasourceType) Enum: "EXTERNAL" "INTERNAL" "SYSTEM" How the data source obtains data |
| structureType | string (DatasourceStructureType) Enum: "CUSTOM" "TABLE" "KEY_VALUE" "FEED" "LIST" "WAY_FINDING" Data structure format |
| type | string (IncomingDataFormatType) Enum: "XML" "JSON" "ICAL" "GOOGLESHEET" "GOOGLESHEET_API" "NODEJS" "CALENDAR" "CALENDAR_LEGACY" "RSS" "JDBC" "DATABASE" "SHAREPOINT_LISTS" "CAP" "MICROSOFT_WORKBOOK" "FILE_FROM_URL" "TOAST" "SCREENSHOT" "CUSTOM_INTEGRATION" "USER_ACTIVE_DIRECTORY" "WEATHER" "MICROSOFT_WORKBOOK_V2" "WEBSITE_CONTENT" "FACEBOOK_USER_FEED" "FACEBOOK_PAGE_FEED" "INSTAGRAM_PAGE_FEED" "SHAREPOINT_NEWS" "USER_ACTIVE_DIRECTORY_V2" "POWER_BI_EXPORT" Format of incoming data |
| refreshMode | string (RefreshMode) Enum: "POLL" "CALLBACK" How data source refreshes |
| remoteUrl | string URL for EXTERNAL data sources |
| refreshFrequency | integer Refresh interval in seconds |
object (CronExpressionParameters) Cron-based scheduling parameters (JSON) | |
| data | string Initial data for INTERNAL data sources |
| cacheResources | boolean Default: false |
| removeUrlIfCacheFailed | boolean Default: false |
| rotateCacheOnEveryUpdate | boolean Default: false |
| exchangeInternalResourceReferences | boolean Default: false |
| editableByDisplay | boolean Default: false |
| ignoreErrorCounter | boolean Default: false |
| deactivated | boolean Default: false |
| ignoreAutoDeactivate | boolean Default: false |
| respectCacheControl | boolean Default: true |
| dateFormat | string |
| timeFormat | string |
| timeZone | string |
| generateCalendarForDays | integer Days to generate for calendar data |
| firstDayOfWeek | string (FirstDayOfWeek) Enum: "Monday" "Sunday" "Saturday" First day of week for calendar data |
| credentialId | string |
| credentialType | string (AuthenticatedCredentialType) Enum: "GOOGLE" "O365" "CUSTOM" Type of credential for authenticated data sources |
| spreadSheetId | string |
| sheetId | string |
| sheetRange | string |
| driveFolderId | string |
| spreadSheetLegacyFormat | boolean Default: false |
| firstRowIsHeader | boolean Default: true |
| microsoftCalendarDatasourceType | string (MicrosoftCalendarDatasourceType) Enum: "USER_CALENDAR" "USER_PRINCIPAL_CALENDAR" "GROUP_CALENDAR" Microsoft calendar source type |
| calendarId | string |
| microsoftUserPrincipalIdOrName | string |
| sharepointGroupId | string |
| siteId | string |
| listId | string |
| driveId | string |
| workBookId | string |
| jdbcUserName | string |
| jdbcPassword | string |
| jdbcQuery | string |
| standardTableFormat | boolean Default: false |
| keepLastXDays | integer |
| keepLastXItem | integer |
| maxElementCount | integer |
| quickFilterId | string |
| systemDatasourceType | string (SystemDatasourceType) Enum: "FILES" "DEVICES" "SCREENSHOT" "AI_DATASOURCE" "CALENDAR_MERGE" Type of system-generated data source |
object (DatasourceHttpRequestSettings) HTTP request configuration for external data sources (JSON) | |
object (AIParameters) AI-powered data source parameters | |
object (CalendarMergeParameters) Calendar merge parameters for combining multiple calendars | |
object (WebSiteContentParameters) Website content scraping parameters | |
object (WeatherParameters) Weather API parameters | |
object (CapParameters) Common Alerting Protocol (CAP) parameters | |
object (ToastParameters) Toast POS integration parameters | |
object (ScreenshotParameters) Screenshot capture parameters | |
object (FileFromUrlParameters) File from URL download parameters | |
object (UserActiveDirectoryParameters) Azure Active Directory user parameters | |
object (FacebookPageFeedParameters) Facebook page feed parameters | |
object (InstagramPageFeedParameters) Instagram page feed parameters | |
object (SharepointNewsParameters) SharePoint news parameters | |
object (SharepointHeaders) SharePoint list headers configuration | |
object (MicrosoftWorkBookParameters) Microsoft Excel workbook V1 parameters | |
object (MicrosoftWorkbookV2Parameters) Microsoft Excel workbook V2 parameters (multi-sheet support) | |
object (PowerBiExportParameters) Power BI report export parameters | |
object (DynamicParameters) Dynamic parameters for custom integrations | |
object (FunctionIdentifier) Custom integration function identifier | |
object (DatasourceTransformation) Data transformation pipeline | |
| resourceDetails | object Resource details (JSON, can be large) |
object (ConfigMetadata) Configuration metadata for the data source (JSON) |
{- "name": "string",
- "comment": "string",
- "global": false,
- "sourceType": "EXTERNAL",
- "structureType": "CUSTOM",
- "type": "XML",
- "refreshMode": "POLL",
- "remoteUrl": "string",
- "refreshFrequency": 0,
- "cronExpressionParameters": {
- "cronExpression": "string",
- "timeZone": "string"
}, - "data": "string",
- "cacheResources": false,
- "removeUrlIfCacheFailed": false,
- "rotateCacheOnEveryUpdate": false,
- "exchangeInternalResourceReferences": false,
- "editableByDisplay": false,
- "ignoreErrorCounter": false,
- "deactivated": false,
- "ignoreAutoDeactivate": false,
- "respectCacheControl": true,
- "dateFormat": "string",
- "timeFormat": "string",
- "timeZone": "string",
- "generateCalendarForDays": 0,
- "firstDayOfWeek": "Monday",
- "credentialId": "string",
- "credentialType": "GOOGLE",
- "spreadSheetId": "string",
- "sheetId": "string",
- "sheetRange": "string",
- "driveFolderId": "string",
- "spreadSheetLegacyFormat": false,
- "firstRowIsHeader": true,
- "microsoftCalendarDatasourceType": "USER_CALENDAR",
- "calendarId": "string",
- "microsoftUserPrincipalIdOrName": "string",
- "sharepointGroupId": "string",
- "siteId": "string",
- "listId": "string",
- "driveId": "string",
- "workBookId": "string",
- "jdbcUserName": "string",
- "jdbcPassword": "string",
- "jdbcQuery": "string",
- "standardTableFormat": false,
- "keepLastXDays": 0,
- "keepLastXItem": 0,
- "maxElementCount": 0,
- "quickFilterId": "string",
- "systemDatasourceType": "FILES",
- "requestSettings": {
- "httpMethod": "GET",
- "customHeaders": {
- "property1": "string",
- "property2": "string"
}, - "basicAuth": {
- "username": "string",
- "password": "string"
}, - "body": "string",
- "jsonBody": true
}, - "aiParameters": {
- "prompt": "string",
- "jsonSchemaOutput": { },
- "exampleJson": { },
- "sourceDatasourceIds": [
- "string"
]
}, - "calendarMergeParameters": {
- "calendarDatasourceIds": [
- "string"
]
}, - "webScraperParameters": {
- "prompt": "string",
- "url": "string",
- "waitTime": 0,
- "jsonSchemaOutput": { },
- "exampleJson": { }
}, - "weatherParameters": {
- "locations": [
- {
- "location": "string",
- "displayName": "string"
}
], - "geoPositions": [
- {
- "lat": 0.1,
- "lon": 0.1,
- "displayName": "string"
}
]
}, - "capParameters": {
- "capFeedURL": "string",
- "parserRule": {
- "capItemURLSelector": "string"
}, - "cacheRule": {
- "capFeedUpdatedSelector": "string",
- "capItemLastModifiedSelector": "string"
}, - "deviceIdentificationRule": {
- "tagBasedRule": {
- "deviceTagSelector": "ADDRESSES",
- "deviceTagSeparator": "string",
- "deviceTagOperator": "AND"
}, - "locationBasedRule": {
- "resolveLocation": true
}
}, - "emergencyStatusAutoUpdaterRule": {
- "includeDevicesByTag": "string"
}, - "mapperRule": {
- "defaultExpire": 0
}
}, - "toastParameters": {
- "externalGroupRef": "string",
- "externalRestaurantRef": "string",
- "method": "MENU",
- "filterMenuGuids": [
- "string"
]
}, - "screenshotParameters": {
- "screenshotConfigs": [
- { }
]
}, - "fileFromUrlParameters": {
- "urls": [
- {
- "url": "string"
}
]
}, - "userActiveDirectoryParameters": {
- "fetchProfilePictures": true,
- "profilePictureSize": "SIZE_48x48",
- "members": "ONLY_INTERNAL",
- "filter": "string",
- "filterBy": "NAME",
- "format": "LIST"
}, - "facebookPageFeedParameters": {
- "pageId": "string"
}, - "instagramPageFeedParameters": {
- "pageId": "string"
}, - "sharepointNewsParameters": {
- "siteId": "string"
}, - "sharepointHeaders": {
- "headers": [
- "string"
]
}, - "microsoftWorkBookParameters": {
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true
}, - "microsoftWorkbookV2Parameters": {
- "options": [
- {
- "siteId": "string",
- "driveId": "string",
- "workBookId": "string",
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true,
- "allSheet": true,
- "sameWorkbookParams": true
}
]
}, - "powerBiExportParameters": {
- "groupId": "string",
- "reportId": "string",
- "pageNames": [
- "string"
], - "width": 1920,
- "height": 1080
}, - "dynamicParameters": {
- "parameters": { }
}, - "functionIdentifier": {
- "type": "string",
- "version": "string"
}, - "datasourceTransformation": {
- "transformations": [
- { }
]
}, - "resourceDetails": { },
- "configMetadata": { }
}{- "id": "string",
- "name": "string",
- "comment": "string",
- "customerId": 0,
- "global": true,
- "sourceType": "EXTERNAL",
- "structureType": "CUSTOM",
- "refreshMode": "POLL",
- "type": "XML",
- "remoteUrl": "string",
- "refreshFrequency": 0,
- "cronExpressionParameters": {
- "cronExpression": "string",
- "timeZone": "string"
}, - "data": "string",
- "hash": "string",
- "cacheResources": true,
- "removeUrlIfCacheFailed": true,
- "rotateCacheOnEveryUpdate": true,
- "exchangeInternalResourceReferences": true,
- "downloadResourceOnEveryUpdate": true,
- "deactivated": true,
- "autoDeactivated": true,
- "ignoreAutoDeactivate": true,
- "editableByDisplay": true,
- "creationType": "NORMAL",
- "credentialType": "GOOGLE",
- "credentialId": "string",
- "dateFormat": "string",
- "timeFormat": "string",
- "timeZone": "string",
- "generateCalendarForDays": 0,
- "firstDayOfWeek": "Monday",
- "microsoftCalendarDatasourceType": "USER_CALENDAR",
- "calendarId": "string",
- "microsoftUserPrincipalIdOrName": "string",
- "sharepointGroupId": "string",
- "flowId": "string",
- "siteId": "string",
- "listId": "string",
- "driveId": "string",
- "workBookId": "string",
- "microsoftWorkBookParameters": {
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true
}, - "microsoftWorkbookV2Parameters": {
- "options": [
- {
- "siteId": "string",
- "driveId": "string",
- "workBookId": "string",
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true,
- "allSheet": true,
- "sameWorkbookParams": true
}
]
}, - "spreadSheetId": "string",
- "sheetId": "string",
- "sheetRange": "string",
- "driveFolderId": "string",
- "spreadSheetLegacyFormat": true,
- "firstRowIsHeader": true,
- "jdbcUserName": "string",
- "jdbcPassword": "string",
- "jdbcQuery": "string",
- "standardTableFormat": true,
- "keepLastXDays": 0,
- "keepLastXItem": 0,
- "maxElementCount": 0,
- "quickFilterId": "string",
- "systemDatasourceType": "FILES",
- "requestSettings": {
- "httpMethod": "GET",
- "customHeaders": {
- "property1": "string",
- "property2": "string"
}, - "basicAuth": {
- "username": "string",
- "password": "string"
}, - "body": "string",
- "jsonBody": true
}, - "respectCacheControl": true,
- "aiParameters": {
- "prompt": "string",
- "jsonSchemaOutput": { },
- "exampleJson": { },
- "sourceDatasourceIds": [
- "string"
]
}, - "calendarMergeParameters": {
- "calendarDatasourceIds": [
- "string"
]
}, - "webScraperParameters": {
- "prompt": "string",
- "url": "string",
- "waitTime": 0,
- "jsonSchemaOutput": { },
- "exampleJson": { }
}, - "weatherParameters": {
- "locations": [
- {
- "location": "string",
- "displayName": "string"
}
], - "geoPositions": [
- {
- "lat": 0.1,
- "lon": 0.1,
- "displayName": "string"
}
]
}, - "capParameters": {
- "capFeedURL": "string",
- "parserRule": {
- "capItemURLSelector": "string"
}, - "cacheRule": {
- "capFeedUpdatedSelector": "string",
- "capItemLastModifiedSelector": "string"
}, - "deviceIdentificationRule": {
- "tagBasedRule": {
- "deviceTagSelector": "ADDRESSES",
- "deviceTagSeparator": "string",
- "deviceTagOperator": "AND"
}, - "locationBasedRule": {
- "resolveLocation": true
}
}, - "emergencyStatusAutoUpdaterRule": {
- "includeDevicesByTag": "string"
}, - "mapperRule": {
- "defaultExpire": 0
}
}, - "toastParameters": {
- "externalGroupRef": "string",
- "externalRestaurantRef": "string",
- "method": "MENU",
- "filterMenuGuids": [
- "string"
]
}, - "toastRestaurantGuid": "string",
- "screenshotParameters": {
- "screenshotConfigs": [
- { }
]
}, - "fileFromUrlParameters": {
- "urls": [
- {
- "url": "string"
}
]
}, - "userActiveDirectoryParameters": {
- "fetchProfilePictures": true,
- "profilePictureSize": "SIZE_48x48",
- "members": "ONLY_INTERNAL",
- "filter": "string",
- "filterBy": "NAME",
- "format": "LIST"
}, - "facebookPageFeedParameters": {
- "pageId": "string"
}, - "instagramPageFeedParameters": {
- "pageId": "string"
}, - "sharepointNewsParameters": {
- "siteId": "string"
}, - "sharepointHeaders": {
- "headers": [
- "string"
]
}, - "powerBiExportParameters": {
- "groupId": "string",
- "reportId": "string",
- "pageNames": [
- "string"
], - "width": 1920,
- "height": 1080
}, - "dynamicParameters": {
- "parameters": { }
}, - "functionIdentifierType": "string",
- "functionIdentifierVersion": "string",
- "datasourceTransformation": {
- "transformations": [
- { }
]
}, - "lastAccessed": 0,
- "lastError": 0,
- "lastModified": 0,
- "lastUpdated": 0,
- "lastChanged": 0,
- "createdAt": 0,
- "nextRefreshTime": 0,
- "lastActiveSubscription": 0,
- "errorCounter": 0,
- "refreshCounter": 0,
- "ignoreErrorCounter": true,
- "customer": {
- "id": 0,
- "name": "string"
}, - "readOnly": true,
- "resourceDetails": { },
- "usedStorage": 0,
- "configMetadata": { }
}Update an existing data source.
Minimum role: TECHNICIAN
| datasourceId required | string Data source ID |
| name | string |
| comment | string |
| refreshFrequency | integer |
object (CronExpressionParameters) Cron-based scheduling parameters (JSON) | |
| refreshMode | string (RefreshMode) Enum: "POLL" "CALLBACK" How data source refreshes |
| remoteUrl | string |
| cacheResources | boolean |
| removeUrlIfCacheFailed | boolean |
| rotateCacheOnEveryUpdate | boolean |
| exchangeInternalResourceReferences | boolean |
| editableByDisplay | boolean |
| deactivated | boolean |
| ignoreErrorCounter | boolean |
| ignoreAutoDeactivate | boolean |
| respectCacheControl | boolean |
| dateFormat | string |
| timeFormat | string |
| timeZone | string |
| generateCalendarForDays | integer |
| firstDayOfWeek | string (FirstDayOfWeek) Enum: "Monday" "Sunday" "Saturday" First day of week for calendar data |
| credentialId | string |
| credentialType | string (AuthenticatedCredentialType) Enum: "GOOGLE" "O365" "CUSTOM" Type of credential for authenticated data sources |
| calendarId | string |
| microsoftUserPrincipalIdOrName | string |
| sharepointGroupId | string |
| flowId | string |
| jdbcUserName | string |
| resetJdbcUserName | boolean Set to true to clear the JDBC username |
| jdbcPassword | string |
| resetJdbcPassword | boolean Set to true to clear the JDBC password |
| jdbcQuery | string |
| standardTableFormat | boolean |
| keepLastXDays | integer |
| keepLastXItem | integer |
| maxElementCount | integer |
| quickFilterId | string |
| spreadSheetLegacyFormat | boolean |
| spreadSheetId | string |
| sheetId | string |
| sheetRange | string |
| driveFolderId | string |
| firstRowIsHeader | boolean |
| listId | string |
| siteId | string |
| workBookId | string |
| driveId | string |
object (DatasourceHttpRequestSettings) HTTP request configuration for external data sources (JSON) | |
object (AIParameters) AI-powered data source parameters | |
object (CalendarMergeParameters) Calendar merge parameters for combining multiple calendars | |
object (WebSiteContentParameters) Website content scraping parameters | |
object (WeatherParameters) Weather API parameters | |
object (CapParameters) Common Alerting Protocol (CAP) parameters | |
object (ToastParameters) Toast POS integration parameters | |
object (ScreenshotParameters) Screenshot capture parameters | |
object (FileFromUrlParameters) File from URL download parameters | |
object (UserActiveDirectoryParameters) Azure Active Directory user parameters | |
object (FacebookPageFeedParameters) Facebook page feed parameters | |
object (InstagramPageFeedParameters) Instagram page feed parameters | |
object (SharepointNewsParameters) SharePoint news parameters | |
object (SharepointHeaders) SharePoint list headers configuration | |
| resetHeaders | boolean Set to true to clear SharePoint headers |
object (MicrosoftWorkBookParameters) Microsoft Excel workbook V1 parameters | |
object (MicrosoftWorkbookV2Parameters) Microsoft Excel workbook V2 parameters (multi-sheet support) | |
object (PowerBiExportParameters) Power BI report export parameters | |
object (DynamicParameters) Dynamic parameters for custom integrations | |
object (DatasourceTransformation) Data transformation pipeline | |
object (ConfigMetadata) Configuration metadata for the data source (JSON) | |
object Customer to transfer the data source to |
{- "name": "string",
- "comment": "string",
- "refreshFrequency": 0,
- "cronExpressionParameters": {
- "cronExpression": "string",
- "timeZone": "string"
}, - "refreshMode": "POLL",
- "remoteUrl": "string",
- "cacheResources": true,
- "removeUrlIfCacheFailed": true,
- "rotateCacheOnEveryUpdate": true,
- "exchangeInternalResourceReferences": true,
- "editableByDisplay": true,
- "deactivated": true,
- "ignoreErrorCounter": true,
- "ignoreAutoDeactivate": true,
- "respectCacheControl": true,
- "dateFormat": "string",
- "timeFormat": "string",
- "timeZone": "string",
- "generateCalendarForDays": 0,
- "firstDayOfWeek": "Monday",
- "credentialId": "string",
- "credentialType": "GOOGLE",
- "calendarId": "string",
- "microsoftUserPrincipalIdOrName": "string",
- "sharepointGroupId": "string",
- "flowId": "string",
- "jdbcUserName": "string",
- "resetJdbcUserName": true,
- "jdbcPassword": "string",
- "resetJdbcPassword": true,
- "jdbcQuery": "string",
- "standardTableFormat": true,
- "keepLastXDays": 0,
- "keepLastXItem": 0,
- "maxElementCount": 0,
- "quickFilterId": "string",
- "spreadSheetLegacyFormat": true,
- "spreadSheetId": "string",
- "sheetId": "string",
- "sheetRange": "string",
- "driveFolderId": "string",
- "firstRowIsHeader": true,
- "listId": "string",
- "siteId": "string",
- "workBookId": "string",
- "driveId": "string",
- "requestSettings": {
- "httpMethod": "GET",
- "customHeaders": {
- "property1": "string",
- "property2": "string"
}, - "basicAuth": {
- "username": "string",
- "password": "string"
}, - "body": "string",
- "jsonBody": true
}, - "aiParameters": {
- "prompt": "string",
- "jsonSchemaOutput": { },
- "exampleJson": { },
- "sourceDatasourceIds": [
- "string"
]
}, - "calendarMergeParameters": {
- "calendarDatasourceIds": [
- "string"
]
}, - "webScraperParameters": {
- "prompt": "string",
- "url": "string",
- "waitTime": 0,
- "jsonSchemaOutput": { },
- "exampleJson": { }
}, - "weatherParameters": {
- "locations": [
- {
- "location": "string",
- "displayName": "string"
}
], - "geoPositions": [
- {
- "lat": 0.1,
- "lon": 0.1,
- "displayName": "string"
}
]
}, - "capParameters": {
- "capFeedURL": "string",
- "parserRule": {
- "capItemURLSelector": "string"
}, - "cacheRule": {
- "capFeedUpdatedSelector": "string",
- "capItemLastModifiedSelector": "string"
}, - "deviceIdentificationRule": {
- "tagBasedRule": {
- "deviceTagSelector": "ADDRESSES",
- "deviceTagSeparator": "string",
- "deviceTagOperator": "AND"
}, - "locationBasedRule": {
- "resolveLocation": true
}
}, - "emergencyStatusAutoUpdaterRule": {
- "includeDevicesByTag": "string"
}, - "mapperRule": {
- "defaultExpire": 0
}
}, - "toastParameters": {
- "externalGroupRef": "string",
- "externalRestaurantRef": "string",
- "method": "MENU",
- "filterMenuGuids": [
- "string"
]
}, - "screenshotParameters": {
- "screenshotConfigs": [
- { }
]
}, - "fileFromUrlParameters": {
- "urls": [
- {
- "url": "string"
}
]
}, - "userActiveDirectoryParameters": {
- "fetchProfilePictures": true,
- "profilePictureSize": "SIZE_48x48",
- "members": "ONLY_INTERNAL",
- "filter": "string",
- "filterBy": "NAME",
- "format": "LIST"
}, - "facebookPageFeedParameters": {
- "pageId": "string"
}, - "instagramPageFeedParameters": {
- "pageId": "string"
}, - "sharepointNewsParameters": {
- "siteId": "string"
}, - "sharepointHeaders": {
- "headers": [
- "string"
]
}, - "resetHeaders": true,
- "microsoftWorkBookParameters": {
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true
}, - "microsoftWorkbookV2Parameters": {
- "options": [
- {
- "siteId": "string",
- "driveId": "string",
- "workBookId": "string",
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true,
- "allSheet": true,
- "sameWorkbookParams": true
}
]
}, - "powerBiExportParameters": {
- "groupId": "string",
- "reportId": "string",
- "pageNames": [
- "string"
], - "width": 1920,
- "height": 1080
}, - "dynamicParameters": {
- "parameters": { }
}, - "datasourceTransformation": {
- "transformations": [
- { }
]
}, - "configMetadata": { },
- "customer": {
- "id": 0
}
}Retrieve the current data content of a data source.
Use parseData=true to get the data field as a parsed JSON object instead of a stringified JSON string.
Authentication options:
VIEWER)DATASOURCE_DATA_READ scope| datasourceId required | string Data source ID (UUID) |
| parseData | boolean Default: false When true, returns the |
curl -X GET \ 'https://{server}/api/datasource/ds-uuid-123/data?parseData=true' \ -H 'Authorization: Bearer <oauth-token>'
{- "name": "string",
- "data": null,
- "configMetadata": { }
}Update the data content of an INTERNAL data source.
Only works for data sources with sourceType: INTERNAL.
The data field accepts both a JSON object (preferred) and a stringified JSON string (backward compatible).
Authentication options:
EDITOR)INTERNAL_DATASOURCE_WRITE scope| datasourceId required | string Data source ID (UUID) |
required | object or string Data content. Accepts JSON object directly (preferred) or stringified JSON string. |
One of object JSON data object (preferred) | |
{- "data": {
- "visitors": 150,
- "lastUpdate": "2026-01-26"
}
}{- "timestamp": 0,
- "status": 0,
- "error": "string",
- "message": "string",
- "path": "string",
- "exception": "string",
- "details": { },
- "key": "string"
}Retrieve global data sources shared across all customers. Global data sources are created by administrators.
Minimum role: VIEWER
| 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: |
| includeAdHocDatasources | boolean Default: false Include ad-hoc (temporary) data sources in results |
{- "first": true,
- "last": true,
- "number": 0,
- "numberOfElements": 0,
- "totalElements": 0,
- "totalPages": 0,
- "size": 0,
- "content": [
- {
- "id": "string",
- "name": "string",
- "comment": "string",
- "customerId": 0,
- "global": true,
- "sourceType": "EXTERNAL",
- "structureType": "CUSTOM",
- "refreshMode": "POLL",
- "type": "XML",
- "remoteUrl": "string",
- "refreshFrequency": 0,
- "cronExpressionParameters": {
- "cronExpression": "string",
- "timeZone": "string"
}, - "data": "string",
- "hash": "string",
- "cacheResources": true,
- "removeUrlIfCacheFailed": true,
- "rotateCacheOnEveryUpdate": true,
- "exchangeInternalResourceReferences": true,
- "downloadResourceOnEveryUpdate": true,
- "deactivated": true,
- "autoDeactivated": true,
- "ignoreAutoDeactivate": true,
- "editableByDisplay": true,
- "creationType": "NORMAL",
- "credentialType": "GOOGLE",
- "credentialId": "string",
- "dateFormat": "string",
- "timeFormat": "string",
- "timeZone": "string",
- "generateCalendarForDays": 0,
- "firstDayOfWeek": "Monday",
- "microsoftCalendarDatasourceType": "USER_CALENDAR",
- "calendarId": "string",
- "microsoftUserPrincipalIdOrName": "string",
- "sharepointGroupId": "string",
- "flowId": "string",
- "siteId": "string",
- "listId": "string",
- "driveId": "string",
- "workBookId": "string",
- "microsoftWorkBookParameters": {
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true
}, - "microsoftWorkbookV2Parameters": {
- "options": [
- {
- "siteId": "string",
- "driveId": "string",
- "workBookId": "string",
- "workSheetId": "string",
- "range": "string",
- "fetchCharts": true,
- "firstRowIsHeader": true,
- "allSheet": true,
- "sameWorkbookParams": true
}
]
}, - "spreadSheetId": "string",
- "sheetId": "string",
- "sheetRange": "string",
- "driveFolderId": "string",
- "spreadSheetLegacyFormat": true,
- "firstRowIsHeader": true,
- "jdbcUserName": "string",
- "jdbcPassword": "string",
- "jdbcQuery": "string",
- "standardTableFormat": true,
- "keepLastXDays": 0,
- "keepLastXItem": 0,
- "maxElementCount": 0,
- "quickFilterId": "string",
- "systemDatasourceType": "FILES",
- "requestSettings": {
- "httpMethod": "GET",
- "customHeaders": {
- "property1": "string",
- "property2": "string"
}, - "basicAuth": {
- "username": "string",
- "password": "string"
}, - "body": "string",
- "jsonBody": true
}, - "respectCacheControl": true,
- "aiParameters": {
- "prompt": "string",
- "jsonSchemaOutput": { },
- "exampleJson": { },
- "sourceDatasourceIds": [
- "string"
]
}, - "calendarMergeParameters": {
- "calendarDatasourceIds": [
- "string"
]
}, - "webScraperParameters": {
- "prompt": "string",
- "url": "string",
- "waitTime": 0,
- "jsonSchemaOutput": { },
- "exampleJson": { }
}, - "weatherParameters": {
- "locations": [
- {
- "location": "string",
- "displayName": "string"
}
], - "geoPositions": [
- {
- "lat": 0.1,
- "lon": 0.1,
- "displayName": "string"
}
]
}, - "capParameters": {
- "capFeedURL": "string",
- "parserRule": {
- "capItemURLSelector": "string"
}, - "cacheRule": {
- "capFeedUpdatedSelector": "string",
- "capItemLastModifiedSelector": "string"
}, - "deviceIdentificationRule": {
- "tagBasedRule": {
- "deviceTagSelector": "ADDRESSES",
- "deviceTagSeparator": "string",
- "deviceTagOperator": "AND"
}, - "locationBasedRule": {
- "resolveLocation": true
}
}, - "emergencyStatusAutoUpdaterRule": {
- "includeDevicesByTag": "string"
}, - "mapperRule": {
- "defaultExpire": 0
}
}, - "toastParameters": {
- "externalGroupRef": "string",
- "externalRestaurantRef": "string",
- "method": "MENU",
- "filterMenuGuids": [
- "string"
]
}, - "toastRestaurantGuid": "string",
- "screenshotParameters": {
- "screenshotConfigs": [
- { }
]
}, - "fileFromUrlParameters": {
- "urls": [
- {
- "url": "string"
}
]
}, - "userActiveDirectoryParameters": {
- "fetchProfilePictures": true,
- "profilePictureSize": "SIZE_48x48",
- "members": "ONLY_INTERNAL",
- "filter": "string",
- "filterBy": "NAME",
- "format": "LIST"
}, - "facebookPageFeedParameters": {
- "pageId": "string"
}, - "instagramPageFeedParameters": {
- "pageId": "string"
}, - "sharepointNewsParameters": {
- "siteId": "string"
}, - "sharepointHeaders": {
- "headers": [
- "string"
]
}, - "powerBiExportParameters": {
- "groupId": "string",
- "reportId": "string",
- "pageNames": [
- "string"
], - "width": 1920,
- "height": 1080
}, - "dynamicParameters": {
- "parameters": { }
}, - "functionIdentifierType": "string",
- "functionIdentifierVersion": "string",
- "datasourceTransformation": {
- "transformations": [
- { }
]
}, - "lastAccessed": 0,
- "lastError": 0,
- "lastModified": 0,
- "lastUpdated": 0,
- "lastChanged": 0,
- "createdAt": 0,
- "nextRefreshTime": 0,
- "lastActiveSubscription": 0,
- "errorCounter": 0,
- "refreshCounter": 0,
- "ignoreErrorCounter": true,
- "customer": {
- "id": 0,
- "name": "string"
}, - "readOnly": true,
- "resourceDetails": { },
- "usedStorage": 0,
- "configMetadata": { }
}
]
}Retrieve usage information showing which content uses each data source.
Minimum role: VIEWER
| 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: |
{- "first": true,
- "last": true,
- "number": 0,
- "numberOfElements": 0,
- "totalElements": 0,
- "totalPages": 0,
- "size": 0,
- "content": [
- {
- "datasourceId": "string",
- "contentUsage": [
- {
- "id": "string",
- "name": "string",
- "deviceContentType": "string"
}
]
}
]
}Export data source list as CSV file.
Minimum role: VIEWER
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| search | string WBQL filter expression. Operators: |
Update team assignments for a data source.
Minimum role: OWNER
| customerId | integer Customer/tenant ID for multi-tenant filtering.
|
| datasourceId required | string Data source ID |
Array of objects Teams to assign the resource to | |
| removeFromTeamIds | Array of strings Team IDs to remove the resource from |
{- "assignToTeams": [
- {
- "teamId": "string",
- "readOnly": true
}
], - "removeFromTeamIds": [
- "string"
]
}Set data source data from a display device.
Used for interactive displays that can update data sources.
Only works for INTERNAL data sources with editableByDisplay: true.
| datasourceId required | string Data source ID |
JSON data to set
{ }Merge data into a data source from a display device. Preserves existing data while adding/updating specific keys.
| datasourceId required | string Data source ID |
JSON data to merge
{ }Increase a numeric value in the data source by 1. Optionally specify a maximum value to cap the increase.
| datasourceId required | string Data source ID |
| selector required | string JSON path selector for the numeric value |
| maximumValue | integer <int64> Maximum allowed value (will not increase beyond this) |
Decrease a numeric value in the data source by 1. Optionally specify a minimum value to cap the decrease.
| datasourceId required | string Data source ID |
| selector required | string JSON path selector for the numeric value |
| minimumValue | integer <int64> Minimum allowed value (will not decrease below this) |
Insert an element into an array in the data source. Can specify position, max elements, and rotation behavior.
| datasourceId required | string Data source ID |
| selector required | string JSON path selector for the array |
| index | integer <int64> Index to insert at (appends if not specified) |
| maxElementCount | integer <int64> Maximum number of elements to keep in array |
| rotateEnabled | boolean Enable rotation when max elements reached |
Element to insert
{ }Remove an element from an array in the data source by index.
| datasourceId required | string Data source ID |
| selector required | string JSON path selector for the array |
| index | integer <int64> Index of element to remove (removes last if not specified) |
Rotate elements in an array, optionally removing elements older than a specified threshold based on a date attribute.
| datasourceId required | string Data source ID |
| arraySelector required | string JSON path selector for the array |
| dateAttributeSelector | string JSON path selector for date attribute within array elements |
| keepThresholdMilliseconds | integer <int64> Keep elements newer than this threshold (milliseconds) |
Find an element in an array and either merge data into it or replace it entirely. Elements can be found by index or by matching a selector value.
| datasourceId required | string Data source ID |
| keySelector required | string JSON path selector for the array |
| itemSelectorIndex | integer Find element by array index |
| itemSelector | string JSON path selector for matching attribute within elements |
| itemSelectorValue | string Value to match against itemSelector |
| replace | boolean Default: true If true, replace element entirely; if false, merge data |
Data to merge or replace with
{ }