Skip to content

Depot mdmsync

Registers the sync-now 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.

POSTmdm:commandtenant facehosteditmspremoteIdempotent

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

Source: [object Object]

requestMdmSync asks an MDM device to check in now.

202 with the new sync, or 200 with the sync already in progress; poll GET …/mdm/sync/{syncId} for the round trip.

NameInTypeRequiredDescription
agentIDpathstringYesA uuid.
StatusBodyDescription
200application/json, MdmSyncViewSuccess.
202application/json, MdmSyncViewAccepted.
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:command.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThis device is not enrolled in device management.
500application/problem+json, ProblemDetailsNo client context in request.
502application/problem+json, ProblemDetailsOutpost could not ask the device to check in. Try again in a minute; the device still checks in on its own schedule.

200 response body

FieldTypeDescription
confirmedAtstring (date-time) or null
expiresAtrequiredstring (date-time)
publicIdrequiredstring
pushedAtstring (date-time) or null
reasonCodestring or null
requestedAtrequiredstring (date-time)
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/endpoints/<agentID>/mdm/sync' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GET /api/v1/endpoints/{agentID}/mdm/sync/{syncId}

Section titled “GET /api/v1/endpoints/{agentID}/mdm/sync/{syncId}”

GETmdm:commandtenant facehosteditmspremoteIdempotent

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

Source: [object Object]

getMdmSync reads one sync-now round trip.

An open sync past its deadline is closed as expired here, so the console’s poll ends without waiting for the sweep.

NameInTypeRequiredDescription
agentIDpathstringYesA uuid.
syncIdpathstringYesA uuid.
StatusBodyDescription
200application/json, MdmSyncViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mdm:command.
404application/problem+json, ProblemDetailsNo resource matches that id.
500application/problem+json, ProblemDetailsNo client context in request.

200 response body

FieldTypeDescription
confirmedAtstring (date-time) or null
expiresAtrequiredstring (date-time)
publicIdrequiredstring
pushedAtstring (date-time) or null
reasonCodestring or null
requestedAtrequiredstring (date-time)
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 GET 'https://depot.example.com/api/v1/endpoints/<agentID>/mdm/sync/<syncId>' \
-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.