Skip to content

Depot storageprofiles

Registers the MSP-level fallback profile routes on the CONTROL-PLANE 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:managemsp facemspIdempotent

Source: [object Object]

List msp storage profiles

NameInTypeRequiredDescription
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
StatusBodyDescription
200application/json, PagedResultStorageProfileViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold storage:manage.
500application/problem+json, ProblemDetailsCould not list storage profiles.

200 response body

FieldTypeDescription
itemsrequiredarray of StorageProfileView
items[].bucketstring
items[].createdAtrequiredstring (date-time)
items[].credentialPublicIdstring
items[].credentialsConfiguredrequiredboolean
items[].driverrequiredstring
items[].encryptAtRestrequiredboolean
items[].endpointstring
items[].isDefaultrequiredboolean
items[].lastProbeAtstring (date-time) or null
items[].lastProbeErrorstring
items[].localRootstring
items[].managedrequiredboolean
items[].namerequiredstring
items[].prefixstring
items[].providerstring
items[].publicIdrequiredstring
items[].quotaBytesinteger or null

int64.

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

POSTstorage:managemsp facemsp

Source: [object Object]

Create msp storage profile

Required, sent as application/json.

FieldTypeDescription
accessKeyIdstring or null
bucketstring or null
credentialPublicIdstring or null
driverstring or null
encryptAtRestboolean or null
endpointstring or null
inlineCredentialInlineShareCredential

inlineShareCredential is a share credential typed into the storage form rather than picked from the vault.

inlineCredential.namerequiredstring
inlineCredential.secretrequiredstring
inlineCredential.usernamerequiredstring
isDefaultboolean or null
localRootstring or null
managedboolean or null
namestring or null
providerstring or null
quotaBytesinteger or null

int64.

regionstring or null
secretAccessKeystring or null
statusstring or null
uncPathstring or null
StatusBodyDescription
201application/json, StorageProfileViewCreated.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsSaving a new credential to the vault needs the vault:manage permission. Pick a saved credential instead.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no vault to keep the share credential in yet.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

201 response body

FieldTypeDescription
bucketstring
createdAtrequiredstring (date-time)
credentialPublicIdstring
credentialsConfiguredrequiredboolean
driverrequiredstring
encryptAtRestrequiredboolean
endpointstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
localRootstring
managedrequiredboolean
namerequiredstring
prefixstring
providerstring
publicIdrequiredstring
quotaBytesinteger or null

int64.

regionstring
statusrequiredstring
uncPathstring
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/msp/storage-profiles' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"accessKeyId": "string",
"bucket": "string",
"credentialPublicId": "string",
"driver": "string",
"encryptAtRest": false,
"endpoint": "string",
"inlineCredential": {
"name": "string",
"secret": "string",
"username": "string"
},
"isDefault": false,
"localRoot": "string",
"managed": false,
"name": "string",
"provider": "string",
"quotaBytes": 0,
"region": "string",
"secretAccessKey": "string",
"status": "string",
"uncPath": "string"
}'

GET /api/v1/msp/storage-profiles/{profileID}

Section titled “GET /api/v1/msp/storage-profiles/{profileID}”

GETstorage:managemsp facemspIdempotent

Source: [object Object]

Get msp storage profile

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.
StatusBodyDescription
200application/json, StorageProfileViewSuccess.
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, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsThe request failed.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

200 response body

FieldTypeDescription
bucketstring
createdAtrequiredstring (date-time)
credentialPublicIdstring
credentialsConfiguredrequiredboolean
driverrequiredstring
encryptAtRestrequiredboolean
endpointstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
localRootstring
managedrequiredboolean
namerequiredstring
prefixstring
providerstring
publicIdrequiredstring
quotaBytesinteger or null

int64.

regionstring
statusrequiredstring
uncPathstring
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 GET 'https://depot.example.com/api/v1/msp/storage-profiles/<profileID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCH /api/v1/msp/storage-profiles/{profileID}

Section titled “PATCH /api/v1/msp/storage-profiles/{profileID}”

PATCHstorage:managemsp facemspIdempotent

Source: [object Object]

Patch msp storage profile

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
accessKeyIdstring or null
bucketstring or null
credentialPublicIdstring or null
driverstring or null
encryptAtRestboolean or null
endpointstring or null
inlineCredentialInlineShareCredential

