Introduction

Welcome to the Tethered API, allowing you to access your account and manage your data via a REST API. Not sure how to get started? You may want to consider using one of our libraries instead.

We have used a REST based architecture, meaning that pathing should be intuitive and easy to understand. All data is returned as JSON with the appropriate HTTP status code depending on the output produced.

Our API accepts both GET, POST and DELETE methods, depending on the desired outcome of the path. All requests require an API key, please see the authentication section for more information.

Base URL
https://tethered.app/app/api/v1

Authentication

All requests require an API key, which can be obtained from within your account page. Your API key can be sent with any part of the request, including a query paramater or a body paramater instead.

Authentication
/:route/?apikey=:apikey

Errors

We use standard HTTP response codes to indicate success or errors within the API. Codes within 2xx range indicate success, whereas codes within the 4xx range indicate a failure.

When an error occurs, for example a 401 (Unauthorized) status, you will still receive a response, however, it will be empty. As a result, you must evaluate the status code to determine if the request was successful (200).

Errors (Example status: 401)
[]

/account

Get account information for a specific account, the authenticated account.

Route POST
/account

/endpoints

Provides a list of API endpoints

Route GET
/endpoints

/incident

Create, Update or Fetch an incident

GET
int
id *
The incident ID to lookup
POST
int
id
The incident ID to update, leave empty to create
int
siteid *
The linked monitor ID
string
incident_title *
The incident title
string
incident_source
The source of the incident
int
status
The current status of the incident
DELETE
int
id *
The incident ID to remove, cannot be undone
Parameters marked with * are required, and must have a value.
Route GET|POST|DELETE
/incident

/incidents

Fetch incidents for a specific account

Route GET
/incidents

/incidents/types

Fetch all incident status types

GET
int
type
Specific type enum to lookup
Parameters marked with * are required, and must have a value.
Route GET
/incidents/types

/metrics

Log custom metrics for a specific monitor, or purge a dataset

POST
int
site *
The site ID to attach this data to
string
key *
The metric key you want to create/add to
string
label
The label to add to the metric, you can also specify a suffix with quicktags
DELETE
int
site *
The site ID to target
string
key *
The metric key to target
Parameters marked with * are required, and must have a value.
Route POST|DELETE
/metrics

/metrics/types

Get all metric types including the slug and code

Route GET
/metrics/types

/metrics/widget-types

Get all widget types including the slug and code

Route GET
/metrics/widget-types

/notifier

Create, Update or Fetch a notifier from the system

GET
int
id *
The notifier ID to lookup
POST
int
id
The notifier ID to update, leave empty to create
int
type
The type of notifier, matching a type definition
string
config_email
Email Address
string
config_slackHook
Slack Webhook URL
string
config_discordHook
Discord Webhook URL
string
config_zapierHook
Zapier Webhook URL
string
config_iftttEvent
Event Name
string
config_iftttKey
Access Key
string
config_webhookTarget
Webhook URL
string
config_webhookMethod
Webhook Method
string
config_webhookPacket
Webhook packet
string
config_pushbulletToken
Access Token
string
config_systemSmsNumber
Phone number
string
config_systemCallNumber
Phone number
string
config_systemWhatsAppNumber
Phone number
string
config_telegramUniqueID
Unique ID
string
config_rocketChatHook
Rocket Chat Webhook URL
string
config_bulksmsTokenId
Access Token ID
string
config_bulksmsTokenSecret
Access Token Secret
string
config_bulksmsNumber
Phone number
string
config_clickatellToken
Access Token
string
config_clickatellNumber
Phone number
string
config_twilioSid
Account SID
string
config_twilioToken
Account Token
string
config_twilioType
Type
string
config_twilioFromNumber
From number
string
config_twilioToNumber
To number
string
config_plivoAuthId
Auth ID
string
config_plivoAuthToken
Auth Token
string
config_plivoType
Type
string
config_plivoFromNumber
From number
string
config_plivoToNumber
To number
string
config_pagerdutyApiKey
API Key
string
config_pagerdutyEmail
Linked Email
string
config_pagerdutyServiceId
Service ID
string
config_splunkApiId
API ID
string
config_splunkApiKey
API Key
string
config_splunkUsername
Username
string
config_opsgenieApiKey
Alert API Key
string
config_jiraEmail
Account Email
string
config_jiraApiKey
Account API Key
string
config_asanaPat
Asana Personal Access Token
string
config_frontApiKey
Front API Token
string
config_chantyHook
Chanty Webhook URL
string
config_flockHook
Flock Webhook URL
string
config_zendeskApiKey
Zendesk API Key
string
config_zendeskDomain
Zendesk Sub Domain
string
config_pushoverApiToken
Pushover API Key
string
config_pushoverUserKey
Pushover User Key
string
config_pushoverDeviceName
Pushover Device Name
bool
disable_connection_filter
If true, all connections can use this notifier, otherwise, use sites list
DELETE
int
id *
The notifier ID to remove, cannot be undone
Parameters marked with * are required, and must have a value.
Route GET|POST|DELETE
/notifier

