Skip to content

Depot consoleviews

Registers the saved-view routes.

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

GETshared facehosteditmspremoteIdempotent

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

Source: [object Object]

List console views

NameInTypeRequiredDescription
surfacequerystringNo
StatusBodyDescription
200application/json, objectSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
500application/problem+json, ProblemDetailsNo client store in request context.
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-views?surface=<surface>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTshared facehosteditmspremote

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

Source: [object Object]

saveConsoleView writes a private view for the caller, or a shared one if they hold the surface’s permission for it.

SAVING THE SAME NAME OVERWRITES, which is what somebody means by saving a view they already have. The overwrite is the store’s, on the unique index, so two tabs saving at once cannot produce two rows with one name.

Required, sent as application/json.

FieldTypeDescription
namerequiredstring
sharedrequiredboolean
staterequiredany

Arbitrary JSON.

surfacerequiredstring
StatusBodyDescription
200application/json, ConsoleViewViewSuccess.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsAuthentication is required.
403application/problem+json, ProblemDetailsViews on this page cannot be shared.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
minerequiredboolean
namerequiredstring
publicIdrequiredstring
sharedrequiredboolean
staterequiredany

Arbitrary JSON.

surfacerequiredstring
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-views' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"name": "string",
"shared": false,
"state": "string",
"surface": "string"
}'

PATCHshared facehosteditmspremoteIdempotent

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

Source: [object Object]

patchConsoleView renames a view, restates it, or both.

A rename cannot go through the save route: that one keys on the name, so saving under a new one leaves the old view sitting in the list beside it.

Read-modify-write over the current row, because the store assigns both fields unconditionally - it has no way to express “leave the name alone”, and the toolbar sends state-only patches constantly.

NameInTypeRequiredDescription
viewIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
namestring or null
staterequiredany

Arbitrary JSON.

StatusBodyDescription
200application/json, ConsoleViewViewSuccess.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsAuthentication is required.
403application/problem+json, ProblemDetailsViews on this page cannot be shared.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsA view with that name already exists.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
minerequiredboolean
namerequiredstring
publicIdrequiredstring
sharedrequiredboolean
staterequiredany

Arbitrary JSON.

surfacerequiredstring
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 PATCH 'https://depot.example.com/api/v1/console-views/<viewID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"name": "string",
"state": "string"
}'

DELETEshared facehosteditmspremoteIdempotent

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

Source: [object Object]

deleteConsoleView removes one, and refuses somebody else’s.

The refusal matters more than it looks: these are named by their owner and listed together with the desk’s shared ones, so “tidying up my views” is one click away from deleting the queue the whole desk works from.

NameInTypeRequiredDescription
viewIDpathstringYesA uuid.
StatusBodyDescription
204NoneSuccess, with no body.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsAuthentication is required.
403application/problem+json, ProblemDetailsViews on this page cannot be shared.
404application/problem+json, ProblemDetailsNo resource matches that id.
500application/problem+json, ProblemDetailsNo client store in request context.
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-views/<viewID>' \
-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.