Skip to content

Depot tickets tree

Registers the merge and parent/child routes on the tenant service-desk mux, beside MountTickets.

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

GETticket:readtenant facehosteditmspremoteIdempotent

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

Source: [object Object]

listTicketChildren lists the tickets that name this one as their parent.

NameInTypeRequiredDescription
ticketIDpathstringYesA uuid.
StatusBodyDescription
200application/json, PagedResultTicketSummaryViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold ticket:read.
404application/problem+json, ProblemDetailsNo resource matches that id.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
itemsrequiredarray of TicketSummaryView
items[].agentIdstring
items[].assigneeIdstring
items[].assigneeNamestring
items[].channelrequiredstring
items[].createdAtrequiredstring (date-time)
items[].hostnamestring
items[].lastPublicReplyAtstring (date-time) or null
items[].messageCountrequiredinteger
items[].numberrequiredinteger

int64.

items[].parentIdstring
items[].priorityrequiredstring
items[].publicIdrequiredstring
items[].queueIdstring
items[].queueNamestring
items[].referencerequiredstring
items[].requesterConfidencerequiredstring
items[].requesterEmailstring
items[].requesterIdstring
items[].requesterNamerequiredstring
items[].siteNamestring
items[].slaBreachedrequiredboolean
items[].slaNextEventAtstring (date-time) or null
items[].statusrequiredstring
items[].statusCategoryrequiredstring
items[].statusNamerequiredstring
items[].subcategorystring
items[].subjectrequiredstring
items[].tagsrequiredarray of string
items[].typerequiredstring
items[].unreadrequiredboolean
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/tickets/<ticketID>/children' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTticket:admintenant facehosteditmspremoteIdempotent

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

Source: [object Object]

mergeTicket merges this ticket into another.

NameInTypeRequiredDescription
ticketIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
noterequiredstring
targetTicketIdrequiredstring
StatusBodyDescription
200application/json, TicketMergeResultViewSuccess.
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 ticket:admin.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsUnlink its child tickets before merging it.
422application/problem+json, ProblemDetailsA ticket cannot be merged into itself.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
addedParticipantCountrequiredinteger
createdAtrequiredstring (date-time)
keptInvoicedTimeEntryCountrequiredinteger
movedAttachmentCountrequiredinteger
movedMessageCountrequiredinteger
movedTimeEntryCountrequiredinteger
publicIdrequiredstring
sourceTicketIdrequiredstring
targetTicketIdrequiredstring
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 POST 'https://depot.example.com/api/v1/tickets/<ticketID>/merge' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"note": "string",
"targetTicketId": "string"
}'

PUTticket:writetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

setTicketParent makes another ticket this ticket’s parent.

NameInTypeRequiredDescription
ticketIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
parentTicketIdrequiredstring
StatusBodyDescription
200application/json, TicketDetailViewSuccess.
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 ticket:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsUnlink its child tickets before merging it.
422application/problem+json, ProblemDetailsOne of these tickets has already been merged into another ticket.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
agentIdstring
assigneeIdstring
assigneeNamestring
channelrequiredstring
childCountrequiredinteger
contactAlertsrequiredarray of ContactAlertView
contactAlerts[].colorrequiredstring
contactAlerts[].descriptionrequiredstring
contactAlerts[].displayNamerequiredstring
contactAlerts[].labelrequiredstring
contactAlerts[].namedUserIdrequiredstring
contactAlerts[].tagCoderequiredstring
createdAtrequiredstring (date-time)
customFieldsrequiredobject
descriptionrequiredstring
hostnamestring
lastPublicReplyAtstring (date-time) or null
linksrequiredarray of TicketLinkView
links[].kindrequiredstring
links[].otherPublicIdrequiredstring
links[].otherReferencerequiredstring
links[].otherStatusrequiredstring
links[].otherStatusCategoryrequiredstring
links[].otherSubjectrequiredstring
links[].publicIdrequiredstring
mergedIntoPublicIdstring
messageCountrequiredinteger
numberrequiredinteger

int64.

parentTicketParentView

ticketParentView is the parent breadcrumb on a child's detail.

parent.publicIdrequiredstring
parent.referencerequiredstring
parent.statusCategoryrequiredstring
parent.subjectrequiredstring
parentIdstring
participantsrequiredarray of TicketParticipantView
participants[].emailstring
participants[].namerequiredstring
participants[].rolerequiredstring
participants[].userPublicIdstring
priorityrequiredstring
projectLinksrequiredarray of TicketProjectLinkView
projectLinks[].kindrequiredstring
projectLinks[].projectNamerequiredstring
projectLinks[].projectPublicIdrequiredstring
projectLinks[].projectReferencerequiredstring
projectLinks[].publicIdrequiredstring
projectLinks[].taskPublicIdstring
publicIdrequiredstring
queueIdstring
queueNamestring
referencerequiredstring
requesterConfidencerequiredstring
requesterEmailstring
requesterIdstring
requesterNamerequiredstring
siteNamestring
slaBreachedrequiredboolean
slaNextEventAtstring (date-time) or null
slaReasonstring
statusrequiredstring
statusCategoryrequiredstring
statusNamerequiredstring
subcategorystring
subjectrequiredstring
tagsrequiredarray of string
typerequiredstring
unreadrequiredboolean
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 PUT 'https://depot.example.com/api/v1/tickets/<ticketID>/parent' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"parentTicketId": "string"
}'

DELETEticket:writetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

clearTicketParent unlinks this ticket from its parent.

NameInTypeRequiredDescription
ticketIDpathstringYesA uuid.
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 ticket:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsUnlink its child tickets before merging it.
422application/problem+json, ProblemDetailsOne of these tickets has already been merged into another ticket.
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/tickets/<ticketID>/parent' \
-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.