pydo.uptime.create_alert()

Description

To create an Uptime alert, send a POST request to /v2/uptime/checks/$CHECK_ID/alerts specifying the attributes in the table below in the JSON body.

Parameters

Name Type Required Description Default Value
check_id string True A unique identifier for a check.
body JSON or IO[bytes] True The ‘’type’’ field dictates the type of alert, and hence what type of value to pass into the threshold property.
Type Description Threshold Value
—– ————- ——————–
latency alerts on the response latency milliseconds
down alerts on a target registering as down in any region N/A (Not required)
down_global alerts on a target registering as down globally N/A (Not required)
ssl_expiry alerts on a SSL certificate expiring within $threshold days days

Request Sample

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

req = {
  "name": "Landing page degraded performance",
  "type": "latency",
  "threshold": 300,
  "comparison": "greater_than",
  "notifications": {
    "email": [
      "[email protected]"
    ],
    "slack": [
      {
        "channel": "Production Alerts",
        "url": "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"
      }
    ]
  },
  "period": "2m"
}

resp = client.uptime.alert_create(check_id="4de7ac8b", body=req)

Responses

See the API spec for this endpoint to view additional detail on responses, headers, parameters, and more.

The response will be a JSON object with a key called alert. The value of this will be an object that contains the standard attributes associated with an uptime alert.

Click to expand an example response.
{
  "alert": {
    "id": "5a4981aa-9653-4bd1-bef5-d6bff52042e4",
    "name": "Landing page degraded performance",
    "type": "latency",
    "threshold": 300,
    "comparison": "greater_than",
    "notifications": {
      "email": [
        "[email protected]"
      ],
      "slack": [
        {
          "channel": "Production Alerts",
          "url": "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"
        },
        {
          "channel": "Production Alerts",
          "url": "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"
        }
      ]
    },
    "period": "2m"
  }
}

Unauthorized

Click to expand an example response.
{
  "id": "unauthorized",
  "message": "Unable to authenticate you."
}

The resource was not found.

Click to expand an example response.
{
  "id": "not_found",
  "message": "The resource you requested could not be found."
}

API Rate limit exceeded

Click to expand an example response.
{
  "id": "too_many_requests",
  "message": "API Rate limit exceeded."
}

Server error.

Click to expand an example response.
{
  "id": "server_error",
  "message": "Unexpected server-side error"
}

Unexpected error

Click to expand an example response.
{
  "id": "example_error",
  "message": "some error message"
}