Skip to content

Repository files navigation

updownio project

PyPI pyversionsPyPI version shields.ioDocumentation Status

updownio is a free and open-source, it's a python wrapper for the updown.io API.

Installation

pip install updownio

Environment variables

VariableDescriptionDefault
UPDOWN_ACCEPTHTTP Accept request-headerapplication/json
UPDOWN_ACCEPT_ENCODINGHTTP Accept-Encoding request-headergzip
UPDOWN_API_KEYAPI key for authentication
UPDOWN_ENDPOINTAPI Endpointhttps://updown.io
UPDOWN_TIMEOUT Request timeout in seconds60

Usage

Import library

importupdownio

Initialize service with arguments

updown_checks=updownio.service('checks',
api_key='xxxxxxxxxxx',
endpoint='https://example.org/api',
timeout=3600)

Endpoints

Checks

List all your checks
checks=updownio.service('checks').list()
Show a single check

Select check by token

check=updownio.service('checks').show(token='xxxx')

or by URL

check=updownio.service('checks').show(url='https://example.org')
Get all the downtimes of a check

Select downtimes by token

check=updownio.service('checks').downtimes(token='xxxx'params= {'page': 1,
'results': False})

or by URL

check=updownio.service('checks').downtimes(url='https://example.org')
Get detailed metrics about the check

Select metrics by token

check=updownio.service('checks').metrics(token='xxxx',
params= {'from': '2022-12-16 15:11:17 +0100',
'to': '2023-01-16 15:11:17 +0100',
'group': 'host'})

or by URL

check=updownio.service('checks').metrics(url='https://example.org')
Add a new check
check=updownio.service('checks').add('https://example.org',
data= {'apdex_t': 2.0,
'disabled_locations': ['fra', 'syd'],
'period': 3600,
'recipients': ['email:xxxxxxxx', 'slack:xxxxxxxx']})
Update a check

Select check by token

check=updownio.service('checks').update(token='xxxx',
data= {'apdex_t': 1.0,
'disabled_locations': ['fra', 'syd'],
'recipients': ['email:xxxxxxxx', 'slack:xxxxxxxx']})

or by URL

check=updownio.service('checks').update(url='https://example.org',
data= {'apdex_t': 1.0,
'disabled_locations': ['fra', 'syd'],
'recipients': ['email:xxxxxxxx', 'slack:xxxxxxxx']})
Delete a check

Select check by token

updownio.service('checks').delete(token='xxxx')

or by URL

updownio.service('checks').delete(url='https://example.org')

Nodes

List all updown.io monitoring nodes
nodes=updownio.service('nodes').list()
List all updown.io monitoring nodes IPv4 addresses
nodes=updownio.service('nodes').ipv4()
List all updown.io monitoring nodes IPv6 addresses
nodes=updownio.service('nodes').ipv6()

Recipients

List all the possible alert recipients/channels on your account
recipients=updownio.service('recipients').list()
Add a new recipient
recipients=updownio.service('recipients').add(xtype='email',
value='xxxxxxxx',
data= {'selected': True})
Delete a recipient
updownio.service('recipients').delete(xid='email:xxxxxxxx')

Status pages

List all your status pages
status_pages=updownio.service('status_pages').list()
Add a new status page
status_page=updownio.service('status_pages').add(['xxxx', 'yyyy', 'zzzz'],
data= {'name': 'foo',
'description': 'bar'})
Update a status page
status_page=updownio.service('status_pages').update(token='xxxx',
data= {'checks': ['xxxx', 'zzzz'],
'name': 'spam',
'description': 'ham'})
Delete a status page
updownio.service('status_pages').delete(token='xxxx')

About

Python wrapper for the updown.io API

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages