Skip to content
Official Node.js library for Status.io
CoffeeScript
Latest commit 31e4504 Jan 5, 2016 @joet3ch joet3ch 0.0.7
Failed to load latest commit information.
lib Initial import. Jan 5, 2016
src Initial import. Jan 5, 2016
.gitignore Updated gitignore. Jan 5, 2016
Cakefile Initial import. Jan 5, 2016
README.md Updated documentation URL. Jan 5, 2016
package.json 0.0.7 Jan 5, 2016

README.md

Status.io API

Installation

Module can be installed with command npm install statusio

Quick start

var StatusIOApi = require('statusio').StatusIOApi;

var api = new StatusIOApi('fe95676e-421f-4e55-94e3-aa7c9b291828', 'xDaJahiIQcnyuTXBBKT9+dTnTF0WW5Qn9sXwg+Tb4tSsbY+hj4Y41Ty/5nqEaLgMr/PukhDwwjWwIqsyeH7q2Q==')

api.status.summary('568acbf61ce86b532e000488', function(error, data){
    if(error) {
        console.error(data);
    } else {
        console.log(data);
    }
});

If you have plan to do multiple calls against one status page you could be interested in setStatusPage method. It allows to skip statuspage_id parameters in your requests

var StatusIOApi = require('statusio').StatusIOApi;

var api = new StatusIOApi('fe95676e-421f-4e55-94e3-aa7c9b291828', 'xDaJahiIQcnyuTXBBKT9+dTnTF0WW5Qn9sXwg+Tb4tSsbY+hj4Y41Ty/5nqEaLgMr/PukhDwwjWwIqsyeH7q2Q==')
api.setStatusPage('568acbf61ce86b532e000488');

api.status.summary(function(error, data){
    if(error) {
        console.error(data);
    } else {
        console.log(data);
    }
});

statuspage_id will be added to all objects where it is required and doesn't set

var StatusIOApi = require('statusio').StatusIOApi;

var api = new StatusIOApi('fe95676e-421f-4e55-94e3-aa7c9b291828', 'xDaJahiIQcnyuTXBBKT9+dTnTF0WW5Qn9sXwg+Tb4tSsbY+hj4Y41Ty/5nqEaLgMr/PukhDwwjWwIqsyeH7q2Q==')
api.setStatusPage('568acbf61ce86b532e000488');

api.subscribers.add({
    'statuspage_id': '568acbf61ce86b532e000488',
    'method': 'email',
    'address': '[email protected]',
    'silent': '1'
});

// IS EQUAL TO

api.subscribers.add({
    'method': 'email',
    'address': '[email protected]',
    'silent': '1'
});

callback function takes two arguments - error and data. In case if error is true data contains error message. In other cases data contains result field content. callback functions are optional.

Supported API Methods List

Actual version of API documentation available at http://developers.status.io/.

Components

  • api.components.list (statusPageId, callback)
  • api.components.statusUpdate (status, callback)

Incidents

  • api.incidents.list (statusPageId, callback)
  • api.incidents.message (statusPageId, messageId, callback)
  • api.incidents.create (incident, callback)
  • api.incidents.update (incident, callback)
  • api.incidents.resolve (incident, callback)
  • api.incidents.delete (incident, callback)

Maintenance

  • api.maintenance.list (statusPageId, callback)
  • api.maintenance.message (statusPageId, messageId, callback)
  • api.maintenance.schedule (maintenance, callback)
  • api.maintenance.start (maintenance, callback)
  • api.maintenance.update (maintenance, callback)
  • api.maintenance.finish (maintenance, callback)
  • api.maintenance.delete (maintenance, callback)

Metrics

  • api.metrics.update (metric, callback)

Status

  • api.status.summary (statusPageId, callback)

Subscribers

  • api.subscribers.list (statusPageId, callback)
  • api.subscribers.add (subscriber, callback)
  • api.subscribers.update (subscriber, callback)
  • api.subscribers.remove (statusPageId, subscriberId, callback)

If there is new method which is not implemented in this library yet you can directly call it like

api.request('get', 'new/get_method', {}, function(error, data){
    if(error) {
        console.error(data);
    } else {
        console.log(data);
    }
});

api.request('post', 'new/post_method', {'data': 'test'}, function(error, data){
    if(error) {
        console.error(data);
    } else {
        console.log(data);
    }
});
Something went wrong with that request. Please try again.