inlineShareCredential is a share credential typed into the storage form rather than picked from the vault.

inlineCredential.namerequiredstring
inlineCredential.secretrequiredstring
inlineCredential.usernamerequiredstring
isDefaultboolean or null
localRootstring or null
managedboolean or null
namestring or null
providerstring or null
quotaBytesinteger or null

int64.

regionstring or null
secretAccessKeystring or null
statusstring or null
uncPathstring or null
StatusBodyDescription
200application/json, StorageProfileViewSuccess.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsSaving a new credential to the vault needs the vault:manage permission. Pick a saved credential instead.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no vault to keep the share credential in yet.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

200 response body

FieldTypeDescription
bucketstring
createdAtrequiredstring (date-time)
credentialPublicIdstring
credentialsConfiguredrequiredboolean
driverrequiredstring
encryptAtRestrequiredboolean
endpointstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
localRootstring
managedrequiredboolean
namerequiredstring
prefixstring
providerstring
publicIdrequiredstring
quotaBytesinteger or null

int64.

regionstring
statusrequiredstring
uncPathstring
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 PATCH 'https://depot.example.com/api/v1/msp/storage-profiles/<profileID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"accessKeyId": "string",
"bucket": "string",
"credentialPublicId": "string",
"driver": "string",
"encryptAtRest": false,
"endpoint": "string",
"inlineCredential": {
"name": "string",
"secret": "string",
"username": "string"
},
"isDefault": false,
"localRoot": "string",
"managed": false,
"name": "string",
"provider": "string",
"quotaBytes": 0,
"region": "string",
"secretAccessKey": "string",
"status": "string",
"uncPath": "string"
}'

DELETE /api/v1/msp/storage-profiles/{profileID}

Section titled “DELETE /api/v1/msp/storage-profiles/{profileID}”

DELETEstorage:managemsp facemspIdempotent

Source: [object Object]

Delete msp storage profile

NameInTypeRequiredDescription
profileIDpathstringYesA 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, ProblemDetailsOutpost Cloud Storage is a built-in destination and cannot be deleted. Set a different default to stop using it.
500application/problem+json, ProblemDetailsThe request failed.
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/msp/storage-profiles/<profileID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GET /api/v1/msp/storage-profiles/{profileID}/breakdown

Section titled “GET /api/v1/msp/storage-profiles/{profileID}/breakdown”

GETstorage:managemsp facemspIdempotent

Source: [object Object]

getMspStorageBreakdown sums the per-client breakdowns across every client database, because the MSP fallback profile serves all of them at once.

A client whose database cannot be opened is skipped and COUNTED, never silently omitted: sweeper-style resilience, accountant-style honesty.

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.
StatusBodyDescription
200application/json, StorageBreakdownViewSuccess.
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, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsCould not list clients.
503application/problem+json, ProblemDetailsStorage breakdown is not available on this Depot.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

200 response body

FieldTypeDescription
categoriesrequiredarray of StorageCategoryView
categories[].categoryrequiredstring
categories[].objectsrequiredinteger

int64.

categories[].storedBytesrequiredinteger

int64.

clientsScannedinteger
clientsUnavailableinteger
profileIdrequiredstring
totalObjectsrequiredinteger

int64.

totalStoredBytesrequiredinteger

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

POST /api/v1/msp/storage-profiles/{profileID}/probe

Section titled “POST /api/v1/msp/storage-profiles/{profileID}/probe”

POSTstorage:managemsp facemspIdempotent

Source: [object Object]

Probe msp storage profile

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.
StatusBodyDescription
200application/json, StorageProfileViewSuccess.
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, ProblemDetailsThe request conflicts with the current state.
422application/problem+json, ProblemDetailsA network share is written by the endpoint’s agent, not by this Depot, so it cannot be tested from here. Its first backup reports whether the share is reachable.
500application/problem+json, ProblemDetailsCould not record the probe result.
503application/problem+json, ProblemDetailsStorage probing is not available on this Depot.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

200 response body

