Sidings Media API
Introduction
These are the general utility APIs for Sidings Media's online services. The APIs documented here are all open source and can be found in our GitHub Organisation. These APIs include open APIs that require no authentication to access, as well as the open source APIs that require some level of authentication or authorisation to call.
Architecture
The underlying API is split into a number of smaller services
handling different aspects. There is at least 1 service per first
level path directory, i.e. 1 service for /messaging
, 1 service for
/stats
and so on. A full breakdown of which services map to which
paths can be found below, along with links to their respective
repositories.
Path Base | Service Name | Repository |
---|---|---|
/messaging | messaging | https://github.com/SidingsMedia/messaging.git |
/terms | static | https://github.com/SidingsMedia/static.git |
/openapi | openapi | https://github.com/SidingsMedia/openapi.git |
/openapi.json | openapi | https://github.com/SidingsMedia/openapi.git |
/stats | stats | https://github.com/plausible/analytics.git |
Each service will expose a health check endpoint that will return a
plaintext 200 OK
response when called. This is documented by this
specification.
Operation
Service Status
We constantly monitor our API infrastructure to try and prevent issues occurring, and to respond quickly when they do occur, however due to the nature of Sidings Media, we can not guarantee service availability. To view the current status of the API as well as the rest of our web services, you can visit our status page at status.sidingsmedia.com. Here you will find the current service status as well as any notes on incidents or planned maintenance outages.
Rate limits
A number of endpoints impose rate limits in order to prevent abuse.
For hopefully obvious reasons, the rate limits and the system used
to calculate them is not publicly documented. However, for endpoints
that do implement a rate limit, you will receive a http 429
response with the retry-after
header set indicating after how many
seconds you should restart making requests.