Skip to main content
The SitePulse API is a versioned JSON HTTP API. All v1 routes live under /api/v1. Responses use stable resource shapes designed for integrations and automation.

What you can do with the API

Teams

List teams, plan limits, and monitoring defaults

Sites

Create and manage monitored sites

Checks

Queue manual checks and read results

Reports

Pull uptime and performance reports

Issues

Read monitoring incidents and lifecycle history

Base URL

All API endpoints use this base URL:
https://app.sitepulse.dev/api/v1
Replace app.sitepulse.dev with your SitePulse installation hostname if using a self-hosted instance.
All paths in this documentation are relative to the base URL unless noted otherwise.

Postman collection

Import a ready-made collection to explore the API without writing requests by hand.

v1 collection

Public /api/v1 endpoints only (recommended)

Environment

base_url and auth_token variables
  1. In Postman, click Import and upload SitePulse-v1.postman_collection.json and SitePulse.postman_environment.json.
  2. Select the SitePulse Production environment.
  3. Set auth_token to your personal access token. Leave base_url as https://app.sitepulse.dev unless you use a self-hosted instance.
  4. Send GET api/v1/me to confirm authentication, then GET api/v1/teams to find your team id for team-scoped requests.
Requests use Postman path variables such as :team, :site, :check, and :issue. Replace them in the request URL or in the Params tab before sending. UUIDs from create/list responses work for site, check, and issue paths.
The generator also produces a full collection that includes non-versioned /api/ routes used by the web dashboard. Those routes are not part of the public v1 contract—use the v1 folder only for integrations.

Quick start

1

Create an API token

In the SitePulse dashboard, open Settings → API tokens. Create a personal access token and select the scopes your integration needs (for example sites:read, sites:write, checks:run).
Copy the token when it is shown. SitePulse does not display it again.
2

Call the API

Use the token in the Authorization header:
curl -sS \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json" \
  "https://app.sitepulse.dev/api/v1/me"
3

Work inside a team

Most write operations require an active team context. Team-scoped routes resolve the team from the URL (/teams/{team}/sites) or from the site or check in the path.
curl -sS \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json" \
  "https://app.sitepulse.dev/api/v1/teams"
4

Create a site and run a check

TEAM_ID=1

# Create a site
curl -sS -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","name":"Example","settings":{"enabled_checks":["status"]}}' \
  "https://app.sitepulse.dev/api/v1/teams/${TEAM_ID}/sites"

# Run a status check (returns 202 with pending check records)
curl -sS -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"tools":["status"],"automatic":false}' \
  "https://app.sitepulse.dev/api/v1/sites/{site-uuid}/checks"

# Poll until completed
curl -sS \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json" \
  "https://app.sitepulse.dev/api/v1/checks/{check-uuid}"

Versioning

Only /api/v1 is documented here. Breaking changes will ship under a new version prefix.
Non-versioned routes under /api/ (dashboard tools, legacy check data) are for the web app and are not part of the public v1 contract.

Requirements

Before using the API, ensure you have:
  • A verified SitePulse user account (email verified)
  • An active subscription on the team you are accessing (inactive billing returns 402)
  • API token scopes that cover the operation (missing scope returns 403)
  • Team membership and role permissions for the underlying action (returns 403 or 404 as appropriate)

API documentation

Authentication

Personal access tokens, OAuth scopes, and required headers

Requests & Responses

JSON conventions, pagination, team context, errors, and rate limits

Resources

Field-by-field schemas for users, teams, sites, checks, issues, and reports

Endpoints

Complete HTTP method and path reference

Postman collection

Import v1 requests and environment template

Check Results

Result object shapes per check tool