/notifier/test

Test an existing notifier

POST
int
id
The notifier ID to update, leave empty to create
Parameters marked with * are required, and must have a value.
Route POST
/notifier/test

/notifiers

Fetch all notifiers for a specific user

Route GET
/notifiers

/notifiers/types

Fetch all notifiers types available

GET
int
type
Specific type enum to lookup
Parameters marked with * are required, and must have a value.
Route GET
/notifiers/types

/profile/me

Fetch public information for the authenticated user

Route GET
/profile/me

/site

Create, Update or Fetch a site from the system

GET
int
id *
The site ID to lookup
POST
int
id
The site ID to update, leave empty to create
string
url *
The link to the connection
string
config_title
The connection title, will be used on status groups and UI
int
config_port
The port number to connect to
string
config_keyword
The keyword to look for on the target
string
config_username
The username for basic auth, if needed
string
config_password
The password for basic auth, if needed
bool
config_toggle_hide_url
If set hides the URL on status pages
string
config_subscriptions
Set to 'disabled' to disable subscriptions
string
config_status_visibility
Status page visibility, set to either 'private' or 'password', to disable the public status
string
config_status_password
Status page password, only if you set visibility to 'password'
string
config_requestType
The request mode (HEAD/GET) for URL monitors
int
schedule_priority
The frequency you prefer to run this monitor at
DELETE
int
id *
The site ID to remove, cannot be undone
Parameters marked with * are required, and must have a value.
Route GET|POST|DELETE
/site

/site/report

Get report data for a specific site

GET
int
id *
The site ID to lookup
int
rangeType
The range type to apply (1=Index; 2=Hours; 3=Days)
int
rangeUnits
The range units to apply
Parameters marked with * are required, and must have a value.
Route GET
/site/report

/site/status

Log a status update for a specific site

POST
int
id *
The site ID to attach this data to
int
status *
The status code of the monitor, to logged
int
time
Optional operational/ping time
Parameters marked with * are required, and must have a value.
Route POST
/site/status

/sites/frequency-types

Get all available frequencies for a specific account

Route GET
/sites/frequency-types

/sites

Fetch all sites for a specific user

Route GET
/sites

/sites/labels

Get all labels related to site UI

GET
string
type
The site type to lookup labels for
Parameters marked with * are required, and must have a value.
Route GET
/sites/labels

/sites/status-codes

Get all status codes as a list

Route GET
/sites/status-codes

/sites/types

Get all type definitions for site management

GET
string
type
The site type to lookup definition for
Parameters marked with * are required, and must have a value.
Route GET
/sites/types

/status-group

Create, Update or Fetch a status groups from the system

GET
int
id *
The status group ID to lookup
POST
int
id
The status group ID to update, leave empty to create
string
title *
The link to the connection
string
config_bg_gradient
The gradient template you'd like to use. Set to '__custom' to use the custom options
string
config_bg_gradient_custom_style
The direction of the custom gradient, must match valid direction
string
config_bg_gradient_custom_from
The first color in the gradient, as a hex
string
config_bg_gradient_custom_to
The second color in the gradient, as a hex
DELETE
int
id *
The status group ID to remove, cannot be undone
Parameters marked with * are required, and must have a value.
Route GET|POST|DELETE
/status-group

/status-group/note

Set the active note for a status group

POST
int
status_group *
The status group ID to update, leave empty to create
string
title *
The title to show in the note
string
note *
The note message to be shown
int
state *
The note state enum, which controls how the UI displays
Parameters marked with * are required, and must have a value.
Route POST
/status-group/note

/status-groups/gradient-styles

Get the gradient style template definitions and directions

Route GET
/status-groups/gradient-styles

/status-groups

Fetch all status groups for a specific user

Route GET
/status-groups

/status-groups/note-states

Get all note state enums as a list

Route GET
/status-groups/note-states

/team

Fetch, add or remove to the team for a user.

POST
string
email *
The email address of the user to add to the owners account
DELETE
int
id *
The user ID to remove, cannot be undone
Parameters marked with * are required, and must have a value.
Route GET
/team