Skip to content

Depot softwarereports

Registers the patch and request reports.

This page is generated from the Depot route table. Every operation carries the permission it needs and the anchor an agent can link to.

GETpatch:readtenant facehosteditmspremoteIdempotentdownload

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

Source: [object Object]

getPatchComplianceReport answers the fleet’s standing plus the machines that make it up.

THE SUMMARY COMES FROM THE STORE, NOT FROM THE ROWS BELOW IT. GetPatchCompliance counts in SQL over the whole fleet and knows about endpoints with no patch rows at all - the compliant ones and the never-scanned ones - which a fold over outstanding rows cannot see. Recomputing the tiles from the capped row set would produce a report whose headline disagreed with the console on any fleet large enough to hit the cap, and disagreed silently.

NameInTypeRequiredDescription
formatquerystringNo
StatusBodyDescription
200application/octet-stream, string (binary)Success.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold patch:read.
500application/problem+json, ProblemDetailsNo client store in request context.
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/reports/patch-compliance?format=<format>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETsoftware:readtenant facehosteditmspremoteIdempotentdownload

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

Source: [object Object]

getSoftwareRequestsReport answers the self-service log: who asked for what and what was decided.

It takes the SAME filters the request queue does, so a report of “everything still pending” is the queue somebody is looking at rather than a second, differently-narrowed set.

NameInTypeRequiredDescription
agentIdquerystringNo
formatquerystringNo
packageIdquerystringNo
statequerystringNo
StatusBodyDescription
200application/octet-stream, string (binary)Success.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold software:read.
500application/problem+json, ProblemDetailsNo client store in request context.
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/reports/software-requests?agentId=<agentId>&format=<format>&packageId=<packageId>&state=<state>' \
-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.