Public

MethodPathSummary
GET/api/v1/status.jsonCurrent status of the main public page: services, sections, open incidents and maintenance
GET/api/v1/:slug/status.jsonThe same for another public status page, by its slug
GET/api/v1/chartResponse-time chart for one monitor
GET/api/v1/dayOne day of a service (k=c<id>) or section (k=g<id>) as hourly bars
POST/api/push/:tokenHeartbeat for a push monitor (GET works too)
GET/:slug/feed.rssRSS feed of a public page's incidents (feed.atom for Atom)

#Current status of the main public page: services, sections, open incidents and maintenance

GET/api/v1/status.json

Current status of the main public page: services, sections, open incidents and maintenance. Allowed from any website (CORS *), cached for 15 seconds.

Address
https://status.brambleit.com/api/v1/status.json
Requires
None: public, or protected by a token in the address or body.

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('https://status.brambleit.com/api/v1/status.json', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();

#The same for another public status page, by its slug

GET/api/v1/:slug/status.json
Address
https://status.brambleit.com/api/v1/:slug/status.json
Requires
None: public, or protected by a token in the address or body.

Path parameters

NameTypeDescription
slugrequiredstring

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('https://status.brambleit.com/api/v1/example/status.json', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();

#Response-time chart for one monitor

GET/api/v1/chart

Response-time chart for one monitor. Query monitor (id) and range (24h, 7d or 30d). Public when that monitor's chart is shown publicly.

Address
https://status.brambleit.com/api/v1/chart
Requires
None: public, or protected by a token in the address or body.

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('https://status.brambleit.com/api/v1/chart', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();

#One day of a service (`k=c<id>`) or section (`k=g<id>`) as hourly bars

GET/api/v1/day

One day of a service (k=c<id>) or section (k=g<id>) as hourly bars. Query page, day (Unix seconds) and k.

Address
https://status.brambleit.com/api/v1/day
Requires
None: public, or protected by a token in the address or body.

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('https://status.brambleit.com/api/v1/day', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();

#Heartbeat for a push monitor (GET works too)

POST/api/push/:token

Heartbeat for a push monitor (GET works too). Query status (up or down), msg, ping. The token is the secret.

Address
https://status.brambleit.com/api/push/:token
Requires
None: public, or protected by a token in the address or body.

Path parameters

NameTypeDescription
tokenrequiredstring

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('https://status.brambleit.com/api/push/%E2%80%A6', {
  method: 'POST',
  credentials: 'include',
});
const data = await res.json();

#RSS feed of a public page's incidents (`feed.atom` for Atom)

GET/:slug/feed.rss
Address
https://status.brambleit.com/:slug/feed.rss
Requires
None: public, or protected by a token in the address or body.

Path parameters

NameTypeDescription
slugrequiredstring

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('https://status.brambleit.com/example/feed.rss', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();