Skip to content

Depot tvboards

Registers the TV board routes (dashboard:tv) and the practice-wide display list and revoke (dashboard:manage).

This page is generated from the Depot route table. Every operation carries the permission it needs and the anchor an agent can link to.

GETdashboard:tvshared facehosteditmspremoteIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

listTvBoards lists the TV boards, with how many displays each has paired.

StatusBodyDescription
200application/json, TvBoardListSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold dashboard:tv.
404application/problem+json, ProblemDetailsTV boards are not available here.
500application/problem+json, ProblemDetailsThe request failed.

200 response body

FieldTypeDescription
boardsrequiredarray of TvBoard
boards[].displaysrequiredinteger
boards[].idrequiredstring
boards[].namerequiredstring
boards[].playlistrequiredarray of PlaylistItem
boards[].playlist[].builtinKeystring
boards[].playlist[].clientIdstring
boards[].playlist[].dashboardIdstring
boards[].playlist[].secondsrequiredinteger
boards[].refreshSecondsrequiredinteger
boards[].slugrequiredstring
boards[].timezonerequiredstring
boards[].updatedAtrequiredstring (date-time)
boards[].urlrequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/console/tv-boards' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTdashboard:tvshared facehosteditmspremote

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

createTvBoard creates a TV board: a named playlist of dashboards with its own address for a wall display to pair with.

Required, sent as application/json.

FieldTypeDescription
namerequiredstring
playlistrequiredarray of PlaylistItem
playlist[].builtinKeystring
playlist[].clientIdstring
playlist[].dashboardIdstring
playlist[].secondsrequiredinteger
refreshSecondsrequiredinteger
timezonerequiredstring
StatusBodyDescription
201application/json, TvBoardCreated.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold dashboard:tv.
404application/problem+json, ProblemDetailsTV boards are not available here.
500application/problem+json, ProblemDetailsThe request failed.

201 response body

FieldTypeDescription
displaysrequiredinteger
idrequiredstring
namerequiredstring
playlistrequiredarray of PlaylistItem
playlist[].builtinKeystring
playlist[].clientIdstring
playlist[].dashboardIdstring
playlist[].secondsrequiredinteger
refreshSecondsrequiredinteger
slugrequiredstring
timezonerequiredstring
updatedAtrequiredstring (date-time)
urlrequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X POST 'https://depot.example.com/api/v1/console/tv-boards' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"name": "string",
"playlist": [
{
"builtinKey": "string",
"clientId": "string",
"dashboardId": "string",
"seconds": 0
}
],
"refreshSeconds": 0,
"timezone": "string"
}'

GETdashboard:tvshared facehosteditmspremoteIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

getTvBoard reads one TV board.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, TvBoardSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold dashboard:tv.
404application/problem+json, ProblemDetailsTV boards are not available here.
500application/problem+json, ProblemDetailsCould not read the TV board.

200 response body

FieldTypeDescription
displaysrequiredinteger
idrequiredstring
namerequiredstring
playlistrequiredarray of PlaylistItem
playlist[].builtinKeystring
playlist[].clientIdstring
playlist[].dashboardIdstring
playlist[].secondsrequiredinteger
refreshSecondsrequiredinteger
slugrequiredstring
timezonerequiredstring
updatedAtrequiredstring (date-time)
urlrequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/console/tv-boards/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PUTdashboard:tvshared facehosteditmspremoteIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

updateTvBoard replaces a TV board’s name, timezone, refresh and playlist.

Last write wins (L8). Paired displays pick the change up on their next refresh.

NameInTypeRequiredDescription
idpathstringYes

Required, sent as application/json.

FieldTypeDescription
namerequiredstring
playlistrequiredarray of PlaylistItem
playlist[].builtinKeystring
playlist[].clientIdstring
playlist[].dashboardIdstring
playlist[].secondsrequiredinteger
refreshSecondsrequiredinteger
timezonerequiredstring
StatusBodyDescription
200application/json, TvBoardSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold dashboard:tv.
404application/problem+json, ProblemDetailsTV boards are not available here.
500application/problem+json, ProblemDetailsCould not read the TV board.

200 response body

FieldTypeDescription
displaysrequiredinteger
idrequiredstring
namerequiredstring
playlistrequiredarray of PlaylistItem
playlist[].builtinKeystring
playlist[].clientIdstring
playlist[].dashboardIdstring
playlist[].secondsrequiredinteger
refreshSecondsrequiredinteger
slugrequiredstring
timezonerequiredstring
updatedAtrequiredstring (date-time)
urlrequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X PUT 'https://depot.example.com/api/v1/console/tv-boards/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"name": "string",
"playlist": [
{
"builtinKey": "string",
"clientId": "string",
"dashboardId": "string",
"seconds": 0
}
],
"refreshSeconds": 0,
"timezone": "string"
}'

DELETEdashboard:tvshared facehosteditmspremoteIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

deleteTvBoard deletes a TV board and unpairs every display showing it.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold dashboard:tv.
404application/problem+json, ProblemDetailsTV boards are not available here.
500application/problem+json, ProblemDetailsCould not delete the TV board.
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X DELETE 'https://depot.example.com/api/v1/console/tv-boards/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETdashboard:manageshared facehosteditmspremoteIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

listTvDisplays lists every paired TV display in the practice: the board it shows, the device, who activated it and when it last checked in.

StatusBodyDescription
200application/json, DisplayListSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold dashboard:manage.
404application/problem+json, ProblemDetailsTV boards are not available here.
500application/problem+json, ProblemDetailsThe request failed.

200 response body

FieldTypeDescription
displaysrequiredarray of DisplayItem
displays[].activatedAtrequiredstring (date-time)
displays[].activatedBystring
displays[].boardNamerequiredstring
displays[].deviceLabelrequiredstring
displays[].idrequiredstring
displays[].lastSeenAtrequiredstring (date-time)
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/console/tv-displays' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

DELETEdashboard:manageshared facehosteditmspremoteIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

revokeTvDisplay unpairs any display in the practice; it returns to the pairing screen on its next refresh.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold dashboard:manage.
404application/problem+json, ProblemDetailsTV boards are not available here.
500application/problem+json, ProblemDetailsCould not unpair the display.
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X DELETE 'https://depot.example.com/api/v1/console/tv-displays/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either license.