Endpoints
Read endpoint configuration, checks, and current alert state.
Endpoint routes require monitoring:read.
List endpoints
GET /api/public/v2/endpoints| Query | Type | Description |
|---|---|---|
project_id | Integer | Return endpoints from one project. |
enabled | Boolean | Return only enabled or disabled endpoints. |
limit | Integer | Return 1 through 100 items. |
cursor | String | Continue from a previous response. |
The request has no payload. The response contains endpoint objects and pagination.
Get an endpoint
GET /api/public/v2/endpoints/:endpointIDThe request has no payload.
{
"data": {
"id": 41,
"team_id": 7,
"project_id": 12,
"name": "Checkout API",
"description": "Checkout health check",
"url": "https://api.example.com/health",
"url_query_configured": false,
"method": "GET",
"header_names": ["Accept", "Authorization"],
"request_payload_configured": false,
"expected_status": 200,
"body_match_mode": "json_subset",
"expected_body_configured": true,
"interval_seconds": 60,
"timeout_seconds": 10,
"enabled": true,
"destination_verified": true,
"verification_url": "https://api.example.com/.well-known/siftr-verification",
"verification_token": "64-character challenge token",
"destination_verified_at": "2026-08-23T11:00:00Z",
"latency_detection_mode": "auto",
"latency_fixed_threshold_ms": null,
"latency_sensitivity": 4,
"latency_min_samples": 30,
"latency_trigger_count": 2,
"latency_trigger_window": 3,
"latency_recovery_count": 3,
"configuration_version": 5,
"maintenance_until": null,
"under_maintenance": true,
"maintenance_window_ids": [31],
"created_at": "2026-08-20T08:00:00Z",
"updated_at": "2026-08-23T08:00:00Z"
}
}Stazus does not return endpoint secret values. header_names lists configured
names only. The URL omits all query parameters. The three configured-value
flags report whether hidden query values, a request payload, or an expected
body exists.
under_maintenance is true while a team, project, endpoint, or legacy endpoint maintenance window covers the endpoint. maintenance_window_ids contains the active scheduled-window IDs. It can be empty when the endpoint's legacy maintenance_until value provides the coverage.
Stazus accepts GET, HEAD, and OPTIONS monitor methods only. New endpoints
are disabled until the hostname returns verification_token at
verification_url. Call the authenticated application endpoint
POST /api/v2/teams/:teamID/endpoints/:endpointID/verify-destination to check
the challenge. The public Developer API does not mutate endpoint configuration.
List checks
GET /api/public/v2/endpoints/:endpointID/checks| Query | Type | Description |
|---|---|---|
source | scheduled or manual | Filter by check source. |
success | Boolean | Filter by check result. |
from | RFC 3339 | Include checks at or after this time. |
to | RFC 3339 | Include checks before this time. |
limit | Integer | Return 1 through 100 items. |
cursor | String | Continue from a previous response. |
The request has no payload.
{
"data": [
{
"id": 9001,
"endpoint_id": 41,
"configuration_version": 5,
"success": false,
"status_code": 500,
"latency_ms": 184,
"time_to_first_byte_ms": 172,
"duration_ms": 184,
"source": "scheduled",
"body_complete": true,
"latency_anomaly": false,
"latency_threshold_ms": 450,
"alert_suppressed": false,
"failure_reason": "unexpected status 500",
"response_excerpt_omitted": true,
"checked_at": "2026-08-23T08:30:00Z"
}
],
"pagination": {
"next_cursor": null,
"has_more": false
}
}configuration_version identifies the endpoint settings that produced the
check. The Developer API does not return stored response excerpts.
response_excerpt_omitted is true when Stazus stored an excerpt internally.
Get a check
GET /api/public/v2/endpoints/:endpointID/checks/:checkIDThe request has no payload. The response contains one check in data.
Stazus returns 404 if the check does not belong to the endpoint or token team.
Get alert status
GET /api/public/v2/endpoints/:endpointID/alert-statusThe request has no payload. The response includes the current latency baseline and independent alert signals.
{
"data": {
"team_id": 7,
"endpoint_id": 41,
"latency_baseline": null,
"signals": []
}
}Endpoint analytics
Use GET /api/public/v2/endpoints/:endpointID/analytics for aggregate endpoint data. This route requires analytics:read.
See Analytics for time-window parameters and the response schema.
Last updated on