Skip to content

Depot mdmdiagnostics

Registers the diagnostics list and download 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.

GET /api/v1/endpoints/{agentID}/mdm/diagnostics

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

GETmdm:readtenant facehosteditmspremoteIdempotent

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

Source: [object Object]

listMdmDiagnostics lists a device’s diagnostics uploads, newest first.

NameInTypeRequiredDescription
agentIDpathstringYesA uuid.
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
StatusBodyDescription
200application/json, PagedResultMdmDiagnosticViewSuccess.
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.
404application/problem+json, ProblemDetailsNo resource matches that id.
500application/problem+json, ProblemDetailsNo client context in request.

200 response body

FieldTypeDescription
itemsrequiredarray of MdmDiagnosticView
items[].commandIdstring or null
items[].completedAtstring (date-time) or null
items[].expiresAtrequiredstring (date-time)
items[].maxBytesrequiredinteger

int64.

items[].publicIdrequiredstring
items[].requestedAtrequiredstring (date-time)
items[].requestedByUserIdstring or null
items[].sizeBytesrequiredinteger

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

GET /api/v1/endpoints/{agentID}/mdm/diagnostics/{uploadId}/download

Section titled “GET /api/v1/endpoints/{agentID}/mdm/diagnostics/{uploadId}/download”

GETmdm:readtenant facehosteditmspremoteIdempotentdownloadNot fully resolved

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

What this page does not know
  • response

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

downloadMdmDiagnostics streams a completed archive (audited mdm.diagnostics.download).

NameInTypeRequiredDescription
agentIDpathstringYesA uuid.
uploadIdpathstringYesA uuid.
StatusBodyDescription
200application/octet-stream, string (binary)Success. The body shape was not resolved; see x-outpost-unresolved.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mdm:read.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThese diagnostics have not been uploaded by the device.
500application/problem+json, ProblemDetailsNo client context in request.
502application/problem+json, ProblemDetailsThe diagnostics archive could not be read from storage.
503application/problem+json, ProblemDetailsFile storage is not configured 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 GET 'https://depot.example.com/api/v1/endpoints/<agentID>/mdm/diagnostics/<uploadId>/download' \
-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.