Sending Requests
All requests to the Status Service should be made to the following URL: https://status.suzzygames.com/api/
Automatic Refreshing
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.
Service Unavailable
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.
About Trackers
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
About Events
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