Skip to main content

Wallboard API Documentation (1.11)

Download OpenAPI specification:Download

API Support: support@wallboard.us

OpenAPI specification (OAS) for the Wallboard API.

Overview

In this document, you can find some useful information about the Wallboard API. The API mainly follows the REST approach with OAuth 2.0 authentication and authorization standards.

Wallboard have two types of end-points:

Public

  • Callable by any client
  • API root starts with /public-api/
  • No OAuth2 authorization
  • Usually used with GUID based ID-s

Secured

  • Only callable with OAuth2 authorization
  • API root starts with /api/

Notes

  • The API only uses JSON format for data transfer objects.
  • The update logic usually follows the “if an attribute is null, it’s ignored” logic.
  • In the return value if an attribute is not present it means NULL (to lower the overall traffic).

Generally available parameters

customerId - tenant selector parameter

  • Customer ID parameter is present on most our endpoints and it can be used to select a specific tenant in the system, which the operations should be performed on.
  • This is used by ADMIN users (or network/subresellers OWNERS) as they have access to multiple tenants.
  • Non-admin users don't have to fill this parameter, because they can only access their customer's resources.
  • If as an ADMIN you want to get every resource in the system set this value to "-1".

page,size - pagination parameters

  • Pagination is implemented by the default Spring pagination logic.
  • Page index starts from 0.
  • If you don’t set any additional parameter, the API gives back the first 20 elements.
  • The maximum element count for a page is 1000.

sort parameter

  • Spring's default sort expression
  • Directions: asc, desc
  • Multiple parameters are supported - sort=name,asc&sort=lastActivity,desc
  • There is no escape logic, the parameter simply has to be URL encoded.
  • Value selectors can be chained with a . to be able to access embedded or connected entities' attributes
  • Examples: sort=name,asc, sort=content.name,asc

search - filtering parameter

With this parameter you can create dynamic queries to filter the resources.

select - selecting fields

With this parameter you can specify which attributes or related entities should be present in the response.

Syntax (WBQL - Wallboard Query Language)

Search (WBCriteria)

Value operators

  • : - means contains in case of string literals and equals in case of other value types
    • Example: name:mydevice - matches for prefix-mydevice-postfix
  • = - means exact match
  • - not equals
    • Unicode escape sequence: \u2260
  • - not contains
    • Works only with string literals
    • Unicode escape sequence: \u2209
  • ^ - starts with
    • Works only with string literals
  • > - greater than
  • - greater than or equal
    • Unicode escape sequence: \2265
  • < - less than
  • - less than or equal
    • Unicode escape sequence: \2264

Logical operators

  • , - AND
    • Example: name=a,name=b
  • | - OR
    • Example: name=something|name=something else
  • Logical groupings are currently not supported

Value matcher keywords

  • true
    • Only can be used with boolean attributes
    • Example: isValid:true
  • false
    • Only can be used with boolean attributes
  • NULL - value or connected entity is null
    • Example: content=NULL
  • !NULL - value or connected entity is NOT null
    • Example: folder.parent=!NULL

