Skip to content

Depot endpointactions

Registers the direct-action route.

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

POST /api/v1/endpoints/{agentID}/actions/{action}

Section titled “POST /api/v1/endpoints/{agentID}/actions/{action}”

POSTendpoint:actiontenant facehosteditmspremote

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

Source: [object Object]

dispatchEndpointAction validates one action, persists the Command, and pushes it to the agent’s live stream.

The dispatch half is dispatchPatchCommand’s, deliberately: an action and a patch button are the same act with different parameters, and the two paths reporting a disconnected endpoint differently would be a difference the console has to know about.

NameInTypeRequiredDescription
actionpathstringYes
agentIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
delaySecondsrequiredinteger
forcerequiredboolean
messageBodyrequiredstring
messageTimeoutSecondsrequiredinteger
messageTitlerequiredstring
processIdrequiredinteger
reasonrequiredstring
serviceNamerequiredstring
serviceStartTyperequiredstring
StatusBodyDescription
202application/json, CommandAcceptedAccepted.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold endpoint:action.
404application/problem+json, ProblemDetailsNo resource matches that id.
500application/problem+json, ProblemDetailsNo client context in request.
502application/problem+json, ProblemDetailsCould not dispatch command to agent.
503application/problem+json, ProblemDetailsThis Depot has no agent connection service, so nothing can be dispatched.

202 response body

FieldTypeDescription
commandIdrequiredstring
deliveredrequiredboolean
staterequiredstring
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/endpoints/<agentID>/actions/<action>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"delaySeconds": 0,
"force": false,
"messageBody": "string",
"messageTimeoutSeconds": 0,
"messageTitle": "string",
"processId": 0,
"reason": "string",
"serviceName": "string",
"serviceStartType": "string"
}'

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.