Skip to content

Depot knowledge

Registers the knowledge base 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.

GETkb:readtenant facehosteditmspremoteIdempotent

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

Source: [object Object]

List kb articles

NameInTypeRequiredDescription
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
qquerystringNo
statusquerystringNo
visibilityquerystringNo
StatusBodyDescription
200application/json, PagedResultKbArticleViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold kb:read.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
itemsrequiredarray of KbArticleView
items[].authorUserIdstring
items[].bodyrequiredstring
items[].bodyFormatrequiredstring
items[].createdAtrequiredstring (date-time)
items[].publicIdrequiredstring
items[].publishedAtstring (date-time) or null
items[].slugrequiredstring
items[].statusrequiredstring
items[].summarystring
items[].tagsrequiredany

Arbitrary JSON.

items[].titlerequiredstring
items[].updatedAtrequiredstring (date-time)
items[].viewCountrequiredinteger

int64.

items[].visibilityrequiredstring
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/kb/articles?page=0&pageSize=0&q=<q>&status=<status>&visibility=<visibility>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTkb:managetenant facehosteditmspremote

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

Source: [object Object]

Create kb article

Required, sent as application/json.

FieldTypeDescription
authorUserIdstring or null
bodystring or null
bodyFormatstring or null
slugstring or null
statusstring or null
summarystring or null
tagsany

Arbitrary JSON.

titlestring or null
visibilitystring or null
StatusBodyDescription
201application/json, KbArticleViewCreated.
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 kb: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
authorUserIdstring
bodyrequiredstring
bodyFormatrequiredstring
createdAtrequiredstring (date-time)
publicIdrequiredstring
publishedAtstring (date-time) or null
slugrequiredstring
statusrequiredstring
summarystring
tagsrequiredany

Arbitrary JSON.

titlerequiredstring
updatedAtrequiredstring (date-time)
viewCountrequiredinteger

int64.

visibilityrequiredstring
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/kb/articles' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"authorUserId": "string",
"body": "string",
"bodyFormat": "string",
"slug": "string",
"status": "string",
"summary": "string",
"tags": "string",
"title": "string",
"visibility": "string"
}'

GETkb:readtenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Get kb article

NameInTypeRequiredDescription
articleIDpathstringYesA uuid.
StatusBodyDescription
200application/json, KbArticleViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold kb:read.
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
authorUserIdstring
bodyrequiredstring
bodyFormatrequiredstring
createdAtrequiredstring (date-time)
publicIdrequiredstring
publishedAtstring (date-time) or null
slugrequiredstring
statusrequiredstring
summarystring
tagsrequiredany

Arbitrary JSON.

titlerequiredstring
updatedAtrequiredstring (date-time)
viewCountrequiredinteger

int64.

visibilityrequiredstring
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/kb/articles/<articleID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCHkb:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Patch kb article

NameInTypeRequiredDescription
articleIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
authorUserIdstring or null
bodystring or null
bodyFormatstring or null
slugstring or null
statusstring or null
summarystring or null
tagsany

Arbitrary JSON.

titlestring or null
visibilitystring or null
StatusBodyDescription
200application/json, KbArticleViewSuccess.
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 kb: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
authorUserIdstring
bodyrequiredstring
bodyFormatrequiredstring
createdAtrequiredstring (date-time)
publicIdrequiredstring
publishedAtstring (date-time) or null
slugrequiredstring
statusrequiredstring
summarystring
tagsrequiredany

Arbitrary JSON.

titlerequiredstring
updatedAtrequiredstring (date-time)
viewCountrequiredinteger

int64.

visibilityrequiredstring
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/kb/articles/<articleID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"authorUserId": "string",
"body": "string",
"bodyFormat": "string",
"slug": "string",
"status": "string",
"summary": "string",
"tags": "string",
"title": "string",
"visibility": "string"
}'

DELETEkb:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Delete kb article

NameInTypeRequiredDescription
articleIDpathstringYesA uuid.
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold kb: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/kb/articles/<articleID>' \
-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.