Escaping

  • All values has to be URL encoded
  • The search parameter value must be URL encoded (most libraries encode request parameters by default)
  • Format: search=urlEncode({value_name}{value_operator}urlEncode({value}))
  • Example: search=name:mydevice:athome (the second : is part of the device's name) -> search=name%3Amydevice%253Aathome
  • Example: search=teamAssignments.team.id=teamId1|teamAssignments.team.id=teamId2

Notes

  • Date type attributes are supported and can be matched by UTC timestamps (milliseconds)
    • Example: startDate>1683616562 - means the startDate should be after 2023-05-09T07:15:46+00:00
  • Value selectors can be chained with a . to be able to access embedded or connected entities' attributes
    • Example: deviceGroup.parent.id=000c08d294df48efb1b0f5aa754d7ef9 - meaning: the device's group's parent group's id should be '000c08d294df48efb1b0f5aa754d7ef9'.

Basic Examples

  • User name contains the letter a: name:a
  • Device state is online and is in emergency state: state:ONLINE,device.emergencyStatus:true
  • A device content's name contains the substring "happy new year": content.name:happy new year

Advanced Examples

  • Coming soon

Select (WBSelect)

With the select parameter you can also specify attributes that you want to select from a given entity. This method allows you to run more optimal and faster queries.

You can use the select function to append attributes from other related entities to the query (if the relationship is one-to-one or many-to-one).

Syntax:

  • * : Selects all primitive attributes of the entity
    • Equivalent to the missing select parameter
    • Calculated fields and related entities are NOT included
    • Example: select=*
  • , : Attributes should be separated with a ,
    • Example: select=id,name,comment
  • ( ) : Used to select specific attributes from related entities
    • Example: select=id,name,device(id,name)

Advanced examples:

  • select=*,customer(id,name)
    • Selects all primitive attributes from the device, plus the id and name of the customer it belongs to
  • select=*,totalUserLoginCount,lastDeviceActivity
    • Select all the primitive attributes from the customer and the two specified calculated fields

Team management

includeReadOnlyInfo parameter

  • Most of the GET endpoints support the optional calculation of the readOnly-ness of a resource
  • An entity can be read-only for a user depending on the team settings
  • If specifically not needed we suggest to turn if off, for faster response times

includeResourcesWithoutTeam parameter

  • Determines whether or not to include resources which are not assigned to any team

selectTeamIds parameter

  • A list of team ids that resources should be included in the response
  • If empty, all team's resources are included
  • Example: selectTeamIds=teamId1,teamId2

Roles

All users have a role and all of the secured API requires a minimum role to use it. The role is always hierarchical, so a user with an OWNER role can use all endpoints that require an OWNER or lower roles. We use the following hierarchy:

Global:

  • ADMIN
    • Super admin of the system.
    • Can access anything and can do everything.

Tenant:

  • OWNER
    • Tenant(customer) admin.
    • Under it's own domain can access anything and can do everything.
    • Can't belong to any team.
  • TECHNICIAN
    • Can do everything except user and team management.
  • APPROVER
  • EDITOR
  • VIEWER
  • DEVICE USER

Terminology

We are using a bit different terminology for entities like you used to in our GUI. The following expressions mean the same:

  • device = screen = player
  • customer = client = tenant
  • subreseller = network owner

Swagger - Deprecated

We have swagger set up at https://development.wallboard.info/swagger-ui.html, but it's not perfectly configured, there can be missing or misleading parameters. Also, the microservice's API is missing from there.

Authentication

OAuth2 client credentials

By default, there are two built-in client credentials in the system, which you can use to get an access_token.

Default client details:

  • client-id: default-client
  • client-secret: 76211db5d8ea
  • Basic auth header value: Basic ZGVmYXVsdC1jbGllbnQ6NzYyMTFkYjVkOGVh
  • access_token validity: 20 minutes
  • refresh_token validity: 30 days

Short-lived client details:

  • client-id: short-lived
  • client-secret: mPSjfsJy8rs4m7y4
  • Basic auth header value: Basic c2hvcnQtbGl2ZWQ6bVBTamZzSnk4cnM0bTd5NA==
  • access_token validity: 20 minutes
  • refresh_token validity: 30 minutes

JWT

Certain new API endpoints use JWT token as authorization instead of the regular access_token.

token

OAuth2 token management operations

Get and refresh access token

To log in (get first access_token) fill username/password and set grant_type to "password".

To exchange a refresh_token for a new access_token fill refresh_token parameter and set grant_type to "refresh_token".

header Parameters
Authorization
required
string <Basic clientId:clientSecret>
Example: Basic ZGVmYXVsdC1jbGllbnQ6NzYyMTFkYjVkOGVh

Uses basic authentication. The 'clientId:clientSecret' part must be base64 encoded.

Request Body schema: x-www-form-urlencoded
required
username
string <username@example.com>

Email address of the user who wants to log in.

password
string

Password of the user who wants to log in.

refresh_token
string

Refresh token of the user who already logged in.

grant_type
string
Enum: "password" "refresh_token"

On login use "password", on refresh use "refresh_token".

Responses

Request samples

curl -X POST \
  https://example.com/oauth/token \
  -H 'Authorization: Basic ZGVmYXVsdC1jbGllbnQ6NzYyMTFkYjVkOGVh' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=password' \
  --data-urlencode 'username=user@example.com' \
  --data-urlencode 'password=MyPassword123'

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "token_type": "bearer",
  • "expires_in": 0,
  • "refresh_token": "string",
  • "refresh_total_validity_seconds": 0,
  • "jwt_access_token": "string",
  • "customer_id": 0
}

advertiser

Advertiser management

Update team assignment

Minimum role: OWNER with customer selector

This endpoint is used to update advertiser team assignments.

query Parameters
customerId
integer (customerId)
advertiserId
required
string
Request Body schema: application/json
required
Array of objects
removeFromTeamIds
Array of strings

Responses

Request samples

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

Create

Minimum role: TECHNICIAN with customer selector

This endpoint is used to create advertiser.

query Parameters
customerId
integer (customerId)
teamIds
string <{teamId}:{readOnly},{teamId}:{readOnly}... > (teamIds)
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false
Request Body schema: application/json
required
id
string
name
string
comment
string
enabled
boolean
customerId
integer
object (advertiserValidity)
proofOfPlayAccessSecretConfigured
boolean

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "comment": "string",
  • "enabled": true,
  • "customerId": 0,
  • "validity": {
    },
  • "proofOfPlayAccessSecretConfigured": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "comment": "string",
  • "enabled": true,
  • "customerId": 0,
  • "validity": {
    },
  • "proofOfPlayAccessSecretConfigured": true
}

Get

Minimum role: VIEWER with customer selector

This endpoint is used to retrieve advertiser data.

query Parameters
customerId
integer (customerId)
search
string (search)

WBQL search expression

page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/adv?customerId=182&page=0&size=15&sort=name'

Response samples

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

Get with basic attributes (simple)

Minimum role: VIEWER with customer selector

This endpoint is useful for listing or if quick response time is required and you only need the id and name.

query Parameters
customerId
integer (customerId)
search
string (search)

WBQL search expression

includeReadOnlyInfo
boolean (includeReadOnlyInfo)
Default: false

Whether or not the readOnly attribute should be filled on the response

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/adv/simple?customerId=182&includeReadOnlyInfo=true'

Response samples

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

Get with basic attributes (simplePaged)

Minimum role: VIEWER with customer selector

This endpoint is useful for listing or if quick response time is required and you only need the id and name.

query Parameters
customerId
integer (customerId)
search
string (search)

WBQL search expression

page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

includeReadOnlyInfo
boolean (includeReadOnlyInfo)
Default: false

Whether or not the readOnly attribute should be filled on the response

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/adv/simplePaged?customerId=182&page=0&size=15&sort=name&includeReadOnlyInfo=false'

Response samples

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

Get proof of play links

Minimum role: VIEWER

This endpoint is used to retrieve proof of play links of advertiser.

query Parameters
advId
required
string

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/adv/getProofOfPlayLinks?advId=eab615518d4a405ea08f8002760c8739'

Response samples

Content type
application/json
{
  • "exportHistoryAsCSV": "string",
  • "enabled": true
}

Get by ID

Minimum role: VIEWER with customer selector

This endpoint is used to retrieve advertiser data by advertiserId.

