> [!info] Available only on SPX Broadcast license. See [Products](https://spxgraphics.com/software/)
---
> [!example]- POST v1.0.12, v1.3.2 `http://192.168.1.3:5660/api/v1/directplayout`
> Populate template and execute a play/continue/stop command. Note the optional `updateRundownItem` property. `updateRundownItem.itemID` can be used to force UI updates and persist data to a rundown file. **Special characters in values are not supported at the moment.**
>``` json
// Stringified JSON
>{
> "casparServer": "OVERLAY",
> "casparChannel": "1",
> "casparLayer": "20",
> "webplayoutLayer": "20",
> "relativeTemplatePath": "/vendor/pack/template.html",
> "out": "manual",
> "DataFields": [
> {
> "field": "f0",
> "value": "Firstname"
> },
> {
> "field": "f1",
> "value": "Lastname"
> }
> ],
> "command": "play",
> "updateRundownItem": {
> "updateUI": true,
> "itemID": "myItemID",
> "persist": true,
> "project": "myFirstProject",
> "rundown": "myFirstRundown"
> }
>}
---
> [!example]- GET v1.1.0 `http://192.168.1.3:5660/api/v1/controlRundownItemByID?file=MyFirstProject/MyFirstRundown&item=1234567890&command=play`
> Play / next / stop / preview / preview-next an item from a known rundown. (Rundown items can be renamed in the SPX GUI.)
---
> [!example]- GET v1.1.0 `http://192.168.1.3:5660/api/v1/objectDBPlayout/1234567890?command=play`
> Play / next / stop / preview / preview-next a graphic element based on its MOS ID. Reserved for Studio Automation systems.
---
> [!example]- GET v1.1.1 `http://192.168.1.3:5660/api/v1/rundown/get`
> Returns the currently active rundown as JSON.
---
> [!example]- GET v1.3.0 `http://192.168.1.3:5660/api/v1/rundown/json?project=MyFirstProject&rundown=FirstRundown`
> Returns the content of a specific rundown as JSON data.
---
> [!example]- POST v1.3.0 `http://192.168.1.3:5660/api/v1/rundown/json`
> Creates or updates a rundown file. `body.content` must contain valid rundown JSON data. Search SPX Knowledge Base with keyword `api rundown/json` for more details.
> ``` json
>// Stringified JSON
>{
> "project": "MyFirstProjectName",
> "file": "newRundown.json",
> "content": {
> "comment": "Playlist generated by MyApp",
> "templates": [
> {
> "description": "First template",
> "playserver": "OVERLAY",
> "etc": "..."
> },
> {
> "description": "Second template",
> "playserver": "OVERLAY",
> "etc": "..."
> }
> ]
> }
>}
---
> [!example]- GET v1.1.1 `http://192.168.1.3:5660/api/v1/getlayerstate`
> Returns the current memory state of web-playout layers on the server (not UI).
---
> [!example]- GET v1.3.0 `http://192.168.1.3:5660/api/v1/allrundowns`
> Returns all projects and rundowns.
---
> [!example]- GET v1.1.1 `http://192.168.1.3:5660/api/v1/getprojects`
> Returns project names as an array of strings.
---
> [!example]- GET v0.7.0 `http://192.168.1.3:5660/api/v1/getProjectProfile?project=MyFirstProject`
> Returns the profile of a specific project as JSON data.
---
> [!example]- GET v1.1.1 `http://192.168.1.3:5660/api/v1/getrundowns?project=MyFirstProject`
> Returns rundown names for a given project as an array of strings.
---
> [!example]- GET v1.1.3 `http://192.168.1.3:5660/api/v1/gettemplates?project=MyFirstProject`
> Returns templates and their settings from a given project.
---
> [!example]- GET v1.3.0 `http://192.168.1.3:5660/api/v1/executeScript?file=win-open-calculator.bat`
> Executes a shell script or batch file from the `ASSETS/scripts` folder.
---
> [!example]- GET v1.3.0 `http://192.168.1.3:5660/api/v1/getFileList?assetsfolder=excel`
> Returns an array of filenames found in a given subfolder of ASSETS.
---
> [!example]- POST v0.7.0 `http://192.168.1.3:5660/api/v1/saveCustomJSON`
> Creates or updates a JSON file in the ASSETS folder or a provided subpath.
> ``` json
>// Stringified JSON
>{
> "path": "todoApp",
> "filename": "myData.json",
> "content": {
> "note": "Get these done by the end of month",
> "items": [
> {
> "task": "Grow a beard",
> "done": false
> },
> {
> "task": "Get a haircut",
> "done": true
> }
> ]
> }
>}
---
> [!example]- POST v0.1.0 `http://192.168.1.3:5660/api/v1/uploadAsset?path=media/images`
> Uploads an image file to the ASSETS folder. Use `multipart/form-data`. Supported formats: JPEG, PNG, SVG, GIF, WEBP.
---
## Read Next
- [[Documentation/Control Interfaces/REST/Control api|Control API]] - UI control endpoints
- [[Documentation/Control Interfaces/REST/Common api|Common API]] - Utility endpoints
- [[Documentation/Control Interfaces/REST/Overview of SPX API|API Overview]] - Complete API guide
- [[Documentation/Control Interfaces/External Control|External Control]] - Hardware controller integration