Skip to content

Depot profileversions

Registers the version routes.

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

GETprofile:readtenant facehosteditmspremoteIdempotent

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

Source: [object Object]

listProfileVersions lists a profile’s versions, newest first.

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
StatusBodyDescription
200application/json, PagedResultProfileVersionViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold profile:read.
404application/problem+json, ProblemDetailsNo resource matches that id.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
itemsrequiredarray of ProfileVersionView
items[].createdAtrequiredstring (date-time)
items[].createdByUserIdstring or null
items[].hashrequiredstring
items[].reasonrequiredstring
items[].restoredFromVersioninteger or null
items[].snapshotany

Arbitrary JSON.

items[].versionrequiredinteger
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/profiles/<profileID>/versions?page=0&pageSize=0' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GET /api/v1/profiles/{profileID}/versions/{version}

Section titled “GET /api/v1/profiles/{profileID}/versions/{version}”

GETprofile:readtenant facehosteditmspremoteIdempotent

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

Source: [object Object]

getProfileVersion returns one profile version with its snapshot.

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.
versionpathstringYes
StatusBodyDescription
200application/json, ProfileVersionViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold profile:read.
404application/problem+json, ProblemDetailsNo resource matches that id.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
createdAtrequiredstring (date-time)
createdByUserIdstring or null
hashrequiredstring
reasonrequiredstring
restoredFromVersioninteger or null
snapshotany

Arbitrary JSON.

versionrequiredinteger
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/profiles/<profileID>/versions/<version>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/profiles/{profileID}/versions/{version}/restore

Section titled “POST /api/v1/profiles/{profileID}/versions/{version}/restore”

POSTprofile:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

restoreProfileVersion puts a profile’s status, settings and assignments back to an earlier version, recorded as a new version.

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.
versionpathstringYes
StatusBodyDescription
200application/json, ProfileVersionViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsAuthentication is required.
403application/problem+json, ProblemDetailsThe identity does not hold profile:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat is a built-in baseline profile and cannot be edited. Assign or unassign it instead.
500application/problem+json, ProblemDetailsNo client store in request context.

200 response body

FieldTypeDescription
createdAtrequiredstring (date-time)
createdByUserIdstring or null
hashrequiredstring
reasonrequiredstring
restoredFromVersioninteger or null
snapshotany

Arbitrary JSON.

versionrequiredinteger
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/profiles/<profileID>/versions/<version>/restore' \
-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.