Skip to content

Depot clients

Registers the MSP control-plane 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.

GETmsp facemspIdempotent

Source: [object Object]

List clients

NameInTypeRequiredDescription
dirquerystring, one of asc, descNoSort direction.
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
qquerystringNoFree-text search term.
sortquerystring, one of created, endpoints, name, status, updatedNoSort key.
statusquerystring, one of active, offboarded, provisioning, suspendedNoComma-separated set. An unrecognised value is refused.
StatusBodyDescription
200application/json, PagedResultValueSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
500application/problem+json, ProblemDetailsCould not list clients.

200 response body

FieldTypeDescription
itemsrequiredarray of any
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/clients?dir=asc&page=0&pageSize=0&q=<q>&sort=created&status=active' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTclient:managemsp facemsp

Source: [object Object]

Create client

Required, sent as application/json.

FieldTypeDescription
coreClientPublicIdrequiredstring
dbDsnrequiredstring
dbEnginerequiredstring
hostnamesrequiredarray of string
namerequiredstring
StatusBodyDescription
201application/json, ClientViewCreated.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold client:manage.
500application/problem+json, ProblemDetailsCould not create client.
502application/problem+json, ProblemDetailsClient was created but its database could not be migrated. Verify the database exists and the DSN is correct, then re-provision.
503application/problem+json, ProblemDetailsThis server cannot create databases; supply a DSN.

201 response body

FieldTypeDescription
billableEndpointCountrequiredinteger
coreClientPublicIdstring
createdAtrequiredstring (date-time)
dbEnginerequiredstring
hostnamesrequiredarray of string
isSelfboolean
meteredEndpointHoursrequirednumber

double.

namerequiredstring
publicIdrequiredstring
statusrequiredstring
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/clients' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"coreClientPublicId": "string",
"dbDsn": "string",
"dbEngine": "string",
"hostnames": [
"string"
],
"name": "string"
}'

GETmsp facemspIdempotent

Source: [object Object]

Get client

NameInTypeRequiredDescription
publicIDpathstringYes
StatusBodyDescription
200application/json, anySuccess.
404application/problem+json, ProblemDetailsClient not found.
500application/problem+json, ProblemDetailsCould not read client.
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/clients/<publicID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCHclient:managemsp facemsp

Source: [object Object]

Patch client

NameInTypeRequiredDescription
publicIDpathstringYes

Required, sent as application/json.

FieldTypeDescription
coreClientPublicIdstring or null
hostnamesrequiredarray of string
namestring or null
statusstring or null
StatusBodyDescription
200application/json, ClientViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold client:manage.
404application/problem+json, ProblemDetailsClient not found.
500application/problem+json, ProblemDetailsCould not update client.

200 response body

FieldTypeDescription
billableEndpointCountrequiredinteger
coreClientPublicIdstring
createdAtrequiredstring (date-time)
dbEnginerequiredstring
hostnamesrequiredarray of string
isSelfboolean
meteredEndpointHoursrequirednumber

double.

namerequiredstring
publicIdrequiredstring
statusrequiredstring
updatedAtrequiredstring (date-time)
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X PATCH 'https://depot.example.com/api/v1/clients/<publicID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"coreClientPublicId": "string",
"hostnames": [
"string"
],
"name": "string",
"status": "string"
}'

GETbilling:readmsp facemspIdempotent

Source: [object Object]

Get billing

NameInTypeRequiredDescription
publicIDpathstringYes
StatusBodyDescription
200application/json, BillingViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold billing:read.
404application/problem+json, ProblemDetailsClient not found.
500application/problem+json, ProblemDetailsCould not read billing rollup.

200 response body

FieldTypeDescription
billableEndpointCountrequiredinteger
meteredEndpointHoursrequirednumber

double.

periodStartstring (date-time) or null
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/clients/<publicID>/billing' \
-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.