Skip to content
This repository was archived by the owner on Jun 12, 2021. It is now read-only.

Latest commit

 

History

History
262 lines (239 loc) · 4.49 KB

v2.md

File metadata and controls

262 lines (239 loc) · 4.49 KB

API v2

Info Detail
Status Active
Released in v2.2.0
Supported until -

Just Text

Welcome Message

GET /api:

{
	"requestSuccess": true,
	"message": "Welcome to UpAndRunning2's API!"
}

Welcome Message

GET /api/v2:

{
	"requestSuccess": true,
	"message": "Welcome to UpAndRunning2's API v2!"
}

Public Statistics

List of all (publicly available) Websites

GET /api/v2/websites:

{
	"requestSuccess": true,
	"websites": [
		{
			"name": "My Website",
			"protocol": "https",
			"url": "website.com",
			"status": "200 - OK",
			"responseTime": "150 ms"
		}
	]
}

If this API is accessed while being authenticated, the user will receive a slightly different response:
GET /api/v2/websites:

{
	"requestSuccess": true,
	"websites": [
		{
			"id": 1,
			"name": "My Website",
			"enabled": true,
			"visible": true,
			"protocol": "https",
			"url": "website.com",
			"checkMethod": "HEAD",
			"status": "200 - OK",
			"responseTime": "150 ms",
			"time": "2015-01-01 00:00:00",
			"notifications": {
				"pushbullet": false,
				"email": true,
				"telegram": false
			}
		}
	]
}

Current Status of a Website

GET /api/v2/websites/:url/status:

{
	"requestSuccess": true,
	"websiteData": {
		"id": 1,
		"name": "My Website",
		"url": "https://website.com"
	},
	"availability": {
		"ups": 99,
		"downs": 1,
		"total": 100,
		"average": "99.00%"
	},
	"lastCheckResult": {
		"status": "200 - OK",
		"responseTime": "150 ms",
		"time": "2015-01-01 00:00:00"
	},
	"lastFailedCheckResult": {
		"status": "500 - Internal Server Error",
		"responseTime": "0 ms",
		"time": "2014-12-31 20:15:00"
	}
}

Last Check-Results of a Website

GET /api/v2/websites/:url/results:

{
	"requestSuccess": true,
	"results": [
		{
			"status": "200 - OK",
            "responseTime": "150 ms",
            "time": "2015-01-01 00:00:00"
		}
	]
}

Optional Parameters:

  • ?limit=100
  • ?offset=50

Authentication

Login

POST /api/v2/auth/login:

{
	"requestSuccess": true,
	"message": ""
}

Required Parameters:

  • password

Logout

GET /api/v2/auth/logout:

{
	"requestSuccess": true,
	"message": ""
}

Settings

Notice: These APIs require authentication.

Check-Interval

PUT /api/v2/settings/interval:

{
	"requestSuccess": true,
	"message": ""
}

Required Parameters:

  • interval - 10 - 600

Admin-Password

PUT /api/v2/settings/password:

{
	"requestSuccess": true,
	"message": ""
}

Required Parameters:

  • password

Website Management

Notice: These APIs require authentication.

Add a Website

POST /api/v2/websites/:url:

{
	"requestSuccess": true,
	"message": ""
}

Required Parameters:

  • name
  • protocol
  • checkMethod

Update a Website

PUT /api/v2/websites/:url:

{
	"requestSuccess": true,
	"message": ""
}

Required Parameters:

  • name
  • protocol
  • url
  • checkMethod

Delete a Website

DELETE /api/v2/websites/:url:

{
	"requestSuccess": true,
	"message": ""
}

Enable / Disable a Website

PUT /api/v2/websites/:url/enabled:

{
	"requestSuccess": true,
	"message": ""
}

Required Parameters:

  • enabled - true / false

Set a Website's visibility

PUT /api/v2/websites/:url/visibility:

{
	"requestSuccess": true,
	"message": ""
}

Required Parameters:

  • visible - true / false

Get a Website's notification settings

GET /api/v2/websites/:url/notifications:

{
	"requestSuccess": true,
	"notifications": {
		"pushbulletKey": "abcdef123456",
		"email": "[email protected]",
		"telegramId": "123456789"
	}
}

Set a Website's notification settings

PUT /api/v2/websites/:url/notifications:

{
	"requestSuccess": true,
	"message": ""
}

Required Parameters:

  • pushbulletKey - "" to disable
  • email - "" to disable
  • telegramId - "" to disable

Trigger a Check

GET /api/v2/websites/:url/check:

{
	"requestSuccess": true,
	"message": ""
}