path Parameters
advertiserId
required
string

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/adv/eab615518d4a405ea08f8002760c8739'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "comment": "string",
  • "enabled": true,
  • "customerId": 0,
  • "validity": {
    },
  • "readOnly": true,
  • "proofOfPlayAccessSecretConfigured": true
}

Delete

Minimum role: TECHNICIAN

This endpoint is used to delete advertiser.

path Parameters
advertiserId
required
string

Responses

Request samples

curl -X DELETE \
  '{{server_root}}/api/adv/eab615518d4a405ea08f8002760c8739'

Update

Minimum role: TECHNICIAN

This endpoint is used to update advertiser.

path Parameters
advertiserId
required
string
Request Body schema: application/json
required
id
string
name
string
comment
string
enabled
boolean
customerId
integer
object (advertiserValidity)
proofOfPlayAccessSecretConfigured
boolean

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "comment": "string",
  • "enabled": true,
  • "customerId": 0,
  • "validity": {
    },
  • "proofOfPlayAccessSecretConfigured": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "comment": "string",
  • "enabled": true,
  • "customerId": 0,
  • "validity": {
    },
  • "proofOfPlayAccessSecretConfigured": true
}

Enable proof of play links

Minimum role: TECHNICIAN

This endpoint is used to enable proof of play links of advertiser.

query Parameters
advId
required
string

Responses

Request samples

curl -X PUT \
  '{{server_root}}/api/adv/enableProofOfPlayLinks?advId=eab615518d4a405ea08f8002760c8739'

Response samples

Content type
application/json
{
  • "exportHistoryAsCSV": "string",
  • "enabled": true
}

Disable proof of play links

Minimum role: TECHNICIAN

This endpoint is used to disable proof of play links of advertiser.

query Parameters
advId
required
string

Responses

Request samples

curl -X PUT \
  '{{server_root}}/api/adv/disableProofOfPlayLinks?advId=eab615518d4a405ea08f8002760c8739'

Response samples

Content type
application/json
{
  • "exportHistoryAsCSV": "string",
  • "enabled": true
}

alert

Alert management

Get

Minimum role: OWNER with customer selector

This endpoint is used to retrieve alert data.

query Parameters
search
string
customerId
integer (customerId)
page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/alert?customerId=182&page=0&size=15&sort=name'

Response samples

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

Get datasource alert

Minimum role: VIEWER with customer selector

This endpoint is used to retrieve datasource alert data.

query Parameters
search
string
customerId
integer (customerId)
page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/alert/datasource?customerId=182&page=0&size=15&sort=name'

Response samples

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

Get device alert

Minimum role: VIEWER with customer selector

This endpoint is used to retrieve device alert data.

query Parameters
customerId
integer (customerId)
search
string
page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/alert/device?customerId=182&page=0&size=15&sort=name'

Response samples

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

Get all device alerts

Minimum role: VIEWER with customer selector

This endpoint is used to retrieve device alert data.

query Parameters
customerId
integer (customerId)
search
string

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/alert/device/all?customerId=182'

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAtDate": 1683802510,
  • "alertRuleId": 0,
  • "alertRuleName": "string",
  • "deviceId": "string",
  • "deviceName": "string",
  • "deviceLastActivity": 1683802510,
  • "deviceLastStatusChange": 1683802510,
  • "deviceGroupId": "string",
  • "deviceGroupPath": "string"
}

alert rule

Alert rule management

Update team assignment

Minimum role: OWNER with customer selector

This endpoint is used to update alert rule team assignment.

query Parameters
customerId
integer (customerId)
alertRuleId
required
integer
Request Body schema: application/json
required
Array of objects
removeFromTeamIds
Array of strings

Responses

Request samples

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

Create

Minimum role: TECHNICIAN with customer selector

This endpoint is used to create alert rule.

query Parameters
customerId
integer (customerId)
teamIds
string <{teamId}:{readOnly},{teamId}:{readOnly}... > (teamIds)
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false
Request Body schema: application/json
required
@type
string
Enum: "DeviceOffline" "DatasourceError"
name
string
id
integer
comment
string
enabled
boolean
deviceLastActivityAlertRuleCondition (object) or deviceStatusChangedEventAlertRuleCondition (object) or datasourceRefreshErrorCountAlertRuleCondition (object) or metricValueCondition (object)
object (alertRuleEvaluate)
delayEvaluateAfterViolationMinutes
integer
scheduledEvaluateSeconds
integer
object (workingDays)
object (workingTime)
Array of objects (notificationChannel)
version
integer
dtype
string
object (teamAccessList)
readOnly
boolean
alertEmailTemplate
string
evaluateSummaryEmailTemplate
string
alertSmsTemplate
string
alertFixedSmsTemplate
string

Responses

Request samples

Content type
application/json
{
  • "@type": "DeviceOffline",
  • "name": "string",
  • "id": 0,
  • "comment": "string",
  • "enabled": true,
  • "condition": {
    },
  • "evaluate": {
    },
  • "delayEvaluateAfterViolationMinutes": 0,
  • "scheduledEvaluateSeconds": 0,
  • "workingDays": {
    },
  • "workingTime": {
    },
  • "notificationChannels": [
    ],
  • "version": 0,
  • "dtype": "string",
  • "teamAccessList": {
    },
  • "readOnly": true,
  • "alertEmailTemplate": "string",
  • "evaluateSummaryEmailTemplate": "string",
  • "alertSmsTemplate": "string",
  • "alertFixedSmsTemplate": "string"
}

Response samples

