Skip to the content.

Templates

Tools for managing templates. A template is a multi-zone layout that defines content areas on the screen — each zone can display a different playlist, web page, or media item simultaneously. Templates also support JavaScript scripting for interactive or dynamic content.


list_templates

List all templates in the account. Returns template objects with id, name, group assignment, and zone configuration.

Parameter Type Required Description
group_id string or string[] No Filter by template group ID(s)
group_name string or string[] No Filter by template group name(s)
take number No Results per page
page number No Page number (1-based)

get_template

Get a template by ID including its full zone definitions and scripting. Returns the template’s name, dimensions, group, and an array of zones where each zone defines a screen region with position, size, and content assignment.

Parameter Type Required Description
id string Yes The template ID

create_template

Create a new template (multi-zone layout). At minimum a name is required.

Parameter Type Required Description
name string Yes Name for the new template
group_id string No Template group ID
width number No Canvas width in pixels (e.g. 1920)
height number No Canvas height in pixels (e.g. 1080)

update_template

Update a template’s properties, zone layout, or scripting. When modifying zones, send the complete zones array — it replaces existing zones entirely.

Parameter Type Required Description
id string Yes The template ID
name string No Updated name
group_id string No Move to this group
width number No Updated canvas width
height number No Updated canvas height

Template Modules / Zones

The following tools edit individual modules (zones) within a template without resending the whole zones array. They are GraphQL-backed — REST’s update_template can only replace the entire zone list at once. “Module” and “zone” are used interchangeably. Module options are type-specific key-value settings (e.g. timezone for a Clock zone, location for a Weather zone).

add_template_module

Add a module/zone to an existing template.

Parameter Type Required Description
templateId string Yes The template ID to add the module/zone to
module object Yes Module/zone definition: name, type (e.g. Playlist, Clock, Weather, Ticker, Web), left, top, width, height (pixels), playlistId, sequence (z-order). See introspect_schema typeName ModuleInput

update_template_module

Update a single module/zone (reposition, resize, or reassign its playlist). Only include fields you want to change.

Parameter Type Required Description
templateId string Yes The template ID containing the module/zone
moduleId string Yes The module/zone ID to update
name string No Updated name
type string No Updated type
left / top number No Position in pixels
width / height number No Size in pixels
playlistId string No Playlist assigned to this zone
sequence number No Z-order (higher appears in front)

remove_template_module

Remove a single module/zone by ID.

Parameter Type Required Description
templateId string Yes The template ID containing the module/zone
moduleId string Yes The module/zone ID to remove

reorder_template_modules

Reorder modules/zones by setting each module’s sequence (z-order).

Parameter Type Required Description
templateId string Yes The template ID
moduleSequences array Yes Each entry: { moduleId, sequence } — the new z-order for that module/zone

batch_update_template_modules

Update multiple modules/zones in one call (e.g. apply a whole new layout). Each entry targets one module by ID and carries only the fields to change.

Parameter Type Required Description
templateId string Yes The template ID
modules array Yes Module/zone updates, each { moduleId, ...fields } (same fields as update_template_module)

set_module_options

Set ALL configuration options for a module/zone, replacing any existing options. To change one option without touching the others, use upsert_module_option.

Parameter Type Required Description
templateId string Yes The template ID
moduleId string Yes The module/zone ID
options array Yes Complete set of { name, value } options (replaces all existing)

upsert_module_option

Add or update a single module/zone option, matched by name, leaving the others untouched.

Parameter Type Required Description
templateId string Yes The template ID
moduleId string Yes The module/zone ID
option object Yes The { name, value } option to add or update

remove_module_option

Remove a single module/zone option by name.

Parameter Type Required Description
templateId string Yes The template ID
moduleId string Yes The module/zone ID
optionName string Yes The name/key of the option to remove

Back to Home