AlertSleep API (1.0.0)

Download OpenAPI specification:Download

AlertSleep API Documentation

AlertSleep is a modern SaaS platform for real-time website and uptime monitoring, built for founders, developers, and businesses that can't afford silent failures.

Features

  • Monitor websites, APIs, SSL certificates, and domains every 60 seconds
  • Multi-region global monitoring
  • Real-time incident tracking and notifications
  • Comprehensive uptime statistics and analytics

Rate Limiting

All API endpoints are rate-limited to 500 requests per minute per API token. Rate limit information is included in response headers:

  • X-RateLimit-Limit: Maximum requests allowed
  • X-RateLimit-Remaining: Remaining requests in current window
  • Retry-After: Seconds to wait when rate limited (429 response)

Content Types

The API supports both JSON and XML responses. Use the Accept header to specify your preferred format:

  • application/json (default)

Timestamps

All timestamps are returned in ISO 8601 format and are adjusted to the user's configured timezone.

Profile

User profile and account information

Get authenticated user profile

Returns the complete profile information for the authenticated user, including:

  • Account details (name, email, timezone)
  • Subscription information (plan tier, status, dates)
  • Plan limits and current usage
  • Contact information
Authorizations:
ApiTokenAuth

Responses

Response samples

Content type
{
  • "profile": {
    }
}

Monitors

Website and API monitoring endpoints

List all monitors

Retrieves a paginated list of all monitors for the authenticated user. Monitors are returned with their current status, configuration, and recent statistics.

Authorizations:
ApiTokenAuth
query Parameters
page
integer >= 1
Default: 1

Page number for pagination

limit
integer [ 1 .. 100 ]
Default: 50

Number of monitors per page

status
string
Enum: "up" "down" "paused" "pending"

Filter monitors by status

type
string
Enum: "http" "tcp" "ping" "ssl"

Filter monitors by type

Responses

Response samples

Content type
application/json
{
  • "monitors": [
    ],
  • "pagination": {
    }
}

Create a new monitor

Creates a new monitor to track website or API uptime.

Plan Limits: The number of monitors you can create depends on your subscription plan.

Check Intervals: Minimum interval depends on plan tier:

  • Free: 300 seconds (5 minutes)
  • Pro: 60 seconds (1 minute)
  • Enterprise: 30 seconds
Authorizations:
ApiTokenAuth
Request Body schema: application/json
friendly_name
required
string [ 1 .. 255 ] characters

Human-readable name for the monitor

url
required
string <uri>

URL to monitor (must be valid and accessible)

type
required
string
Enum: "http" "tcp" "ping" "ssl"

Type of monitor to create

method
required
string
Enum: "GET" "POST" "PUT" "PATCH" "DELETE" "HEAD"

HTTP method (required for http type)

interval_seconds
required
integer >= 30

Check interval in seconds. Minimum allowed interval depends on plan:

  • Free: 300 seconds (5 minutes)
  • Pro: 60 seconds (1 minute)
  • Enterprise: 30 seconds
object or null

Custom HTTP headers to include in requests

object or null
object or null

Responses

Request samples

Content type
application/json
Example
{
  • "friendly_name": "My Website",
  • "type": "http",
  • "method": "GET",
  • "interval_seconds": 300
}

Response samples

Content type
application/json
{
  • "monitor": {
    }
}

Get monitor details

Retrieves detailed information about a specific monitor, including:

  • Configuration and settings
  • Current status and uptime statistics
  • Recent check results
  • Alert settings
Authorizations:
ApiTokenAuth
path Parameters
id
required
string <uuid>
Example: a0e7d8d7-e670-403c-a76a-184a75cb4e37

Unique identifier (UUID) of the monitor

Responses

Response samples

Content type
application/json
{
  • "monitor": {
    }
}

Update monitor

Updates an existing monitor's configuration. All fields are optional. Only provided fields will be updated.

Note: Changing the interval may require a higher plan tier.

