> ## Documentation Index
> Fetch the complete documentation index at: https://pulse-41cf5b0d.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# PulseGuard: Uptime Monitoring for Modern Infrastructure

> PulseGuard is an edge-native monitoring platform with 16 monitor types, 50+ regions, real-time alerting, public status pages, and Monitoring as Code.

PulseGuard is an edge-native uptime monitoring platform that checks your services from 50+ probe locations spread across 7 continents, surfaces failures in real time, and helps you communicate incidents clearly through public status pages. It covers everything from a simple HTTP health check to multi-step browser scripts, internal TCP ports, and expiring SSL certificates — all managed from a single dashboard or from YAML files in your repository.

## What PulseGuard Does

PulseGuard continuously sends checks from its global probe network to your endpoints at intervals as short as 30 seconds. When a check fails, PulseGuard uses a **double-check protocol** — it retries from an alternate vantage point before declaring downtime — so you get accurate alerts without noise. Every result feeds into real-time latency charts and uptime reports that help you understand trends, not just point-in-time failures.

## Core Capabilities

### Monitor Types

PulseGuard supports **16 monitor types**, so you can watch every layer of your stack:

| Category      | Types                                              |
| ------------- | -------------------------------------------------- |
| **Web & API** | HTTP/HTTPS, GraphQL, WebSocket                     |
| **Network**   | PING, TCP Port                                     |
| **Security**  | SSL/TLS certificate, Domain expiration             |
| **DNS**       | DNS record                                         |
| **Browser**   | Browser (Puppeteer), Sequence (multi-step scripts) |
| **Async**     | Heartbeat (cron/job check-ins)                     |
| **Protocol**  | MCP, BGP                                           |
| **Data**      | Database                                           |

Monitors run at configurable intervals from 30 seconds to 24 hours. For each monitor you can define expected status codes, response body assertions using JSONPath or regex, and per-monitor alert thresholds.

### Global Probe Network

Checks run from **50+ locations** across North America, Europe, Asia Pacific, South America, Africa, and the Middle East. You choose which regions to include per monitor, giving you fine-grained visibility into where your service is healthy and where it isn't.

### Alerting Channels

When a monitor changes state, PulseGuard notifies your team through the channels you already use:

* **Email** — fully templated with incident context
* **Slack** — interactive blocks with one-click acknowledge
* **Discord** — rich embeds with severity colors
* **Webhook** — POST to any endpoint with a structured JSON payload
* **Telegram** — instant bot messages
* **SMS** — text alerts for critical on-call scenarios

PulseGuard includes flapping detection and alert rate-limiting to suppress noise during unstable recovery periods.

### Incident Management

Every alert opens an incident with a structured lifecycle: `Investigating` → `Identified` → `Monitoring` → `Resolved`. You can attach a post-mortem to any incident, recording the root cause, a corrected timeline, action items, and severity level.

### Public Status Pages

PulseGuard generates a public status page for your organization with no extra setup. You can add a custom domain, password-protect the page, schedule maintenance windows, and let visitors subscribe to per-monitor email updates. Pages support custom CSS, custom JavaScript, favicons, OG images, and multi-language (i18n) content.

### Private Probes

For services that live inside a private network — internal APIs, staging environments, database hosts — PulseGuard provides **Docker-based private probes**. You deploy a lightweight agent container in your infrastructure, and it polls PulseGuard for check jobs, executes them locally, and reports results back. No inbound firewall rules required.

### CLI and Monitoring as Code

The `pulse` CLI lets you manage your entire monitoring configuration from version-controlled YAML files:

```bash theme={null}
pulse auth login --key pg_live_...     # Authenticate
pulse monitors apply -f pulseguard.yaml # Sync monitors from YAML
pulse trigger <id>                      # Force an immediate check
pulse logs <id>                         # Tail live check events
pulse wait <id>                         # Block CI until monitor is UP
```

### REST API

Every resource in PulseGuard is accessible over a REST API secured with scoped API keys. You can create monitors, query check results, manage alert channels, and inspect incidents — all programmatically. See the [API Overview](/api/overview) for endpoint details.

## Plans and Limits

PulseGuard is designed to scale from side projects to enterprise deployments.

| Plan           | Check Budget          | Monitors per Tick         | Private Probes |
| -------------- | --------------------- | ------------------------- | -------------- |
| **Free**       | 10,000 checks / month | 5 monitors                | —              |
| **Pro**        | Unlimited             | 50 monitors, with queuing | Up to 3 probes |
| **Enterprise** | Unlimited             | Unlimited (sharded)       | Unlimited      |

<Note>
  The check budget on the Free plan counts every individual probe execution. A single monitor running in 3 regions uses 3 checks per execution cycle.
</Note>

## Next Steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Create your first monitor and view live results in under five minutes.
  </Card>

  <Card title="Monitor Types" icon="eye" href="/monitors/overview">
    Explore all 16 monitor types and their configuration options.
  </Card>

  <Card title="Alerting" icon="bell" href="/alerting/alert-rules">
    Configure notification channels and incident workflows.
  </Card>

  <Card title="Status Pages" icon="globe" href="/status-pages/overview">
    Publish a public status page for your users.
  </Card>

  <Card title="CLI" icon="terminal" href="/cli/overview">
    Manage monitors as code with the `pulse` CLI.
  </Card>

  <Card title="API Reference" icon="code" href="/api/overview">
    Integrate PulseGuard into your own tooling via REST.
  </Card>
</CardGroup>
