Skip to content

API Dev

Shift show on the stage

This API shifts the coordinate system of the show on the stage to facilitate testing of large experiences in a restricted space.

It is specifically implemented as a GET so that one of the ways users can easily invoke it is simply by bookmarking a URL in their mobile browser and invoking that bookmark when they want to shift the stage.

The API provides a parameter that indicates if the movement is relative or absolute. If it is relative, it will be added to any previous shifts applied to the show.

The shifts are not saved in the database, so if the showrunner is restarted,it will be in the state configured in the database with no developer shifts applied.

The shifts are applied to the entire show, so if there are multiple groups present, they will all see the shift. This will often not make any sense and thus the feature is primarily intended for use in situations where a single group is on the stage.

To reset the offset as if no offset had been applied, send an absolute shift of 0,0

The API uses the show name instead of the show id to facilitate bookmarking without having to worry about ID changes when the DB is recreated. For the same reason, the address for the URL can be the siterunner which tends to have a more constant IP address.

Endpoint: /api/v1/dev/stageoffset/:showname/:mode/:x/:y

parameter value
showname The name of the show. This is the parameter passed to the showrunner
mode 'a' for absolute, 'r' for relative
x x coordinate, in meters of the stage shift
y y coordinate in meters of the stage shift

Example calls ::

Advance one zone forward:

http://192.168.1.160:13699/api/v1/dev/stageoffset/MyShowName/r/5/0
or
http://192.168.1.172:13710/api/v1/dev/stageoffset/MyShowName/r/5/0

Reset the stage to original definition:

http://192.168.1.160:13699/api/v1/dev/stageoffset/MyShowName/a/0/0
or
http://192.168.1.172:13710/api/v1/dev/stageoffset/MyShowName/a/0/0

Verb: GET

Payload: None

Example Response:

{
    "api_code": 0,
    "error": null
}

If an error occurred then the value of "connection" will be null.