Skip to content

Depot vault shares

Registers the three share 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.

GETvault:shareshared facehosteditmspremoteIdempotent

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

Source: [object Object]

List vault shares

NameInTypeRequiredDescription
clientIdquerystringNo
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
statequerystringNo
subjectquerystringNo
subjectIdquerystringNo
StatusBodyDescription
200application/json, PagedResultShareLinkSummarySuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold vault:share.
404application/problem+json, ProblemDetailsNo resource matches.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot cannot read share links.

200 response body

FieldTypeDescription
itemsrequiredarray of ShareLinkSummary
items[].clampedShareClamp
items[].clamped.expiresInHoursinteger
items[].clamped.maxViewsinteger
items[].clientIdrequiredstring
items[].createdAtrequiredstring (date-time)
items[].createdByNamestring
items[].deleteAtrequiredstring (date-time)
items[].deliveryrequiredstring
items[].deliveryAgentIdstring
items[].expiresAtrequiredstring (date-time)
items[].firstViewedAtstring (date-time) or null
items[].includeTotpCoderequiredboolean
items[].includeUsernamerequiredboolean
items[].kindrequiredstring
items[].lastViewedAtstring (date-time) or null
items[].maxViewsrequiredinteger
items[].messagerequiredstring
items[].publicIdrequiredstring
items[].recipientChannelstring
items[].recipientMaskedstring
items[].recipientNamestring
items[].recipientVerifiedAtstring (date-time) or null
items[].requiresPassphraserequiredboolean
items[].requiresVerificationrequiredboolean
items[].staterequiredstring
items[].subjectIdrequiredstring
items[].subjectTitlerequiredstring
items[].urlrequiredstring
items[].viewCountrequiredinteger
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/vault/shares?clientId=<clientId>&page=0&pageSize=0&state=<state>&subject=<subject>&subjectId=<subjectId>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTvault:shareshared facehosteditmspremote

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

Source: [object Object]

Mint vault share

Required, sent as application/json.

FieldTypeDescription
clientIdrequiredstring
deliveryrequiredstring, one of link, tray
deliveryAgentIdrequiredstring
expiresInHoursrequiredinteger
includeTotpCoderequiredboolean
includeUsernamerequiredboolean
kindrequiredstring, one of article, credential
maxViewsrequiredinteger
messagerequiredstring
passphraserequiredstring
recipientChannelrequiredstring, one of email, sms
recipientContactrequiredstring
recipientNamerequiredstring
recipientUserIdrequiredstring
subjectIdrequiredstring
StatusBodyDescription
201application/json, ShareLinkSummaryCreated.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsSharing is turned off for this client. An administrator can turn it on in the documentation settings.
404application/problem+json, ProblemDetailsNo client matches that id.
500application/problem+json, ProblemDetailsCould not read the credential.
503application/problem+json, ProblemDetailsThis Depot cannot mint share links.

201 response body

FieldTypeDescription
clampedShareClamp
clamped.expiresInHoursinteger
clamped.maxViewsinteger
clientIdrequiredstring
createdAtrequiredstring (date-time)
createdByNamestring
deleteAtrequiredstring (date-time)
deliveryrequiredstring
deliveryAgentIdstring
expiresAtrequiredstring (date-time)
firstViewedAtstring (date-time) or null
includeTotpCoderequiredboolean
includeUsernamerequiredboolean
kindrequiredstring
lastViewedAtstring (date-time) or null
maxViewsrequiredinteger
messagerequiredstring
publicIdrequiredstring
recipientChannelstring
recipientMaskedstring
recipientNamestring
recipientVerifiedAtstring (date-time) or null
requiresPassphraserequiredboolean
requiresVerificationrequiredboolean
staterequiredstring
subjectIdrequiredstring
subjectTitlerequiredstring
urlrequiredstring
viewCountrequiredinteger
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/vault/shares' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"clientId": "string",
"delivery": "link",
"deliveryAgentId": "string",
"expiresInHours": 0,
"includeTotpCode": false,
"includeUsername": false,
"kind": "article",
"maxViews": 0,
"message": "string",
"passphrase": "string",
"recipientChannel": "email",
"recipientContact": "string",
"recipientName": "string",
"recipientUserId": "string",
"subjectId": "string"
}'

DELETEvault:shareshared facehosteditmspremoteIdempotent

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

Source: [object Object]

Revoke vault share

NameInTypeRequiredDescription
shareIdpathstringYesA uuid.
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold vault:share.
404application/problem+json, ProblemDetailsNo resource matches that id.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot cannot revoke share links.
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/vault/shares/<shareId>' \
-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.