> For the complete documentation index, see [llms.txt](https://docs.xibosignage.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xibosignage.com/developer/player-control/sending-commands-via-the-cms-api.md).

# Sending Commands via the CMS API

These are commands initiated by the CMS, usually via API, and pushed to targeted displays or display groups for immediate action using the Xibo Message Relay (XMR), a form of push messaging.&#x20;

{% hint style="info" %}
If you want to control the playback of content on your display, check out Xibo's interactive, webhook or data connector functionality.
{% endhint %}

### Use when

Integrating with a central system where access to the local player API is not possible.

## **Commands**

The following commands are available, the link takes you to the associated API documentation.

<table><thead><tr><th width="160.3333740234375">Command</th><th width="541">Description</th></tr></thead><tbody><tr><td><a href="https://docs.xibosignage.com/developer/integrate/openapi/display-group#post-displaygroup-displaygroupid-action-command">commandAction</a></td><td>Run a configured Command</td></tr><tr><td><a href="https://docs.xibosignage.com/developer/integrate/openapi/display-group#post-displaygroup-displaygroupid-action-triggerwebhook">triggerWebhook</a></td><td>Send a web hook to the display</td></tr><tr><td><a href="https://docs.xibosignage.com/developer/integrate/openapi/display-group#post-displaygroup-criteria-displaygroupid">criteriaUpdate</a></td><td>Push a schedule criteria update to the display.</td></tr><tr><td><a href="https://docs.xibosignage.com/developer/integrate/openapi/display-group#post-displaygroup-displaygroupid-action-collectnow">collectNow</a></td><td>Run XMDS routine collection immediately</td></tr></tbody></table>

#### **Deprecated commands**

{% hint style="danger" %}
**Deprecation Notice**

Commands (formerly software triggers) to change the content playing on your displays are being removed from the software in the next release. These are marked in the triggers table below, along with their replacement functionality.
{% endhint %}

The following commands are deprecated and will be removed in future versions of the software.

| Action           | Description                                                    | Params                                                                                                                                                                                                                                                                                                                                                                       | Replaced by                                         |
| ---------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| changeLayout     | Immediately change to the specified Layout                     | <p><code>layoutId</code>, <code>duration</code>, <code>downloadRequired</code>, <code>changeMode</code><br>The <code>changeMode</code> parameter can be either “replace” or “queue”, where the value effects the currently active changeLayout actions. The <code>duration</code> is always based on the time since the message was received, even when in “queue” mode.</p> | Interactive webhooks and/or Schedule Criteria.      |
| overlayLayout    | Immediately overlay a Layout                                   | `layoutId`, `duration`, `downloadRequired`                                                                                                                                                                                                                                                                                                                                   | Interactive webhooks and/or Schedule Criteria.      |
| revertToSchedule | Revert to the scheduled content, removing any Layouts/Overlays |                                                                                                                                                                                                                                                                                                                                                                              | Interactive webhooks and/or Schedule Criteria.      |
| rekeyAction      | Regenerate the Player Public Key and Channel                   |                                                                                                                                                                                                                                                                                                                                                                              | N/A — no longer required with web socket based XMR. |

## **Security**&#x20;

Commands are sent to the Display via XMR using Web Sockets. In our recommended configuration, this will be over a secure web socket (`wss://`).

Push messages only contain instructions to communicate with the CMS or show existing content already known to the Display (for example existing Layouts, existing Commands, etc).

Older versions of the CMS, or older Player App versions connected to the latest CMS may use TCP as a fallback where web sockets are not supported. TCP triggers sent over are also sealed with a RSA public key - the private counterpart being held by the Player. The player must then verify the sealed message to ensure it originates from the CMS.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.xibosignage.com/developer/player-control/sending-commands-via-the-cms-api.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
