Skip to content

Depot automation

Registers the rule and macro routes on mux.

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

GETautomation:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

List canned responses

NameInTypeRequiredDescription
dirquerystring, one of asc, descNoSort direction.
ownerUserIdquerystringNo
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
qquerystringNoFree-text search term.
sortquerystring, one of created, name, order, updatedNoSort key.
StatusBodyDescription
200application/json, PagedResultCannedResponseViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold automation:manage.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
itemsrequiredarray of CannedResponseView
items[].actionsrequiredany

Arbitrary JSON.

items[].bodyrequiredstring
items[].bodyFormatrequiredstring
items[].createdAtrequiredstring (date-time)
items[].isSystemrequiredboolean
items[].namerequiredstring
items[].ownerUserIdstring
items[].publicIdrequiredstring
items[].shortcutstring
items[].sortOrderrequiredinteger
items[].updatedAtrequiredstring (date-time)
pagerequiredinteger
pageSizerequiredinteger
totalrequiredinteger
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/automation/canned-responses?dir=asc&ownerUserId=<ownerUserId>&page=0&pageSize=0&q=<q>&sort=created' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTautomation:managetenant facehosteditmspremote

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

Source: [object Object]

Create canned response

Required, sent as application/json.

FieldTypeDescription
actionsany

Arbitrary JSON.

bodystring or null
bodyFormatstring or null
namestring or null
ownerUserIdstring or null
shortcutstring or null
sortOrderinteger or null
StatusBodyDescription
201application/json, CannedResponseViewCreated.
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 automation:manage.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsNo client store in request context.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

201 response body

FieldTypeDescription
actionsrequiredany

Arbitrary JSON.

bodyrequiredstring
bodyFormatrequiredstring
createdAtrequiredstring (date-time)
isSystemrequiredboolean
namerequiredstring
ownerUserIdstring
publicIdrequiredstring
shortcutstring
sortOrderrequiredinteger
updatedAtrequiredstring (date-time)
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/automation/canned-responses' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"actions": "string",
"body": "string",
"bodyFormat": "string",
"name": "string",
"ownerUserId": "string",
"shortcut": "string",
"sortOrder": 0
}'

GET /api/v1/automation/canned-responses/{responseID}

Section titled “GET /api/v1/automation/canned-responses/{responseID}”

GETautomation:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Get canned response

NameInTypeRequiredDescription
responseIDpathstringYesA uuid.
StatusBodyDescription
200application/json, CannedResponseViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold automation:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsNo client store in request context.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

200 response body

FieldTypeDescription
actionsrequiredany

Arbitrary JSON.

