Control

Asynchronous Maintenance status

The public Control API has no Job API and never returns a public job_id. Playback loading remains an internal asynchronous operation; callers send the command and use GET /api/status only when optional playback feedback is needed.

HTTP 200 on a command only confirms queue admission. Playback results stay on GET /api/status.

Screenshots are not commands and are not Jobs. One GET returns PNG:

curl http://<player-ip>:18290/api/screenshot/low.png -o low.png
curl http://<player-ip>:18290/api/screenshot/high.png -o high.png

Removed (do not use): the screenshot command and /api/diagnostics/screenshot/latest.json / latest.png.

For exact schemas, use the Command Reference. Control-plane rules live in the repository's player API refactor contract bundle.

Command response

{"ok":true}

HTTP 200 only confirms queue admission. Playback results stay on GET /api/status.

Previous / Next