The REST API behind the LastPing console. It manages monitors, alert destinations, routing, status pages and API keys — the same capabilities available in the web console, over MCP, and through the Terraform provider.
Base URL: https://app.lastping.dev
Authentication: an API key sent as X-Api-Key: <key> or Authorization: Bearer <key>. Create one in the console under Settings → API keys.
Machine-readable spec: /openapi.yaml (OpenAPI 3.1).
84 documented operations:
GET /api/v1/agents — List agentsPOST /api/v1/agents — Create an agentGET /api/v1/agents/discovered — List discovered agents (trace sources no agent claims)POST /api/v1/agents/discovered/{id}/adopt — Adopt a discovered agent, or merge it into an existing oneGET /api/v1/agents/usage — Tokens and cost per model per day, for the whole projectDELETE /api/v1/agents/{id} — Delete an agentGET /api/v1/agents/{id} — Get an agentPATCH /api/v1/agents/{id} — Update an agentGET /api/v1/agents/{id}/calls — An agent's calls, outgoing and incomingGET /api/v1/agents/{id}/dependencies — What an agent callsGET /api/v1/agents/{id}/fleet — Get an agent's per-monitor fleet detailGET /api/v1/agents/{id}/open-incidents — List an agent's open incidents (the failure inbox)GET /api/v1/agents/{id}/usage — An agent's tokens and cost per model per dayGET /api/v1/dependencies — Everything the project's agents callGET /api/v1/api-keys — List API keysPOST /api/v1/api-keys — Create an API keyDELETE /api/v1/api-keys/{id} — Revoke an API keyPOST /api/v1/api-keys/{id}/regenerate — Regenerate an API key ("same key, new secret")POST /api/v1/checks/{id}/ingest-keys — Create a tracing key for a monitorGET /api/v1/me — Get authenticated principalPOST /api/v1/me/delete — Permanently delete the session's own accountPOST /api/v1/me/email — Request a new-address verification for the session's own accountPOST /api/v1/me/password — Change the session's own passwordGET /api/v1/whoami — Auth smoke-testGET /api/v1/checks/{id}/runs — List run history for a check (CI/CD runs and agent/heartbeat runs)POST /ci/{id}/detail — Attach CI failure detail to the open incidentGET /api/v1/channels — List notification channelsPOST /api/v1/channels — Create a notification channelDELETE /api/v1/channels/{id} — Delete a notification channelGET /api/v1/channels/{id} — Get a notification channelPATCH /api/v1/channels/{id} — Update a notification channelPOST /api/v1/channels/{id}/resend-verification — Resend email channel verificationPOST /api/v1/channels/{id}/test — Send a test alert to a channelGET /api/v1/checks — List checksPOST /api/v1/checks — Create or upsert a checkDELETE /api/v1/checks/{id} — Delete a checkGET /api/v1/checks/{id} — Get a checkPATCH /api/v1/checks/{id} — Update a checkGET /api/v1/checks/{id}/analytics — Get the monitor detail page's analytics panel data for a checkGET /api/v1/checks/{id}/assertions — Get output assertions for a checkPUT /api/v1/checks/{id}/assertions — Replace output assertions for a checkPOST /api/v1/checks/{id}/ci/regenerate — Regenerate CI webhook secretGET /api/v1/checks/{id}/first-ping — Get the first-ping waiting/received card data for a checkGET /api/v1/checks/{id}/guards — Get metric guards for a checkPUT /api/v1/checks/{id}/guards — Replace metric guards for a checkPOST /api/v1/checks/{id}/pause — Pause a checkGET /api/v1/checks/{id}/ping-instructions — Get ping instructions for a checkPOST /api/v1/checks/{id}/resume — Resume a checkPOST /api/v1/checks/{id}/runs/{rid}/expectations — Declare a run's success criteria before its outcome is knownGET /api/v1/checks/{id}/signal — Get the 90-day signal exception strip for a checkPOST /api/v1/checks/{id}/snooze — Set or clear a maintenance windowGET /api/v1/checks/{id}/templates — Get alert templates for a checkPUT /api/v1/checks/{id}/templates — Replace alert templates for a checkPOST /api/v1/checks/{id}/test-ping — Send a synthetic success pingGET /api/v1/checks/{id}/trace-setup — Get the trace set-up for a monitorPOST /api/v1/discovery/reconcile — Reconcile a discovery scan into monitorsGET /api/v1/checks/{id}/incidents — List incidents for a checkGET /api/v1/checks/{id}/pings — List pings for a checkGET /api/v1/checks/{id}/runs/{rid} — One run's full detailGET /api/v1/deliveries — List alert delivery records across every check in the projectGET /api/v1/incidents — List incidents across every check in the projectGET /api/v1/routes — The project-wide routing gridGET /api/v1/runs — List runs across every check in the projectGET /api/v1/runs/by-monitor — Run totals per monitor across the projectGET /api/v1/export/terraform — Export monitors, destinations, routes, templates and status pages as Terraform HCLGET /healthz — Health checkGET /api/v1/incidents/{id} — One incident with its recorded timelinePOST /api/v1/incidents/{id}/notes — Write back what you found out about an incidentGET /api/v1/metrics — Prometheus metrics scrape endpointGET /api/v1/checks/{id}/trace-diagnostics — Trace ingest diagnostics for one monitorGET /api/v1/checks/{id}/routes — List routes for a checkDELETE /api/v1/checks/{id}/routes/{event_type} — Delete a routePUT /api/v1/checks/{id}/routes/{event_type} — Upsert a routeGET /api/v1/status-pages — List status pagesPOST /api/v1/status-pages — Create a status pageDELETE /api/v1/status-pages/{id} — Delete a status pageGET /api/v1/status-pages/{id} — Get a status pagePATCH /api/v1/status-pages/{id} — Update a status pagePOST /v1/logs — Ingest OTLP logs (Bearer-authenticated)POST /v1/metrics — Ingest OTLP metrics (Bearer-authenticated)POST /v1/traces — Ingest OTLP traces for a run (Bearer-authenticated)POST /{monitor_id}/v1/logs — Ingest OTLP logs (monitor-URL form)POST /{monitor_id}/v1/metrics — Ingest OTLP metrics (monitor-URL form)POST /{monitor_id}/v1/traces — Ingest OTLP traces for a run (monitor-URL form)