Solstice Discovery Services (SDS) API
SDS Server URL: IPAddress/api/discover
The SDS API reports statistics about the current status of the Solstice Discovery Service directory. These stats are instantaneous and can provide third-party developers with a snapshot of all Pods managed by this SDS server. Note that the target IP address must be the computer with SDS installed, not a Solstice Pod or Solstice Windows Display instance. While SDS may be installed on the same machine as a Solstice Windows Display, the API should not be used to call the server while the Solstice Software is active. In the Solstice Dashboard, this the IP address shown in the SDS tab, below the "Configure Primary SDS Host" button.
Hitting a target URL of a Solstice Pod returns a single dictionary of key:value pairs pertaining to that one Pod. [sds]/api/discover returns an array of dictionaries, where each dictionary contains the same keys but different values, depending on the values associated with the Pod in question. For example, sending a ‘GET’ to an SDS server with two associated Pods returns something similar to this:
{ "displays": [ { "name": "Pikes Peak PC", "id": "6cebfe86-3998-11e7-ab88-e09467b10fb1", "ipv4": "192.168.3.31", "port": 53100, "user_count": 0, "locked": false, "airplay_enabled": false, "session_capable": false, "in_session": false, "tags": [] }, { "name": "Solstice Demo 01", "id": "b242b840-4824-49d7-b5da-adb3a434a846", "ipv4": "192.168.3.31", "port": 53400, "user_count": 0, "locked": false, "airplay_enabled": false, "session_capable": false, "in_session": false, "tags": [] } ] )
SDS Commands
display | |||
Key | Type | Get/Post | Description |
name | string | Get | Assigned name of the Solstice Pod. |
id | string | Get | This is the unique identifier that Solstice uses to manage a single instance, regardless of how the display is named or its current IP address. |
ipv4 | string | Get | IP address of Solstice Pod. |
port | int | Get | Base port for Solstice Pod. The base port is always used along with the next two sequential ports. |
user_count | int | Get | Number of users currently connected to the Pod. |
locked | bool | Get | Checks if the display is locked |
airplay_enabled | bool | Get | Checks if AirPlay mirroring is enabled for the display. |
session_capable | bool | Get | Checks if the display is capable of starting a session. Would return ‘false’ if Solstice is running on a Windows PC that does not have the Solstice Software actively running. |
in_session | bool | Get | Checks if Pod is involved in an active session, defined by one or more connections. |
tags | array | Get | (Only shows if display has assigned tags). Returns array of dictionaries including the assigned tags’ tag names (“tag_name”:string) and color (“tag_color_index”:int). There are four colors of tag:
|
session_name | string | Get | Only shows if in_session=true. Returns nothing unless a session name is assigned, such as for a Multi-Room meeting. |
synced_display_ids | array | Get | Only shows if in_session=true. Returns nothing unless multiple displays are synced to the session, and then returns array of display IDs. |