Major revisions:¶
Recent Revisions¶
| Date | Version | Description |
|---|---|---|
| 10/17/2025 | Documentation change only. ops/getgemusers API example was incorrectly showing the groupnum and language fields as integers instead of strings. |
Available OPS API calls:¶
Device management
Assign device to user\ Set device to ready (unassigned) state\ Set device to quarantined state\ Set device to ready (unassigned) state\
User management
Deboard GEM group
Deboard GEM user
Show operations
Set emergency passthrough
Reset show
Pause show
Clear notification
Mark notification in-progress
Inspect data
Inspect devices for show
Inspect signed up users for show
Inspect notifications
Inspect onboard area state
Inspect shows
Inspect show
System settings
General information for API responses¶
The "ops" series of API calls are used by attendant/operator/administrator tools (such as the GUI and the CLI) to interact with GEM
All of the ops series of API calls follow the following convention:
- If the API call reaches the GEM server, an HTTP status of OK (200) will be received, and the payload returned will include a status code and any potential error information.
- A standard non-success HTTP status will be returned if the API call does not reach the GEM server due to authentication, protocol, or communications problems.
The return payload from these API calls always includes an "api_code" field, which is 0 if there is no error and it contains an error code otherwise. If there was an error, a field "error" containing a structure with additional details is included. If there is no error, the error field is null.
Example response with no error:
{
"api_code": 0,
"error": null
}
Example response with an error:
{
"api_code": 1002,
"error": {
"error_code": 10002,
"error_message": "could not get GemGroup",
"error_detail": "getting GameServer by GemGroupId 17: no rows in result set",
"suggestion": "",
"callstack": ""
}
}
Many calls have additional fields in the payload. If there is an error, those fields should be assumed to be uninitialized or invalid. If those fields include ones that are structures, those fields will be null and will not have a valid structure as a value.
The api_code values should be considered "stable" and the caller can code against them.
The error field contains a structure with the following fields:
| Type | Attribute | Description |
|---|---|---|
| Number | error_code | Internal GEM error code. For information purposes. It may change and should not be directly used by callers. |
| String | error_message | Human readable version of the error. It will always contain a value. |
| String | error_detail | More detail on the message. Optional and may be an empty string. |
| String | suggestion | Suggestion on what may be a root cause. Optional and may be an empty string. |
| String | callstack | Multiline string containing the callstack where the error was populated. Optional and may be an empty string. |