FieldTypeDescription
bucketstring
createdAtrequiredstring (date-time)
credentialPublicIdstring
credentialsConfiguredrequiredboolean
driverrequiredstring
encryptAtRestrequiredboolean
endpointstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
localRootstring
managedrequiredboolean
namerequiredstring
prefixstring
providerstring
publicIdrequiredstring
quotaBytesinteger or null

int64.

regionstring
statusrequiredstring
uncPathstring
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 POST 'https://depot.example.com/api/v1/msp/storage-profiles/<profileID>/probe' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETstorage:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

List storage profiles

NameInTypeRequiredDescription
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
StatusBodyDescription
200application/json, PagedResultStorageProfileViewSuccess.
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.

200 response body

FieldTypeDescription
itemsrequiredarray of StorageProfileView
items[].bucketstring
items[].createdAtrequiredstring (date-time)
items[].credentialPublicIdstring
items[].credentialsConfiguredrequiredboolean
items[].driverrequiredstring
items[].encryptAtRestrequiredboolean
items[].endpointstring
items[].isDefaultrequiredboolean
items[].lastProbeAtstring (date-time) or null
items[].lastProbeErrorstring
items[].localRootstring
items[].managedrequiredboolean
items[].namerequiredstring
items[].prefixstring
items[].providerstring
items[].publicIdrequiredstring
items[].quotaBytesinteger or null

int64.

items[].regionstring
items[].statusrequiredstring
items[].uncPathstring
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/storage/profiles?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 profile

Required, sent as application/json.

FieldTypeDescription
accessKeyIdstring or null
bucketstring or null
credentialPublicIdstring or null
driverstring or null
encryptAtRestboolean or null
endpointstring or null
inlineCredentialInlineShareCredential

inlineShareCredential is a share credential typed into the storage form rather than picked from the vault.

inlineCredential.namerequiredstring
inlineCredential.secretrequiredstring
inlineCredential.usernamerequiredstring
isDefaultboolean or null
localRootstring or null
managedboolean or null
namestring or null
providerstring or null
quotaBytesinteger or null

int64.

regionstring or null
secretAccessKeystring or null
statusstring or null
uncPathstring or null
StatusBodyDescription
201application/json, StorageProfileViewCreated.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsSaving a new credential to the vault needs the vault:manage permission. Pick a saved credential instead.
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.
503application/problem+json, ProblemDetailsThis Depot has no vault to keep the share credential in yet.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

201 response body

FieldTypeDescription
bucketstring
createdAtrequiredstring (date-time)
credentialPublicIdstring
credentialsConfiguredrequiredboolean
driverrequiredstring
encryptAtRestrequiredboolean
endpointstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
localRootstring
managedrequiredboolean
namerequiredstring
prefixstring
providerstring
publicIdrequiredstring
quotaBytesinteger or null

int64.

regionstring
statusrequiredstring
uncPathstring
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/storage/profiles' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"accessKeyId": "string",
"bucket": "string",
"credentialPublicId": "string",
"driver": "string",
"encryptAtRest": false,
"endpoint": "string",
"inlineCredential": {
"name": "string",
"secret": "string",
"username": "string"
},
"isDefault": false,
"localRoot": "string",
"managed": false,
"name": "string",
"provider": "string",
"quotaBytes": 0,
"region": "string",
"secretAccessKey": "string",
"status": "string",
"uncPath": "string"
}'

GETstorage:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Get storage profile

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.
StatusBodyDescription
200application/json, StorageProfileViewSuccess.
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, 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
bucketstring
createdAtrequiredstring (date-time)
credentialPublicIdstring
credentialsConfiguredrequiredboolean
driverrequiredstring
encryptAtRestrequiredboolean
endpointstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
localRootstring
managedrequiredboolean
namerequiredstring
prefixstring
providerstring
publicIdrequiredstring
quotaBytesinteger or null

int64.

regionstring
statusrequiredstring
uncPathstring
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 GET 'https://depot.example.com/api/v1/storage/profiles/<profileID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCH /api/v1/storage/profiles/{profileID}

Section titled “PATCH /api/v1/storage/profiles/{profileID}”

PATCHstorage:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Patch storage profile

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
accessKeyIdstring or null
bucketstring or null
credentialPublicIdstring or null
driverstring or null
encryptAtRestboolean or null
endpointstring or null
inlineCredentialInlineShareCredential

inlineShareCredential is a share credential typed into the storage form rather than picked from the vault.