Content type
application/json
{
  • "@type": "DeviceOffline",
  • "name": "string",
  • "id": 0,
  • "comment": "string",
  • "enabled": true,
  • "condition": {
    },
  • "evaluate": {
    },
  • "delayEvaluateAfterViolationMinutes": 0,
  • "scheduledEvaluateSeconds": 0,
  • "workingDays": {
    },
  • "workingTime": {
    },
  • "notificationChannels": [
    ],
  • "version": 0,
  • "dtype": "string",
  • "teamAccessList": {
    },
  • "readOnly": true,
  • "alertEmailTemplate": "string",
  • "evaluateSummaryEmailTemplate": "string",
  • "alertSmsTemplate": "string",
  • "alertFixedSmsTemplate": "string"
}

Get

Minimum role: TECHNICIAN with customer selector

This endpoint is used to retrieve alert rules data.

query Parameters
customerId
integer (customerId)
search
string (search)

WBQL search expression

page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/alertRule?customerId=182&page=0&size=15&sort=name'

Response samples

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

Get with basic attributes (simple)

Minimum role: TECHNICIAN with customer selector

This endpoint is useful for listing or if quick response time is required and you only need the id and name.

query Parameters
customerId
integer (customerId)
search
string (search)

WBQL search expression

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/alertRule/simple?customerId=182&includeReadOnlyInfo=true'

Response samples

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

Get with basic attributes (simplePaged)

Minimum role: TECHNICIAN with customer selector

This endpoint is useful for listing or if quick response time is required and you only need the id and name.

query Parameters
customerId
integer (customerId)
search
string (search)

WBQL search expression

page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/alertRule/simplePaged?customerId=182&page=0&size=15&sort=name&includeReadOnlyInfo=true'

Response samples

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

Get by ID

Minimum role: TECHNICIAN

This endpoint is used to retrieve alert rule by alertRuleId.

path Parameters
alertRuleId
required
integer

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/alertRule/336'

Response samples

Content type
application/json
{
  • "@type": "DeviceOffline",
  • "name": "string",
  • "id": 0,
  • "comment": "string",
  • "enabled": true,
  • "condition": {
    },
  • "evaluate": {
    },
  • "delayEvaluateAfterViolationMinutes": 0,
  • "scheduledEvaluateSeconds": 0,
  • "workingDays": {
    },
  • "workingTime": {
    },
  • "notificationChannels": [
    ],
  • "version": 0,
  • "dtype": "string",
  • "teamAccessList": {
    },
  • "readOnly": true,
  • "alertEmailTemplate": "string",
  • "evaluateSummaryEmailTemplate": "string",
  • "alertSmsTemplate": "string",
  • "alertFixedSmsTemplate": "string"
}

Update

Minimum role: TECHNICIAN

This endpoint is used to update alert rule data.

path Parameters
alertRuleId
required
integer
Request Body schema: application/json
required
@type
string
Enum: "DeviceOffline" "DatasourceError"
name
string
id
integer
comment
string
enabled
boolean
deviceLastActivityAlertRuleCondition (object) or deviceStatusChangedEventAlertRuleCondition (object) or datasourceRefreshErrorCountAlertRuleCondition (object) or metricValueCondition (object)
object (alertRuleEvaluate)
delayEvaluateAfterViolationMinutes
integer
scheduledEvaluateSeconds
integer
object (workingDays)
object (workingTime)
Array of objects (notificationChannel)
version
integer
dtype
string
object (teamAccessList)
readOnly
boolean
alertEmailTemplate
string
evaluateSummaryEmailTemplate
string
alertSmsTemplate
string
alertFixedSmsTemplate
string

Responses

Request samples

Content type
application/json
{
  • "@type": "DeviceOffline",
  • "name": "string",
  • "id": 0,
  • "comment": "string",
  • "enabled": true,
  • "condition": {
    },
  • "evaluate": {
    },
  • "delayEvaluateAfterViolationMinutes": 0,
  • "scheduledEvaluateSeconds": 0,
  • "workingDays": {
    },
  • "workingTime": {
    },
  • "notificationChannels": [
    ],
  • "version": 0,
  • "dtype": "string",
  • "teamAccessList": {
    },
  • "readOnly": true,
  • "alertEmailTemplate": "string",
  • "evaluateSummaryEmailTemplate": "string",
  • "alertSmsTemplate": "string",
  • "alertFixedSmsTemplate": "string"
}

Response samples

Content type
application/json
{
  • "@type": "DeviceOffline",
  • "name": "string",
  • "id": 0,
  • "comment": "string",
  • "enabled": true,
  • "condition": {
    },
  • "evaluate": {
    },
  • "delayEvaluateAfterViolationMinutes": 0,
  • "scheduledEvaluateSeconds": 0,
  • "workingDays": {
    },
  • "workingTime": {
    },
  • "notificationChannels": [
    ],
  • "version": 0,
  • "dtype": "string",
  • "teamAccessList": {
    },
  • "readOnly": true,
  • "alertEmailTemplate": "string",
  • "evaluateSummaryEmailTemplate": "string",
  • "alertSmsTemplate": "string",
  • "alertFixedSmsTemplate": "string"
}

Delete

Minimum role: TECHNICIAN

This endpoint is used to delete alert rule.

path Parameters
alertRuleId
required
integer

Responses

Request samples

curl -X DELETE \
  '{{server_root}}/api/alertRule/336'

campaign

Campaign management

Create

Minimum role: APPROVER with customer selector

This endpoint is used to create campaign.

query Parameters
customerId
integer (customerId)
teamIds
string <{teamId}:{readOnly},{teamId}:{readOnly}... > (teamIds)
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false
Request Body schema: application/json
required
name
string
validFrom
string <2024-03-19>
validTo
string <2024-03-20>
duration
integer
defaultDuration
integer

Default duration for media items without length (images).

weight
integer

This is the priority of the campaign. Priority increases as the number decreases.

contentShuffleMode
string (campaignContentShuffleMode)
Enum: "BALANCED" "SERIAL"
saturation
integer

