Command Reference
Browse every DearScenario Player command and see its HTTP or OSC spelling.
This is the command catalog—the product’s control vocabulary. Stable playback commands are available through HTTP and OSC; extension and maintenance commands are HTTP-only.
| Axis | Meaning |
|---|---|
| Command | What the player does (play, load, seek, …) |
| Transport | How the message is delivered (HTTP / OSC) |
Use the explorer below: pick a command, then use its declared HTTP or OSC
surface. Stable HTTP uses POST /api/command; extensions use
POST /api/extensions/command; maintenance uses
POST /api/maintenance/command. The player API Debugger (debug.html) can
switch those three surfaces and copy OSC only for the stable dictionary;
extension and maintenance commands stay HTTP-only. There are not per-command
REST paths such as /api/playback/play (deprecated example; not a supported route).
Machine-readable list of real HTTP routes (not the command catalog) is the
static OpenAPI snapshot checked into web-console/openapi.json. The player does
not serve runtime /api/openapi.json (removed).
Command catalog
Pick what to do, then switch how it is delivered. All transports reach the same player command.
curl -X POST http://PLAYER:18290/api/command \
-H 'Content-Type: application/json' \
-d '{"cmd":"load","params":{"source":"C:/Videos/sample.mp4"}}'{
"additionalProperties": false,
"properties": {
"cue_position_sec": {
"default": 0,
"description": "Logical cue start position in seconds",
"minimum": 0,
"type": "number"
},
"loop": {
"default": false,
"description": "Loop from cue_position_sec for the loaded media",
"type": "boolean"
},
"source": {
"description": "media_root-relative readable file, absolute readable file, or http/https/rtmp URI",
"maxLength": 4096,
"minLength": 1,
"type": "string"
}
},
"required": [
"source"
],
"type": "object"
}Run the curl example from your controller, or select the matching command surface in the Player API Debugger. The Player does not allow cross-origin requests from this website.
This command uses POST /api/command. There are no per-command REST paths.
Envelope (JSON transports)
{ "cmd": "play", "params": {} }cmd— requiredparams— optional object (omit or{})
Unknown fields such as request_id and expect are rejected.
Command names, parameter schemas, internal execution classification, error
codes, and supported transports come from CommandRegistry. The same metadata is
dumped at build time to web-console/api_spec.json. The player does not serve
runtime /api/spec (removed).
Generated SDK helpers such as client.play() should wrap this envelope; they
must not invent dedicated HTTP routes.
Related
- Choose a transport — which protocol fits your controller
- HTTP · OSC — delivery rules only
- Status — observe playback after a command