inlineCredential.namerequiredstring
inlineCredential.secretrequiredstring
inlineCredential.usernamerequiredstring
isDefaultboolean or null
localRootstring or null
managedboolean or null
namestring or null
providerstring or null
quotaBytesinteger or null

int64.

regionstring or null
secretAccessKeystring or null
statusstring or null
uncPathstring or null
StatusBodyDescription
200application/json, StorageProfileViewSuccess.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsSaving a new credential to the vault needs the vault:manage permission. Pick a saved credential instead.
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.
503application/problem+json, ProblemDetailsThis Depot has no vault to keep the share credential in yet.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

200 response body

FieldTypeDescription
bucketstring
createdAtrequiredstring (date-time)
credentialPublicIdstring
credentialsConfiguredrequiredboolean
driverrequiredstring
encryptAtRestrequiredboolean
endpointstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
localRootstring
managedrequiredboolean
namerequiredstring
prefixstring
providerstring
publicIdrequiredstring
quotaBytesinteger or null

int64.

regionstring
statusrequiredstring
uncPathstring
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 PATCH 'https://depot.example.com/api/v1/storage/profiles/<profileID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"accessKeyId": "string",
"bucket": "string",
"credentialPublicId": "string",
"driver": "string",
"encryptAtRest": false,
"endpoint": "string",
"inlineCredential": {
"name": "string",
"secret": "string",
"username": "string"
},
"isDefault": false,
"localRoot": "string",
"managed": false,
"name": "string",
"provider": "string",
"quotaBytes": 0,
"region": "string",
"secretAccessKey": "string",
"status": "string",
"uncPath": "string"
}'

DELETE /api/v1/storage/profiles/{profileID}

Section titled “DELETE /api/v1/storage/profiles/{profileID}”

DELETEstorage:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Delete storage profile

NameInTypeRequiredDescription
profileIDpathstringYesA 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, ProblemDetailsOutpost Cloud Storage is a built-in destination and cannot be deleted. Set a different default to stop using it.
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/storage/profiles/<profileID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GET /api/v1/storage/profiles/{profileID}/breakdown

Section titled “GET /api/v1/storage/profiles/{profileID}/breakdown”

GETstorage:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

getStorageBreakdown answers for the ONE client the request resolved to.

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.
StatusBodyDescription
200application/json, StorageBreakdownViewSuccess.
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, 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
categoriesrequiredarray of StorageCategoryView
categories[].categoryrequiredstring
categories[].objectsrequiredinteger

int64.

categories[].storedBytesrequiredinteger

int64.

clientsScannedinteger
clientsUnavailableinteger
profileIdrequiredstring
totalObjectsrequiredinteger

int64.

totalStoredBytesrequiredinteger

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

POST /api/v1/storage/profiles/{profileID}/probe

Section titled “POST /api/v1/storage/profiles/{profileID}/probe”

POSTstorage:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Probe storage profile

NameInTypeRequiredDescription
profileIDpathstringYesA uuid.
StatusBodyDescription
200application/json, StorageProfileViewSuccess.
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, ProblemDetailsThe request conflicts with the current state.
422application/problem+json, ProblemDetailsA network share is written by the endpoint’s agent, not by this Depot, so it cannot be tested from here. Its first backup reports whether the share is reachable.
500application/problem+json, ProblemDetailsNo client store in request context.
503application/problem+json, ProblemDetailsStorage probing is not available on this Depot.
507application/problem+json, ProblemDetailsThe storage profile for this client is over its configured quota. Raise the quota or remove attachments.

200 response body

FieldTypeDescription
bucketstring
createdAtrequiredstring (date-time)
credentialPublicIdstring
credentialsConfiguredrequiredboolean
driverrequiredstring
encryptAtRestrequiredboolean
endpointstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
localRootstring
managedrequiredboolean
namerequiredstring
prefixstring
providerstring
publicIdrequiredstring
quotaBytesinteger or null

int64.

regionstring
statusrequiredstring
uncPathstring
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 POST 'https://depot.example.com/api/v1/storage/profiles/<profileID>/probe' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETstorage:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

Get storage usage

StatusBodyDescription
200application/json, objectSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold storage: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.
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/usage' \
-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.