Skip to content

Depot mdmvpp

Registers the VPP token 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.

GETmdm:readtenant facehosteditmspremoteIdempotent

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

Source: [object Object]

listMdmVppTokens lists this client’s Apps and Books location tokens.

NameInTypeRequiredDescription
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
StatusBodyDescription
200application/json, PagedResultVppTokenViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mdm:read.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsApps and Books is not available on this Depot.

200 response body

FieldTypeDescription
itemsrequiredarray of VppTokenView
items[].countryCodestring or null
items[].expiresInDaysinteger or null
items[].lastSyncAtstring (date-time) or null
items[].lastSyncErrorstring or null
items[].locationNamestring or null
items[].notAfterstring (date-time) or null
items[].orgNamestring or null
items[].publicIdrequiredstring
items[].rowVersionrequiredinteger

int64.

items[].staterequiredstring
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/mdm/apple/vpp-tokens?page=0&pageSize=0' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTmdm:managetenant facehosteditmspremote

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

Source: [object Object]

createMdmVppToken uploads a content token (.vpptoken) downloaded from Apps and Books in Apple Business Manager.

Sync it to claim the location.

Required, sent as application/json.

FieldTypeDescription
sTokenrequiredstring
StatusBodyDescription
201application/json, VppTokenViewCreated.
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 mdm:manage.
404application/problem+json, ProblemDetailsNo Apps and Books token has that id.
409application/problem+json, ProblemDetailsThe token changed since it was read. Reload it and try again.
500application/problem+json, ProblemDetailsCould not save the Apps and Books token.
503application/problem+json, ProblemDetailsApps and Books is not available on this Depot.

201 response body

FieldTypeDescription
countryCodestring or null
expiresInDaysinteger or null
lastSyncAtstring (date-time) or null
lastSyncErrorstring or null
locationNamestring or null
notAfterstring (date-time) or null
orgNamestring or null
publicIdrequiredstring
rowVersionrequiredinteger

int64.

staterequiredstring
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/mdm/apple/vpp-tokens' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"sToken": "string"
}'

DELETE /api/v1/mdm/apple/vpp-tokens/{publicId}

Section titled “DELETE /api/v1/mdm/apple/vpp-tokens/{publicId}”

DELETEmdm:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

deleteMdmVppToken removes a location token.

Licenses already assigned stay with their devices at Apple.

NameInTypeRequiredDescription
publicIdpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mdm:manage.
404application/problem+json, ProblemDetailsNo Apps and Books token has that id.
409application/problem+json, ProblemDetailsThe token changed since it was read. Reload it and try again.
500application/problem+json, ProblemDetailsCould not save the Apps and Books token.
503application/problem+json, ProblemDetailsApps and Books is 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 DELETE 'https://depot.example.com/api/v1/mdm/apple/vpp-tokens/<publicId>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/mdm/apple/vpp-tokens/{publicId}/sync

Section titled “POST /api/v1/mdm/apple/vpp-tokens/{publicId}/sync”

POSTmdm:managetenant facehosteditmspremoteIdempotent

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

Source: [object Object]

syncMdmVppToken claims the location for Outpost, refreshes its apps and license counts, and reconciles device licenses now.

The outcome, including a location another service manages, is on the returned token.

NameInTypeRequiredDescription
publicIdpathstringYes
StatusBodyDescription
200application/json, VppTokenViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mdm:manage.
404application/problem+json, ProblemDetailsNo Apps and Books token has that id.
409application/problem+json, ProblemDetailsThe token changed since it was read. Reload it and try again.
500application/problem+json, ProblemDetailsCould not save the Apps and Books token.
503application/problem+json, ProblemDetailsApps and Books is not available on this Depot.

200 response body

FieldTypeDescription
countryCodestring or null
expiresInDaysinteger or null
lastSyncAtstring (date-time) or null
lastSyncErrorstring or null
locationNamestring or null
notAfterstring (date-time) or null
orgNamestring or null
publicIdrequiredstring
rowVersionrequiredinteger

int64.

staterequiredstring
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/mdm/apple/vpp-tokens/<publicId>/sync' \
-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.