Campaigns with higher saturation will be played proportionally more.

skipDefaultPage
boolean
Default: false
skipInvalidFiles
boolean
Default: false
enabled
boolean
Default: true
object (workingTime)
object (workingDays)
object (workingDateRanges)
object (tagCondition)
object (tagCondition)
object (tagCondition)
object (tagCondition)
type
string (campaignPlayedAssetType)
Enum: "CONTENT" "CONTENT_BY_TAG" "MESSAGE_GROUP" "ASSETS_STATIC" "ASSETS_DYNAMIC" "SIMPLE_LOOP" "SIMPLE_LOOP_BY_TAG"
orderingMode
string (campaignOrderingMode)
Enum: "RANDOM" "ALPHABET" "DEFAULT"
advertiserId
string
object (teamAccessList)
object (teamAccessList)
playMultipleItemsInSinglePlaybackSlot
boolean
Default: false
playAllItemsInSinglePlaybackSlot
boolean
Default: true
playbackSlotDuration
integer
playbackSlotNumberOfElementsToPlay
integer
tags
Array of strings (tags)
object (campaignMessageGroupAssignmentDto)
object (campaignDeviceGroupAssignmentDto)
object (campaignContentAssignmentDto)
object (campaignSimpleLoopAssignmentDto)
object (campaignFileFolderAssignmentDto)
object (campaignFileAssignmentDto)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "validFrom": "string",
  • "validTo": "string",
  • "duration": 0,
  • "defaultDuration": 0,
  • "weight": 0,
  • "contentShuffleMode": "BALANCED",
  • "saturation": 0,
  • "skipDefaultPage": false,
  • "skipInvalidFiles": false,
  • "enabled": true,
  • "affectedHours": {
    },
  • "affectedDays": {
    },
  • "affectedDateRanges": {
    },
  • "deviceTagCondition": {
    },
  • "contentTagCondition": {
    },
  • "simpleLoopTagCondition": {
    },
  • "fileTagCondition": {
    },
  • "type": "CONTENT",
  • "orderingMode": "RANDOM",
  • "advertiserId": "string",
  • "teamAccessList": {
    },
  • "playedAssetTeamAccessList": {
    },
  • "playMultipleItemsInSinglePlaybackSlot": false,
  • "playAllItemsInSinglePlaybackSlot": true,
  • "playbackSlotDuration": 0,
  • "playbackSlotNumberOfElementsToPlay": 0,
  • "tags": [
    ],
  • "messageGroupAssignment": {
    },
  • "deviceGroupAssignment": {
    },
  • "contentAssignment": {
    },
  • "simpleLoopAssignment": {
    },
  • "fileFolderAssignment": {
    },
  • "fileAssignment": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "validFrom": "string",
  • "validTo": "string",
  • "duration": 0,
  • "defaultDuration": 0,
  • "weight": 0,
  • "contentShuffleMode": "BALANCED",
  • "saturation": 0,
  • "skipDefaultPage": false,
  • "skipInvalidFiles": false,
  • "enabled": true,
  • "affectedHours": {
    },
  • "affectedDays": {
    },
  • "affectedDateRanges": {
    },
  • "deviceTagCondition": {
    },
  • "contentTagCondition": {
    },
  • "simpleLoopTagCondition": {
    },
  • "fileTagCondition": {
    },
  • "type": "CONTENT",
  • "orderingMode": "RANDOM",
  • "customerId": 0,
  • "advertiserId": "string",
  • "affectedScreenCount": 0,
  • "creatorEmail": "string",
  • "createdDate": 1683802510,
  • "teamAccessList": {
    },
  • "playedAssetTeamAccessList": {
    },
  • "playMultipleItemsInSinglePlaybackSlot": false,
  • "playAllItemsInSinglePlaybackSlot": true,
  • "playbackSlotDuration": 0,
  • "playbackSlotNumberOfElementsToPlay": 0,
  • "tags": [
    ],
  • "readOnly": true
}

Update team assignment

Minimum role: OWNER with customer selector

This endpoint is used to update campaign team assignment.

query Parameters
customerId
integer (customerId)
campaignId
required
integer
Request Body schema: application/json
required
Array of objects
removeFromTeamIds
Array of strings

Responses

Request samples

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

Get

Minimum role: VIEWER with customer selector

This endpoint is used to retrieve campaign data.

query Parameters
customerId
integer (customerId)
search
string (search)

WBQL search expression

page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

select
string (select)

WBQL select expression

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/v2/campaign?customerId=182&page=0&size=15&sort=name'

Response samples

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

Get player devices

Minimum role: VIEWER

This endpoint is used to retrieve the data of the devices, on which the campaign is being played.

query Parameters
campaignId
required
integer

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/campaign/playerDevices?campaignId=653'

Response samples

Content type
application/json
[
  • {
    }
]

Update

Minimum role: APPROVER

This endpoint is used to update campaign data.

path Parameters
campaignId
required
integer
Request Body schema: application/json
required
id
integer
name
string
validFrom
string <2024-03-19>
validTo
string <2024-03-20>
duration
integer
defaultDuration
integer

Default duration for media items without length (images).

weight
integer

This is the priority of the campaign. Priority increases as the number decreases.

contentShuffleMode
string (campaignContentShuffleMode)
Enum: "BALANCED" "SERIAL"
saturation
integer

Campaigns with higher saturation will be played proportionally more.