Authorizations:
ApiTokenAuth
path Parameters
id
required
string <uuid>
Example: a0e7d8d7-e670-403c-a76a-184a75cb4e37

Unique identifier (UUID) of the monitor

Request Body schema: application/json
friendly_name
string [ 1 .. 255 ] characters

Human-readable name for the monitor

url
string <uri>

URL to monitor

method
string
Enum: "GET" "POST" "PUT" "PATCH" "DELETE" "HEAD"

HTTP method

interval_seconds
integer >= 30

Check interval in seconds (plan restrictions apply)

status
string
Enum: "up" "paused"

Monitor status. Use "paused" to temporarily disable monitoring, "up" to resume monitoring

object or null

Custom HTTP headers

object or null
object or null

Responses

Request samples

Content type
application/json
Example
{
  • "friendly_name": "Updated Monitor Name",
  • "interval_seconds": 600
}

Response samples

Content type
application/json
{
  • "monitor": {
    }
}

Delete monitor

Permanently deletes a monitor and all associated data including:

  • Historical check results
  • Incident records
  • Statistics

Warning: This action cannot be undone.

Authorizations:
ApiTokenAuth
path Parameters
id
required
string <uuid>
Example: a0e7d8d7-e670-403c-a76a-184a75cb4e37

Unique identifier (UUID) of the monitor

Responses

Response samples

Content type
application/json
{
  • "message": "Monitor deleted successfully"
}

Get monitor check history

Retrieves the historical check results (pings) for a monitor. Results include response times, status codes, and failure reasons.

Performance Note: Requesting large time ranges may impact response time. Consider using pagination for optimal performance.

Authorizations:
ApiTokenAuth
path Parameters
id
required
string <uuid>
Example: a0e7d8d7-e670-403c-a76a-184a75cb4e37

Unique identifier (UUID) of the monitor

query Parameters
hours
integer [ 1 .. 8760 ]
Default: 24
Example: hours=168

Number of hours of history to retrieve

limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of pings to return

page
integer >= 1
Default: 1

Page number for pagination

Responses

Response samples

Content type
application/json
{
  • "pings": [
    ],
  • "pagination": {
    }
}

Incidents

Incident tracking and statistics

List incidents

Retrieves a paginated list of incidents for the authenticated user's monitors.

Incidents represent periods when a monitor was down or experiencing issues. Each incident includes:

  • Start and end times
  • Duration
  • Failure reason
  • Associated monitor information
  • Number of notifications sent
Authorizations:
ApiTokenAuth
query Parameters
monitor_id
string <uuid>
Example: monitor_id=a0e7d8d7-e670-403c-a76a-184a75cb4e37

Filter incidents by specific monitor ID

status
string
Enum: "active" "resolved"
Example: status=active

Filter incidents by resolution status

limit
integer [ 1 .. 100 ]
Default: 50

Number of incidents per page

page
integer >= 1
Default: 1

Page number for pagination

Responses

Response samples

Content type
application/json
{
  • "incidents": [
    ],
  • "pagination": {
    }
}

Get incident details

Retrieves detailed information about a specific incident.

Includes complete incident timeline, associated monitor details, and all relevant metadata for troubleshooting.

Authorizations:
ApiTokenAuth
path Parameters
id
required
string <uuid>
Example: a0b7e636-6f5d-4a78-b86c-5f182bef333a

Unique identifier of the incident

Responses

Response samples

Content type
application/json
{
  • "incident": {
    }
}

Get incident statistics

Retrieves comprehensive incident statistics for the authenticated user's monitors.

Statistics include:

  • Total, active, and resolved incident counts
  • Average resolution time
  • Total downtime
  • Incidents grouped by monitor

Use Cases:

  • Dashboard metrics
  • Uptime reporting
  • SLA tracking
  • Performance analysis
Authorizations:
ApiTokenAuth
query Parameters
days
integer [ 1 .. 365 ]
Default: 30
Example: days=90

Number of days to include in statistics

Responses

Response samples

Content type
application/json
{
  • "stats": {
    }
}