About: LTN Schedule offers a REST API that allows users to integrate the platform with other systems and applications, and automate tasks and processes. The REST API uses HTTP GET methods to perform operations on the various resources in LTN Schedule, such as playlist elements, video sequences, and destinations.
Not sure how to start?
→ Learn how to create an API user.
Using the REST API
To use the REST API in LTN Schedule, you must first create an API user in the Schedule user section.
Once you have obtained your API user credentials, you can use them to access the LTN Schedule Swagger UI under the following URL:
https://your-server-name.ltnschedule.com/api/v1
In the Swagger UI, you see an overview of the available APIs which provide detailed documentation upon clicking.
The REST API in LTN Schedule supports HTTP Basic Authentication.
By using the REST API in LTN Schedule, you can integrate the platform with other systems and applications and automate tasks and processes.
Trigger API-Calls from external
You can trigger API calls from outside of the schedule system (e.g. another control application / curl...). In this case you need to authenticate the call with your api user and password. This example would activate breaking live via an external API call:
https://user:password@your-server-name.ltnschedule.com/api/v1/breakinglive/start
Trigger API-Calls internally (without authentication)
You can trigger API calls internally from same system to the local API. In this case you do not need any authentication. You can perform internal calls from locations like:
The call in this case will look like this:
https://your-server-name.ltnschedule.com/api/v1/breakinglive/startIf you like to write this in a way that it works on all system - used the local host name - you can also use the {HOSTNAME} key and the webhook url would look like this:
https://{HOSTNAME}/api/v1/graphics/layer?index=1
Trigger API-Calls from graphical templates (without authentication)
If you like to trigger an API call to the LTN Schedule API from a graphical template (SPX template format / html website / java script) you can also trigger the call without user and passwd authentication needed like this:
https://your-server-name.ltnschedule.com/api/v1/breakinglive/startThe {HOSTNAME} key will not work within your templates - but there is an even more simple way to trigger the internal LTN Schedule API with directly entering the api path - without the hostname and protocol part of the URL - like this:
/api/v1/breakinglive/startWithin a graphical template that is (in this example screenshot here) for instance activating and deactivating scaling of the output content, this would look like this:
For more infos to build templates - see the detailed article how to build templates for LTN Schedule.
Some Available features:
Actions
- Playback Control
- Toggle playback with optional start timestamp
- Hold current playing element [v9.4+, API version 5]
- Skip element
- Skip element on breaking live stop [v9.4+, API version 5]
- Insert template [v9.5+, API version 6]
- Jump to specific element (by ID, index, title or custom key/value pair) [v10+, API version 8]
- Cancel bumper [v9.9+, API version 7]
- Resync system [v9.9+, API version 7]
- Publishing Management
- Toggle publishing status
- Toggle individual push targets
- Change destination/target URL and stream key [v9.5+, API version 6]
- Toggle output scaling [v10+, API version 8]
- Set output volume [v9.5+, API version 6]
- Live Features
- Start/stop breaking live [v9.1+, API version 2]
- Select live stream for breaking live [v9.2+, API version 3]
- Replace active breaking live while running [v9.4+, API version 5]
- Ad Management
- Trigger ad break (with trigger type option: national/local) [v9.5+, API version 6]
- Select skipping strategy [v9.0+, API version 1]
- Trigger ad breaks for non-live stream elements [v9.3+, API version 4]
- Cancel ad break [v9.3+, API version 4]
- Overlay Controls
- Toggle PNG Overlay [v9.4+, API version 5]
- Toggle HTML5 Overlay [v9.4+, API version 5]
- Graphics Engine
- Start/stop/toggle an individual graphics layer [v10.2+, API version 9]
- Start/stop all graphics layers [v10.2+, API version 9]
- Clear all graphics layers [v10.3+, API version 10]
- Recording
- Start/stop/toggle PGM recording [v10.3+, API version 11]
- Connection
- Reconfigure connection (switch to a different Schedule instance and/or credentials, variables supported)
Feedbacks
- Stream Status
- Playback status
- Publishing status
- Individual targets status
- Publish status
- Element playing status (by ID) [v10+, API version 8]
- Flexible playback status [v10+, API version 8]
- Redundant system status [v9.9+, API version 7]
- Output scaling status [v10+, API version 8]
- Content Information
- Skippable status
- Next element status [v9.5+, API version 6]
- Current playout details (type, name, description, status, duration, remaining time) [v9.5+, API version 6]
- Breaking live status [v9.1+, API version 2]
- Breaking live status for individual streams [v9.4+, API version 5]
- Breaking live bumper status [v9.9+, API version 7]
- Overlay Status
- PNG Overlay status [v9.4+, API version 5]
- HTML5 Overlay status [v9.4+, API version 5]
- Hold status for current element [v9.4+, API version 5]
- Graphics layer on air status [v10.2+, API version 9]
- Recording Status
- PGM recording status [v10.3+, API version 11]
- Additional Information
- Ad break status
- Template insertion status [v9.5+, API version 6]
- Output thumbnails (400x224) every 10 seconds [v9.5+, API version 6]
Presets
- Stream Controls
- Individual target toggle with status background color
- Toggle playback with status
- Toggle publish with status
- Jump to element [v10+, API version 8]
- Output scaling [v10+, API version 8]
- Content Management
- Trigger ad break
- Cancel ad break [v9.3+, API version 4]
- Breaking live toggle with status [v9.1+, API version 2]
- Individual breaking live preset per stream [v9.4+, API version 5]
- Skip button showing upcoming element status [v9.5+, API version 6]
- Current status timers [v9.9+, API version 7]
- Redundant system sync status [v9.9+, API version 7]
- Current element played time timer [v10.3+, API version 10]
- Upcoming element start time [v10.3+, API version 11]
- Overlay Presets
- Toggle PNG Overlay with status [v9.4+, API version 5]
- Toggle HTML5 Overlay with status [v9.4+, API version 5]
- Toggle hold with status [v9.4+, API version 5]
- Graphics Presets
- Toggle each graphics layer with on air status [v10.2+, API version 9]
- Start/stop/clear all graphics layers [v10.3+, API version 10]
- Recording Presets
- Toggle/start/stop PGM recording with status and runtime [v10.3+, API version 11]
Variables
- Current remaining time [v9.9+, API version 7]
- Total played time [v9.9+, API version 7]
- Total remaining time [v9.9+, API version 7]
- Total duration [v9.9+, API version 7]
- Ad remaining time [v9.9+, API version 7]
- ID of current running element [v10+, API version 8]
- Index of current running element [v10+, API version 8]
- Played time of current element [v10.3+, API version 10]
- PGM recording runtime [v10.3+, API version 11]
- Start time of upcoming element (HH:MM:SS) [v10.3+, API version 11]
Full list of API calls (Version 10.3):
playback-api
PUT
/api/v1/playout/volume
Sets the volume of the PGM
POST
/api/v1/playout/scaling/set
Editing endpoint for output scaling settings
POST
/api/v1/playout/jump
Jumps to a designated element
GET
/api/v1/playout/unpublish
Stops publishing
GET
/api/v1/playout/stop
Stops the rundown
GET
/api/v1/playout/start
Starts the rundown
GET
/api/v1/playout/skip
Skips an element
GET
/api/v1/playout/resync
Restarts the synchronization process
GET
/api/v1/playout/publish
Starts publishing
GET
/api/v1/playout/hold
Toggles the hold status of the currently running element
GET
/api/v1/playout/hold/deactivate
Deactivates the hold status of the currently running element
GET
/api/v1/playout/hold/activate
Activates the hold status of the currently running element
GET
/api/v1/playout/cancelad
Cancels all currently running ads, or the ad as parameter
GET
/api/v1/playout/ad
Plays an ad on active push targets
templates-api
POST
/api/v1/template/insert
Insert
POST
/api/v1/template/import
Import a template xml or bxf
GET
/api/v1/template/list
Lists available templates
targets-api
POST
/api/v1/targets/edit
Edits a push target
GET
/api/v1/targets/stop
Disables requested targets
GET
/api/v1/targets/start
Enables requested targets
playlist-api
POST
/api/v1/playlist/lock
Locks/unlocks an element in the playlist
POST
/api/v1/playlist/insert/placeholder
Inserts a new placeholder in the playlist
POST
/api/v1/playlist/import
Imports a XML as playlist
POST
/api/v1/playlist/color
Sets the color of an element in the playlist
GET
/api/v1/playlist/export
Exports playlist as xml
GET
/api/v1/playlist/delete
Delete an element from the rundown
overlays-api
POST
/api/v1/overlay/static/set
Upload endpoint for the corner bug overlay
POST
/api/v1/overlay/static/activate
Activates the corner bug overlay
POST
/api/v1/overlay/html/set
Upload endpoint for html overlay
GET
/api/v1/overlay/static/deactivate
Deactivates the corner bug overlay
GET
/api/v1/overlay/html/deactivate
Deactivates the html overlay
GET
/api/v1/overlay/html/activate
Activates the html overlay
graphics-api
GET
/api/v1/graphics/layer
Activate or deactivate the specific graphics engine layer
POST
/api/v1/graphics/layer
Activate or deactivate the specific graphics engine layer - also enables handing over field data --> see Insert-dynamic-data-into-template-fields
GET
/api/v1/graphics/stopAll
Stops all layers of the graphics engine
GET
/api/v1/graphics/startAll
Starts all layers of the graphics engine
GET
/api/v1/graphics/clearAll
Clears every layer of the graphics engine
status-api
GET
/api/v1/sync/status
Status of the redundancy sync
GET
/api/v1/status
Status for the current playlist
GET
/api/v1/playout/thumbnail
Thumbnail of the current output
GET
/api/v1/playout/currentElement
Status for the current played playout element
GET
/api/v1/livestreamListeners/status
Status for the current published livestreams
record-api
GET
/api/v1/record/stop
Stops a running recording
GET
/api/v1/record/start
Start recording a livestream
GET
/api/v1/record/out
Set the desired out-point in a recording
GET
/api/v1/record/in
Set the desired in-point in a recording
pgm-recording-api
GET
/api/v1/pgm-recording/stop
Stops the PGM recording
GET
/api/v1/pgm-recording/start
Start recording the PGM
epg-api
GET
/api/v1/epg/samsungtvp
Gets the EPG tailored for Samsung TV Plus platform
GET
/api/v1/epg/roku
Gets the EPG tailored for Roku platform
GET
/api/v1/epg/ltn
Gets the reduced epg, taking into account epg-active elements
GET
/api/v1/epg/full
Gets the full epg, not taking into account epg-active elements
breaking-live-api
GET
/api/v1/breakinglive/stop
Stops the currently running breaking news livestream
GET
/api/v1/breakinglive/start
Starts the set breaking news livestream
GET
/api/v1/breakinglive/cancelbumper
Stops a currently running bumper
automation-api
POST
/api/v1/automation/execute
Execute an automation action
How to continue?