All requests to the Status Service should be made to the following URL:
https://status.suzzygames.com/api/
This service updates the widget
and status endpoints
every minute.
You can use the X-Refresh header to calculate how many float seconds
your client should wait before attempting to make another request.
This service also returns a ETag header which you can optionally include
in the next request. If nothing has changed the service will respond with a
304 Not Modified and an empty body.
X-Refresh: 12.73 # Seconds until next refresh
ETag: 1735594572 # Unique Cache Identifier
Note: The 'X-Refresh' header is randomly offset up to 5 seconds to
help mitigate the sudden spike in traffic.
On rare occasions the Service may return a 503 Service Unavailable
error. This happens when the service has just restarted (usually due to an update)
and is doing some digital housekeeping before preparing the widget
and status endpoints.
The error will however return the X-Refresh header and the
aforementioned endpoints should become available then.
Note: The status service always returns an empty body when an error occurs.
Your client should not attempt to parse any JSON.
Tracker Object
All trackers share the same base fields, but some fields are only
included for their respective types.
Charts take in values from multiple servers and average them
every specified interval compiling it into a Data Point.
Charts return the interval, history, and history_length fields.
Counters take in individual numbers from multiple servers and accumulate
them together as one number. Counters return the value field.
Services keep track of multiple servers to ensure they're healthy and operational.
If the health check fails their status is changed to either degraded or down
generating an event and alerting an engineer.
Services return the status field.
Field
Type
Description
id
string
Unique Tracker Identifier
public
boolean
Is this tracker public? (Internal)
ephemeral
boolean
Clear tracker data on startup? (Internal)
name
string
User-Friendly name for this tracker
description
string
Description that appears when mouse is hovered over
tags
Array<string>
Strings used to categorize this tracker
type
integer
The Type of Tracker
value
integer?
COUNTER: Current Tracker Value
status
integer?
SERVICE: Current Service Status
interval
integer?
CHART: Data Point Interval
history_length
integer?
CHART: Data Point History Length
history
Array<DataPoint>?
CHART: Data Point History
Tracker Types
Enum
Value
COUNTER
1
CHART
2
SERVICE
3
Service Status
Enum
Value
HEALTHY
0
DEGRADED
1
DOWN
2
Chart Data Point
Data Points are Arrays that contain two integers.
The first integer is a timestamp for when the service compiled
the data into a point and can be converted into a UNIX Timestamp with
TIMESTAMP * (INTERVAL * 60) * 1000. The second integer is the
calculated average value.
You can then reverse iterate over the trackers history field
to plot the values on a line chart.
Index
Type
Description
0
integer
Data Timestamp
1
integer
Data Value
Event Object
Events are generated when downtime is detected or for when downtime is
scheduled. They include "helpful" messages either generated by
the service itself or personally written by an engineer.
field
Type
Description
id
string
Unique Event Identifier
type
integer
Event Type
affects
string
The ID of Tracker this event pertains to
occurred
ISO Timestamp
When this event began
resolved
ISO Timestamp?
When this event was resolved
messages
Array<Message>
List of Message Objects (Unsorted)
Event Types
Enum
Value
DEGREDATION
0
DOWNTIME
1
MAINTENANCE
2
Their respective Hex Colors: #f1c40f, #ff005b, #6cc0e0
Message Object
These message contain HTML Content. Which usually only use the
standard text formatting tags <b> <s> <i>.
They may also occasionally include an image tag.
Field
Type
Description
created
ISO Timestamp
When this message was written
message
string
HTML Content