skipDefaultPage
boolean
Default: false
skipInvalidFiles
boolean
Default: false
enabled
boolean
Default: true
object (workingTime)
object (workingDays)
object (workingDateRanges)
object (tagCondition)
object (tagCondition)
object (tagCondition)
object (tagCondition)
orderingMode
string (campaignOrderingMode)
Enum: "RANDOM" "ALPHABET" "DEFAULT"
advertiserId
string
object (campaignMessageGroupAssignmentDto)
object (campaignDeviceGroupAssignmentDto)
object (campaignContentAssignmentDto)
object (campaignSimpleLoopAssignmentDto)
object (campaignFileAssignmentDto)
object (campaignFileFolderAssignmentDto)
resetValidTo
boolean
resetDuration
boolean
resetDefaultDuration
boolean
resetAdvertiserId
boolean
object (teamAccessList)
object (teamAccessList)
playMultipleItemsInSinglePlaybackSlot
boolean
Default: false
playAllItemsInSinglePlaybackSlot
boolean
Default: true
playbackSlotDuration
integer
playbackSlotNumberOfElementsToPlay
integer
resetPlaybackSlotDuration
boolean
resetPlaybackSlotNumberOfElementsToPlay
boolean
tags
Array of strings (tags)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "validFrom": "string",
  • "validTo": "string",
  • "duration": 0,
  • "defaultDuration": 0,
  • "weight": 0,
  • "contentShuffleMode": "BALANCED",
  • "saturation": 0,
  • "skipDefaultPage": false,
  • "skipInvalidFiles": false,
  • "enabled": true,
  • "affectedHours": {
    },
  • "affectedDays": {
    },
  • "affectedDateRanges": {
    },
  • "deviceTagCondition": {
    },
  • "contentTagCondition": {
    },
  • "simpleLoopTagCondition": {
    },
  • "fileTagCondition": {
    },
  • "orderingMode": "RANDOM",
  • "advertiserId": "string",
  • "messageGroupAssignment": {
    },
  • "deviceGroupAssignment": {
    },
  • "contentAssignment": {
    },
  • "simpleLoopAssignment": {
    },
  • "fileAssignment": {
    },
  • "fileFolderAssignment": {
    },
  • "resetValidTo": true,
  • "resetDuration": true,
  • "resetDefaultDuration": true,
  • "resetAdvertiserId": true,
  • "teamAccessList": {
    },
  • "playedAssetTeamAccessList": {
    },
  • "playMultipleItemsInSinglePlaybackSlot": false,
  • "playAllItemsInSinglePlaybackSlot": true,
  • "playbackSlotDuration": 0,
  • "playbackSlotNumberOfElementsToPlay": 0,
  • "resetPlaybackSlotDuration": true,
  • "resetPlaybackSlotNumberOfElementsToPlay": true,
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "validFrom": "string",
  • "validTo": "string",
  • "duration": 0,
  • "defaultDuration": 0,
  • "weight": 0,
  • "contentShuffleMode": "BALANCED",
  • "saturation": 0,
  • "skipDefaultPage": false,
  • "skipInvalidFiles": false,
  • "enabled": true,
  • "affectedHours": {
    },
  • "affectedDays": {
    },
  • "affectedDateRanges": {
    },
  • "deviceTagCondition": {
    },
  • "contentTagCondition": {
    },
  • "simpleLoopTagCondition": {
    },
  • "fileTagCondition": {
    },
  • "type": "CONTENT",
  • "orderingMode": "RANDOM",
  • "customerId": 0,
  • "advertiserId": "string",
  • "affectedScreenCount": 0,
  • "creatorEmail": "string",
  • "createdDate": 1683802510,
  • "teamAccessList": {
    },
  • "playedAssetTeamAccessList": {
    },
  • "playMultipleItemsInSinglePlaybackSlot": false,
  • "playAllItemsInSinglePlaybackSlot": true,
  • "playbackSlotDuration": 0,
  • "playbackSlotNumberOfElementsToPlay": 0,
  • "tags": [
    ],
  • "readOnly": true
}

Delete

Minimum role: APPROVER

This endpoint is used to delete campaign data.

path Parameters
campaignId
required
integer

Responses

Request samples

curl -X DELETE \
  '{{server_root}}/api/campaign/653'

Delete by date

Minimum role: OWNER with customer selector

This endpoint is used to delete campaign data by date.

query Parameters
customerId
integer (customerId)
date
required
string

Responses

Request samples

curl -X DELETE \
  '{{server_root}}/api/campaign/deleteCampaignsByDate?customerId=182&date=2024-01-01'

content

Content management

Import

Minimum role: EDITOR with customer selector

This endpoint is used to import content.

query Parameters
customerId
integer (customerId)
contentGroupId
string
fileFolderId
string
useOriginalFilesOnDuplicate
boolean
Default: false
teamIds
string <{teamId}:{readOnly},{teamId}:{readOnly}... > (teamIds)
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false
header Parameters
Content-Type
required
string <multipart/form-data>
Example: multipart/form-data
Request Body schema: multipart/form-data
files
Array of strings <binary> [ items <binary > ]
previews
Array of strings <binary> [ items <binary > ]

Responses

Request samples

curl -X POST \
  '{{server_root}}/api/content/import?customerId=182&contentGroupId=e45e875ed46946d4a4478fab77a8bd80&useOriginalFilesOnDuplicate=true'

Export

Minimum role: EDITOR

This endpoint is used to export content.

query Parameters
search
string (search)

WBQL search expression

Responses

Request samples

curl -X POST \
  '{{server_root}}/api/content/export'

Duplicate

Minimum role: EDITOR with customer selector

This endpoint is used to duplicate content.

path Parameters
contentId
required
string
query Parameters
customerId
integer (customerId)
contentGroupId
string
teamIds
string <{teamId}:{readOnly},{teamId}:{readOnly}... > (teamIds)
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false
Request Body schema: application/json
required
name
string
comment
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "comment": "string"
}

Upload preview

Minimum role: EDITOR

This endpoint is used to upload preview for content.

