REST API Reference38 endpoints across 8 resource groups
Overview
| Property | Value |
|---|---|
| Base URL | https://api.websignal.io |
| API version | v1 |
| Content type | application/json |
| OpenAPI spec | https://api.websignal.io/swagger/v1/swagger.json |
| Health check | https://api.websignal.io/health |
All endpoints use the /api/v1/ prefix. Responses are JSON. Standard HTTP status codes indicate success (2xx), client errors (4xx), and server errors (5xx).
Authentication
Include an OAuth 2.0 Bearer token in the Authorization header:
Authorization: Bearer <access_token>
Supported grant types:
- Authorization Code + PKCE — web and mobile applications
- Client Credentials — machine-to-machine integration
- Device Code — CLI and headless clients
Most endpoints require the monitor.admin scope. See individual endpoints for specific requirements.
Monitors
Create, update, delete, and list website monitors. Each monitor tracks the availability and performance of a URL.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /api/v1/monitor | List all monitors for the authenticated user | monitor.admin |
| GET | /api/v1/monitor/{id} | Get a specific monitor by ID | monitor.admin |
| POST | /api/v1/monitor | Create a new monitor | monitor.admin |
| PUT | /api/v1/monitor/{id} | Update an existing monitor | monitor.admin |
| DELETE | /api/v1/monitor/{id} | Delete a monitor | monitor.admin |
| POST | /api/v1/monitortest | Run a one-off test check against a URL | monitor.admin |
Monitor Data & Reports
Retrieve analytical data, reports, and historical metrics for a monitor.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /api/v1/monitor/{id}/availability | Get availability data for a monitor | monitor.admin |
| GET | /api/v1/monitor/{id}/latency | Get latency analytics for a monitor | monitor.admin |
| GET | /api/v1/monitor/{id}/incident | Get incidents associated with a monitor | monitor.admin |
| POST | /api/v1/monitor/{id}/report/generate | Generate a performance report for a monitor | monitor.admin |
Incidents
Query and manage incidents detected by your monitors. Incidents represent periods of downtime, SSL issues, latency spikes, or DNS problems.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /api/v1/incident | List incidents with optional date range and pagination filters | monitor.admin |
| GET | /api/v1/incident/{id} | Get a single incident with full details and notes | monitor.admin |
| PATCH | /api/v1/incident/{id} | Update an incident (e.g. acknowledge) | monitor.admin |
Incident Notes
Add, update, and manage notes on incidents for postmortem tracking and team communication.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /api/v1/incident/{incidentId}/notes | List all notes for an incident | monitor.admin |
| POST | /api/v1/incident/{incidentId}/notes | Create a new note on an incident | monitor.admin |
| PATCH | /api/v1/incident/{incidentId}/notes/{noteId} | Update an existing note | monitor.admin |
| DELETE | /api/v1/incident/{incidentId}/notes/{noteId} | Delete a note | monitor.admin |
Alert Actions
Configure how you are notified when incidents occur. Supports email, SMS, and webhook alert channels per monitor.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /api/v1/monitor/{monitorId}/actiongroups | List all alert action groups for a monitor | monitor.admin |
| POST | /api/v1/monitor/{monitorId}/emailactiongroup | Create an email alert action | monitor.admin |
| GET | /api/v1/monitor/{monitorId}/emailactiongroup | List email alert actions | monitor.admin |
| GET | /api/v1/monitor/{monitorId}/emailactiongroup/{id} | Get a specific email alert action | monitor.admin |
| PUT | /api/v1/monitor/{monitorId}/emailactiongroup | Update an email alert action | monitor.admin |
| DELETE | /api/v1/monitor/{monitorId}/emailactiongroup/{id} | Delete an email alert action | monitor.admin |
| POST | /api/v1/monitor/{monitorId}/smsactiongroup | Create an SMS alert action | monitor.admin |
| GET | /api/v1/monitor/{monitorId}/smsactiongroup | List SMS alert actions | monitor.admin |
| DELETE | /api/v1/monitor/{monitorId}/smsactiongroup/{id} | Delete an SMS alert action | monitor.admin |
| POST | /api/v1/monitor/{monitorId}/webhookactiongroup | Create a webhook alert action | monitor.admin |
| GET | /api/v1/monitor/{monitorId}/webhookactiongroup | List webhook alert actions | monitor.admin |
| PUT | /api/v1/monitor/{monitorId}/webhookactiongroup | Update a webhook alert action | monitor.admin |
| DELETE | /api/v1/monitor/{monitorId}/webhookactiongroup/{id} | Delete a webhook alert action | monitor.admin |
Users
Manage user accounts and profiles. User identity is linked to Auth0.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /api/v1/user | Get the authenticated user's profile | user.read |
| POST | /api/v1/user | Create a new user account | user.create |
| PUT | /api/v1/user/{id} | Update a user profile | monitor.admin |
| DELETE | /api/v1/user/{id} | Delete a user account | monitor.admin |
| GET | /api/v1/user/{userId}/trial | Get the user's trial status | monitor.admin |
| PUT | /api/v1/user/{userId}/trial | Update the user's trial | monitor.admin |
Products & Plans
Retrieve available subscription plans and pricing tiers.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /api/v1/product | List all available products and plans | monitor.admin |
Webhooks
Inbound webhook endpoints for third-party integrations. These are called by external services, not by API consumers.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /api/v1/stripewebhook | Stripe payment webhook receiver | Public |