Getkuma REST API.

Getkuma has an easy-to-use API. Responses are provided as XML, JSON or JSON-P. It lets you get the details of your monitors, logs, create / edit / delete monitors, alert contacts and maintenance windows. That’s all.

Authentication

HTTP Basic Access Authentication is used for verifying accounts.

There are 3 types of api_keys for reaching the data:

  • account-specific api_key which allows using all the API methods on all the monitors of an account
  • monitor-specific api_keys which allows using only the getMonitors method for the given monitor
  • read-only api_key which allows fetching data with all the get* API endpoints

Which api_key type to use?

account-specific api_key is good for pulling data for more than 1 monitors (like listing the stats of all monitors) and/or adding-editing-deleting monitors.

monitor-specific api_keys are good for pulling data for a single monitor without revealing your main api_key (account-specific api_key). For ex: you can use monitor-specific api_keys in client websites (so you’ll still be able to pull data and the client will only be able to see the monitor-specific api_key).

read-only api_key is good for pulling data for listing. If you are not going to use create, update or delete methods, you can use read-only api-key.

Where to find the api_keys?

They are found under “My Settings” page.

While making a request, you must send the api_key in your request’s body. API key as a query parameter is only allowed for getMonitors endpoint:

https://api.uptimerobot.com/v2/getMonitors?api_key=YOUR_API_KEY_HERE

 

Rate Limits

We are trying to prevent abusive use of our API. We have rate limits based on user plan.

FREE plan : 10 req/min
PRO plan : monitor limit * 2 req/min ( with maximum value 5000 req/min )

We will return 429 HTTP status code in the response from API, when you hit the rate limits. Also we will return common rate limit response headers in the response :

X-RateLimit-Limit - your current rate limit
X-RateLimit-Remaining - number of calls left in current duration
X-RateLimit-Reset - time since epoch in seconds at which
the rate limiting period will end (or already ended)
Retry-After - Number of second after you should retry the call

CORS

CORS headers are sent only for get* API endpoints with monitor-specific and read-only API keys.

Formats

Responses can either be XML or JSON. Just mention the preferred format as:

https://api.uptimerobot.com/v2/methodName?format=xml
or

https://api.uptimerobot.com/v2/methodName?format=json

In order to get a JSON-P response, the requests need to be sent with a parameter named callback like callback=jsonpUptimeRobot and the response will return as:

jsonpUptimeRobot({...});

Methods