Skip to content

Depot storagemigrations

Registers the per-client migration 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.

GETstorage:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

List storage migrations

NameInTypeRequiredDescription
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
StatusBodyDescription
200application/json, PagedResultStorageMigrationViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold storage:manage.
500application/problem+json, ProblemDetailsNo client store in request context.
503application/problem+json, ProblemDetailsStorage migrations are not available on this Depot.

200 response body

FieldTypeDescription
itemsrequiredarray of StorageMigrationView
items[].categoriesrequiredarray of string
items[].createdAtrequiredstring (date-time)
items[].destProfileIdrequiredstring
items[].failedObjectsrequiredinteger

int64.

items[].finishedAtstring (date-time) or null
items[].lastErrorstring
items[].movedBytesrequiredinteger

int64.

items[].movedObjectsrequiredinteger

int64.

items[].publicIdrequiredstring
items[].sourceProfileIdrequiredstring
items[].startedAtstring (date-time) or null
items[].statusrequiredstring
items[].totalObjectsrequiredinteger

int64.

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/storage/migrations?page=0&pageSize=0' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTstorage:managetenant facehosteditmspremote

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

Source: [object Object]

Create storage migration

Required, sent as application/json.

FieldTypeDescription
categoriesrequiredarray of string
destProfileIdrequiredstring
sourceProfileIdrequiredstring
StatusBodyDescription
201application/json, StorageMigrationViewCreated.
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 storage:manage.
409application/problem+json, ProblemDetailsThis Depot is already running its maximum number of simultaneous storage migrations. Wait for one to finish and try again.
500application/problem+json, ProblemDetailsNo client store in request context.
503application/problem+json, ProblemDetailsStorage migrations are not available on this Depot.

201 response body

FieldTypeDescription
categoriesrequiredarray of string
createdAtrequiredstring (date-time)
destProfileIdrequiredstring
failedObjectsrequiredinteger

int64.

finishedAtstring (date-time) or null
lastErrorstring
movedBytesrequiredinteger

int64.

movedObjectsrequiredinteger

int64.

publicIdrequiredstring
sourceProfileIdrequiredstring
startedAtstring (date-time) or null
statusrequiredstring
totalObjectsrequiredinteger

int64.

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/storage/migrations' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"categories": [
"string"
],
"destProfileId": "string",
"sourceProfileId": "string"
}'

GET /api/v1/storage/migrations/{migrationID}

Section titled “GET /api/v1/storage/migrations/{migrationID}”

GETstorage:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Get storage migration route

NameInTypeRequiredDescription
migrationIDpathstringYesA uuid.
StatusBodyDescription
200application/json, StorageMigrationViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold storage:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
500application/problem+json, ProblemDetailsNo client store in request context.
503application/problem+json, ProblemDetailsStorage migrations are not available on this Depot.

200 response body

FieldTypeDescription
categoriesrequiredarray of string
createdAtrequiredstring (date-time)
destProfileIdrequiredstring
failedObjectsrequiredinteger

int64.

finishedAtstring (date-time) or null
lastErrorstring
movedBytesrequiredinteger

int64.

movedObjectsrequiredinteger

int64.

publicIdrequiredstring
sourceProfileIdrequiredstring
startedAtstring (date-time) or null
statusrequiredstring
totalObjectsrequiredinteger

int64.

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/storage/migrations/<migrationID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/storage/migrations/{migrationID}/cancel

Section titled “POST /api/v1/storage/migrations/{migrationID}/cancel”

POSTstorage:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Cancel storage migration

NameInTypeRequiredDescription
migrationIDpathstringYesA uuid.
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold storage:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat migration has already finished.
500application/problem+json, ProblemDetailsNo client store in request context.
503application/problem+json, ProblemDetailsStorage migrations are not available on this Depot.
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/storage/migrations/<migrationID>/cancel' \
-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.