path Parameters
contentId
required
string
query Parameters
fileName
string
createdAt
integer
Request Body schema: application/json
required
previewData
object

Responses

Request samples

Content type
application/json
{
  • "previewData": { }
}

Lock/unlock

Minimum role: APPROVER

This endpoint is used to lock or unlock content.

path Parameters
contentId
required
string
locked
required
boolean

Responses

Request samples

curl -X POST \
  '{{server_root}}/api/content/lock/asd50b6232b4eb19bce33c16c6db148/true'

Add tag

Minimum role: EDITOR with customer selector

This endpoint is used to add content tag.

path Parameters
contentId
required
string
query Parameters
tag
required
string
customerId
integer (customerId)

Responses

Request samples

curl -X POST \
  '{{server_root}}/api/content/asd50b6232b4eb19bce33c16c6db148/addTag?tag=contentTag1&customerId=182'

Set tag

Minimum role: EDITOR with customer selector

This endpoint is used to set content tag.

path Parameters
contentId
required
string
query Parameters
customerId
integer (customerId)
Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Remove tag

Minimum role: EDITOR with customer selector

This endpoint is used to remove content tag.

path Parameters
contentId
required
string
query Parameters
tag
required
string
customerId
integer (customerId)

Responses

Request samples

curl -X POST \
  '{{server_root}}/api/content/asd50b6232b4eb19bce33c16c6db148/removeTag?tag=contentTag1&customerId=182'

Create from template

Minimum role: EDITOR with customer selector

This endpoint is used to create content from template content.

path Parameters
templateId
required
string
query Parameters
customerId
integer (customerId)
contentGroupId
string
name
string
comment
string
teamIds
string <{teamId}:{readOnly},{teamId}:{readOnly}... > (teamIds)
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false

Responses

Request samples

curl -X POST \
  '{{server_root}}/api/content/fromTemplate/16ff4c6b85e14969ae081392fd9003bb?customerId=182&contentGroupId=e45e875ed46946d4a4478fab77a8bd80'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "comment": "string",
  • "lastSaved": 1683802510,
  • "customerId": 0,
  • "contentGroupId": "string",
  • "tags": [
    ],
  • "contentGroupPath": "string",
  • "displayTime": 0,
  • "locked": true,
  • "startDate": 1683802510,
  • "signageModeSecret": "string",
  • "signageModeShortUrl": "string",
  • "deviceContentType": "string",
  • "width": 0,
  • "height": 0,
  • "advancedConfiguration": { },
  • "lastPreviewUploadTime": 1683802510,
  • "lastSavedByEmail": "string",
  • "lastActivity": 1683802510,
  • "lastSavedBy": {
    },
  • "customer": {
    },
  • "contentGroup": {
    },
  • "assignedDeviceCount": 0,
  • "assignedAsNextDeviceCount": 0,
  • "assignedAsEmergencyDeviceCount": 0,
  • "previewPath": "string",
  • "data": { },
  • "orientation": "string",
  • "readOnly": true,
  • "shortUrl": "string",
  • "saveInfo": {
    },
  • "campaignUsageDetails": {
    },
  • "messageUsageDetails": {
    },
  • "previewLocation": "string",
  • "assignedAsNext": true,
  • "assignedAsEmergency": true,
  • "tempFileName": "string",
  • "tempLocation": "string",
  • "location": "string",
  • "fileName": "string",
  • "assigned": true,
  • "pagePreviewPrefix": "string",
  • "previewFileName": "string"
}

Create

Minimum role: EDITOR with customer selector

This endpoint is used to create content.

query Parameters
customerId
integer (customerId)
contentGroupId
string
teamIds
string <{teamId}:{readOnly},{teamId}:{readOnly}... > (teamIds)
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false
Request Body schema: application/json
required
name
string
comment
string
data
object
advancedConfiguration
object
tags
Array of strings (tags)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "comment": "string",
  • "data": { },
  • "advancedConfiguration": { },
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "comment": "string",
  • "lastSaved": 1683802510,
  • "customerId": 0,
  • "contentGroupId": "string",
  • "tags": [
    ],
  • "contentGroupPath": "string",
  • "displayTime": 0,
  • "locked": true,
  • "startDate": 1683802510,
  • "signageModeSecret": "string",
  • "signageModeShortUrl": "string",
  • "deviceContentType": "string",
  • "width": 0,
  • "height": 0,
  • "advancedConfiguration": { },
  • "lastPreviewUploadTime": 1683802510,
  • "lastSavedByEmail": "string",
  • "lastActivity": 1683802510,
  • "lastSavedBy": {
    },
  • "customer": {
    },
  • "contentGroup": {
    },
  • "assignedDeviceCount": 0,
  • "assignedAsNextDeviceCount": 0,
  • "assignedAsEmergencyDeviceCount": 0,
  • "previewPath": "string",
  • "data": { },
  • "orientation": "string",
  • "readOnly": true,
  • "shortUrl": "string",
  • "saveInfo": {
    },
  • "campaignUsageDetails": {
    },
  • "messageUsageDetails": {
    },
  • "previewLocation": "string",
  • "assignedAsNext": true,
  • "assignedAsEmergency": true,
  • "tempFileName": "string",
  • "tempLocation": "string",
  • "location": "string",
  • "fileName": "string",
  • "assigned": true,
  • "pagePreviewPrefix": "string",
  • "previewFileName": "string"
}

Get

Minimum role: VIEWER with customer selector

This endpoint is used to retrieve content data.

query Parameters
customerId
integer (customerId)
includeSaveInfo
boolean
Default: false
includeAssignedInfo
boolean
Default: false
search
string (search)

WBQL search expression

page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/content/?page=0&size=15&sort=name&includeSaveInfo=true&includeAssignedInfo=true&customerId=182'

