Monitor Health API
Returns a single monitor's current status, degradation flag, and cursor position, for building your own health dashboard. Cost: Free per call.
GET monitor/{id}/health returns the current health snapshot for one monitor: its status (active or paused), a degraded flag indicating the shared poll pool is running slower than the published interval, the current poll_interval_ms, a running events_possibly_missed count, and the last_tweet_id and last_poll_at cursor values. It costs 0 credits and takes no parameters beyond the monitor id.
Authorization
bearerAuth Pass your API key as a bearer token on every request: Authorization: Bearer <API_KEY>.
In: header
Path Parameters
The id segment of the path, as returned by the endpoint that created the resource.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/monitor/string/health"{ "id": "b6f2c1a4-9e3d-4c11-8a2f-7d5e6c9b0a11", "status": "active", "degraded": false, "poll_interval_ms": 120000, "events_possibly_missed": 0, "last_tweet_id": "1899999999999999999", "last_poll_at": "2026-08-13T11:58:00.000Z"}{ "error": "bad_request", "message": "Missing or malformed parameter. Fix the request before retrying."}{ "error": "unauthorized", "message": "The API key is missing, malformed, or revoked. Check the Authorization header."}{ "error": "not_found", "message": "The resource does not exist, for example a deleted tweet or a private account."}{ "error": "rate_limited", "message": "Too many requests. Back off and retry with exponential backoff."}{ "error": "server_error", "message": "Something failed on our side. Retry with backoff; if it persists, contact support."}Pricing
| Unit | Price |
|---|---|
| Per call | Free |
When to use
Use this endpoint to check a single monitor's current poll status, cursor position, and degradation flag when building a health dashboard or alerting on stalled polling. Use the monitor list or monitor deliveries endpoints instead when you need status across all monitors or the actual delivered tweet payloads rather than one monitor's health snapshot.
Notes
- Replace {id} with the monitor's id.
- 404 not_found if the id does not exist or belongs to a different API key.
Related endpoints
- Create Monitor: Watch an X account for new posts and push them to your webhook(s).
- List Monitors: List every monitor on your account.
FAQ
What does the degraded flag actually mean, and should I do anything when it's true?
degraded is true when the shared poll pool is serving this monitor slower than its published poll_interval_ms, which means events may arrive later than expected and events_possibly_missed can start climbing. It is a signal to check back or lower your expectations on delivery latency, not an error state you need to fix on your end.
Does calling this endpoint cost credits or affect my monitor's poll cadence?
No. The cost is 0, and this is a read-only status check, it does not touch poll_interval_ms or reset events_possibly_missed. You can poll it as often as you like to drive a dashboard without any usage impact.
Delete Monitor DELETE
Soft-deletes the monitor: it stops polling immediately and disappears from List Monitors, but its delivery history is retained rather than cascade-deleted. Cost: Free per call.
Account Monitor Health GET
Returns a single-call summary of your entire monitoring setup: overall status, how many of your monitors are active vs paused, and how many delivery attempts in the last 24 hours were pending, delivered, or failed. Distinct from Monitor Health above, which reports one monitor's cursor state, not your whole account's. Cost: Free per call.