bodyrequiredstring
bodyFormatrequiredstring
createdAtrequiredstring (date-time)
isSystemrequiredboolean
namerequiredstring
ownerUserIdstring
publicIdrequiredstring
shortcutstring
sortOrderrequiredinteger
updatedAtrequiredstring (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/automation/canned-responses/<responseID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCH /api/v1/automation/canned-responses/{responseID}

Section titled “PATCH /api/v1/automation/canned-responses/{responseID}”

PATCHautomation:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Patch canned response

NameInTypeRequiredDescription
responseIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
actionsany

Arbitrary JSON.

bodystring or null
bodyFormatstring or null
namestring or null
ownerUserIdstring or null
shortcutstring or null
sortOrderinteger or null
StatusBodyDescription
200application/json, CannedResponseViewSuccess.
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 automation:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsNo client store in request context.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

200 response body

FieldTypeDescription
actionsrequiredany

Arbitrary JSON.

bodyrequiredstring
bodyFormatrequiredstring
createdAtrequiredstring (date-time)
isSystemrequiredboolean
namerequiredstring
ownerUserIdstring
publicIdrequiredstring
shortcutstring
sortOrderrequiredinteger
updatedAtrequiredstring (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 PATCH 'https://depot.example.com/api/v1/automation/canned-responses/<responseID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"actions": "string",
"body": "string",
"bodyFormat": "string",
"name": "string",
"ownerUserId": "string",
"shortcut": "string",
"sortOrder": 0
}'

DELETE /api/v1/automation/canned-responses/{responseID}

Section titled “DELETE /api/v1/automation/canned-responses/{responseID}”

DELETEautomation:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Delete canned response

NameInTypeRequiredDescription
responseIDpathstringYesA uuid.
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold automation:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsNo client store in request context.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.
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/automation/canned-responses/<responseID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETautomation:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

List ticket rules

NameInTypeRequiredDescription
dirquerystring, one of asc, descNoSort direction.
kindquerystringNo
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
qquerystringNoFree-text search term.
sortquerystring, one of created, name, order, updatedNoSort key.
StatusBodyDescription
200application/json, PagedResultTicketRuleViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold automation:manage.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
itemsrequiredarray of TicketRuleView
items[].actionsrequiredany

Arbitrary JSON.

items[].conditionsrequiredany

Arbitrary JSON.

items[].createdAtrequiredstring (date-time)
items[].descriptionstring
items[].enabledrequiredboolean
items[].kindrequiredstring
items[].lastRunAtstring (date-time) or null
items[].namerequiredstring
items[].publicIdrequiredstring
items[].runOrderrequiredinteger
items[].triggerrequiredstring
items[].updatedAtrequiredstring (date-time)
pagerequiredinteger
pageSizerequiredinteger
totalrequiredinteger
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/automation/rules?dir=asc&kind=<kind>&page=0&pageSize=0&q=<q>&sort=created' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTautomation:managetenant facehosteditmspremote

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

Source: [object Object]

Create ticket rule

Required, sent as application/json.

FieldTypeDescription
actionsany

Arbitrary JSON.

conditionsany

Arbitrary JSON.

descriptionstring or null
enabledboolean or null
kindstring or null
namestring or null
runOrderinteger or null
triggerstring or null
StatusBodyDescription
201application/json, TicketRuleViewCreated.
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 automation:manage.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsNo client store in request context.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

201 response body

FieldTypeDescription
actionsrequiredany

Arbitrary JSON.

conditionsrequiredany

Arbitrary JSON.

createdAtrequiredstring (date-time)
descriptionstring
enabledrequiredboolean
kindrequiredstring
lastRunAtstring (date-time) or null
namerequiredstring
publicIdrequiredstring
runOrderrequiredinteger
triggerrequiredstring
updatedAtrequiredstring (date-time)
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/automation/rules' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"actions": "string",
"conditions": "string",
"description": "string",
"enabled": false,
"kind": "string",
"name": "string",
"runOrder": 0,
"trigger": "string"
}'

GETautomation:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Get ticket rule

NameInTypeRequiredDescription
ruleIDpathstringYesA uuid.
StatusBodyDescription
200application/json, TicketRuleViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold automation:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsNo client store in request context.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

200 response body

FieldTypeDescription
actionsrequiredany

Arbitrary JSON.

conditionsrequiredany

Arbitrary JSON.

createdAtrequiredstring (date-time)
descriptionstring
enabledrequiredboolean
kindrequiredstring
lastRunAtstring (date-time) or null
namerequiredstring
publicIdrequiredstring
runOrderrequiredinteger
triggerrequiredstring
updatedAtrequiredstring (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/automation/rules/<ruleID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCHautomation:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Patch ticket rule

NameInTypeRequiredDescription
ruleIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
actionsany

Arbitrary JSON.

conditionsany

Arbitrary JSON.

descriptionstring or null
enabledboolean or null
kindstring or null
namestring or null
runOrderinteger or null
triggerstring or null
StatusBodyDescription
200application/json, TicketRuleViewSuccess.
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 automation:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsNo client store in request context.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

200 response body

FieldTypeDescription
actionsrequiredany

Arbitrary JSON.

conditionsrequiredany

Arbitrary JSON.

createdAtrequiredstring (date-time)
descriptionstring
enabledrequiredboolean
kindrequiredstring
lastRunAtstring (date-time) or null
namerequiredstring
publicIdrequiredstring
runOrderrequiredinteger
triggerrequiredstring
updatedAtrequiredstring (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 PATCH 'https://depot.example.com/api/v1/automation/rules/<ruleID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"actions": "string",
"conditions": "string",
"description": "string",
"enabled": false,
"kind": "string",
"name": "string",
"runOrder": 0,
"trigger": "string"
}'

DELETEautomation:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Delete ticket rule

NameInTypeRequiredDescription
ruleIDpathstringYesA uuid.
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold automation:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsNo client store in request context.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.
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/automation/rules/<ruleID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTautomation:managetenant facehosteditmspremote

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

Source: [object Object]

Run time rules

StatusBodyDescription
200application/json, objectSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold automation:manage.
500application/problem+json, ProblemDetailsNo client store in request context.
503application/problem+json, ProblemDetailsAutomation is not running on this Depot, so time-driven rules cannot be run on demand.
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/automation/run-time-rules' \
-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.