Response samples

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

Get with basic attributes (simple)

Minimum role: VIEWER with customer selector

This endpoint is useful for listing or if quick response time is required and you only need the id and name.

query Parameters
customerId
integer (customerId)
search
string (search)

WBQL search expression

includeReadOnlyInfo
boolean (includeReadOnlyInfo)
Default: false

Whether or not the readOnly attribute should be filled on the response

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/content/simple?customerId=182&includeReadOnlyInfo=true'

Response samples

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

Get with basic attributes (simplePaged)

Minimum role: VIEWER with customer selector

This endpoint is useful for listing or if quick response time is required and you only need the id and name.

query Parameters
customerId
integer (customerId)
search
string (search)

WBQL search expression

page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

includeReadOnlyInfo
boolean (includeReadOnlyInfo)
Default: false

Whether or not the readOnly attribute should be filled on the response

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/content/simplePaged?customerId=182&page=0&size=15&sort=name&includeReadOnlyInfo=false'

Response samples

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

Get device online and offline ratio

Minimum role: VIEWER with customer selector

This endpoint is used to retrieve device online and offline ratio.

query Parameters
customerId
integer (customerId)
search
string (search)

WBQL search expression

page
integer (page)
Default: 0

Page index

size
integer (size)
Default: 20

Size of page

sort
string (sort)

Sort expression

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/content/getDeviceOnlineOfflineRatio?customerId=182&page=0&size=15&sort=name'

Response samples

Content type
application/json
{
  • "contentId": {
    }
}

Get csv

Minimum role: VIEWER with customer selector

This endpoint is used to retrieve content data in csv.

query Parameters
customerId
integer (customerId)

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/content/csv?customerId=182'

Get by ID

Minimum role: VIEWER

This endpoint is used to retrieve content data.

path Parameters
contentId
required
string
query Parameters
autoSave
boolean
Default: false

Responses

Request samples

curl -X GET \
  '{{server_root}}/api/content/asd50b6232b4eb19bce33c16c6db148?autoSave=false'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "comment": "string",
  • "lastSaved": 1683802510,
  • "customerId": 0,
  • "contentGroupId": "string",
  • "tags": [
    ],
  • "contentGroupPath": "string",
  • "displayTime": 0,
  • "locked": true,
  • "startDate": 1683802510,
  • "signageModeSecret": "string",
  • "signageModeShortUrl": "string",
  • "deviceContentType": "string",
  • "width": 0,
  • "height": 0,
  • "advancedConfiguration": { },
  • "lastPreviewUploadTime": 1683802510,
  • "lastSavedByEmail": "string",
  • "lastActivity": 1683802510,
  • "lastSavedBy": {
    },
  • "customer": {
    },
  • "contentGroup": {
    },
  • "assignedDeviceCount": 0,
  • "assignedAsNextDeviceCount": 0,
  • "assignedAsEmergencyDeviceCount": 0,
  • "previewPath": "string",
  • "data": { },
  • "orientation": "string",
  • "readOnly": true,
  • "shortUrl": "string",
  • "saveInfo": {
    },
  • "campaignUsageDetails": {
    },
  • "messageUsageDetails": {
    },
  • "previewLocation": "string",
  • "assignedAsNext": true,
  • "assignedAsEmergency": true,
  • "tempFileName": "string",
  • "tempLocation": "string",
  • "location": "string",
  • "fileName": "string",
  • "assigned": true,
  • "pagePreviewPrefix": "string",
  • "previewFileName": "string"
}

Update

Minimum role: EDITOR

This endpoint is used to update content data.

path Parameters
contentId
required
string
query Parameters
autoSave
required
boolean
Request Body schema: application/json
required
name
string
comment
string
data
object
advancedConfiguration
object
tags
Array of strings (tags)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "comment": "string",
  • "data": { },
  • "advancedConfiguration": { },
  • "tags": [
    ]
}

Delete

Minimum role: EDITOR

This endpoint is used to delete content.

path Parameters
contentId
required
string
query Parameters
autoSave
required
boolean

Responses

Request samples

curl -X DELETE \
  '{{server_root}}/api/content/asd50b6232b4eb19bce33c16c6db148?autoSave=true'

Remove preview

Minimum role: EDITOR

This endpoint is used to remove content preview.

path Parameters
contentId
required
string
query Parameters
fileName
string

Responses

Request samples

curl -X DELETE \
  '{{server_root}}/api/content/asd50b6232b4eb19bce33c16c6db148/removePreview'

content group

Content group management

Update team assignment

Minimum role: OWNER with customer selector

This endpoint is used to update content group team assignments.

query Parameters
customerId
integer (customerId)
contentGroupId
required
string
Request Body schema: application/json
required
Array of objects
removeFromTeamIds
Array of strings

Responses

Request samples

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

Move to content group

Minimum role: EDITOR with customer selector

This endpoint is used to move content group to content group.

query Parameters
customerId
integer (customerId)
Request Body schema: application/json
required
contentGroupIds
Array of strings
contentIds
Array of strings
targetGroupId
string

Responses

Request samples

Content type
application/json
{
  • "contentGroupIds": [
    ],
  • "contentIds": [
    ],
  • "targetGroupId": "string"
}

Create

Minimum role: EDITOR with customer selector

This endpoint is used to create content group.

query Parameters
customerId
integer (customerId)
parentGroupId
string
teamIds
string <{teamId}:{readOnly},{teamId}:{readOnly}... > (teamIds)
Example: teamIds=000c08d294df48efb1b0f5aa754d7ef9:true,00a22e86602c4a88914614aa9516a481:false
Request Body schema: application/json
required
name
string
deviceContentType
string
isTemplateGroup
boolean

Responses