Monitor Health
Check your monitoring status: active and paused monitors, pending deliveries, and 24-hour delivered and failed counts, so you can confirm tweets are flowing.
/twitter/monitor/healthA quick status read on your monitoring: how many monitors are running, how many deliveries are queued, and how many succeeded or failed in the last 24 hours.
Use it as a liveness check from your own monitoring, or to debug why tweets stopped arriving.
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | Bearer YOUR_API_KEY, the same key used for every other GetXAPI endpoint |
Query Parameters
None. Every count is scoped to your account by your API key.
Response (200)
{
"status": "operational",
"monitors": {
"active": 18,
"paused": 2
},
"deliveries": {
"pending": 3,
"delivered_24h": 412,
"failed_24h": 0
}
}Response Fields
| Field | Type | Description |
|---|---|---|
status | string | operational or degraded, the state of the monitoring service |
monitors.active | number | Your monitors currently delivering |
monitors.paused | number | Your paused monitors. These still hold a plan slot. |
deliveries.pending | number | Deliveries queued or waiting on a retry |
deliveries.delivered_24h | number | Successfully delivered in the last 24 hours |
deliveries.failed_24h | number | Permanently failed in the last 24 hours |
monitors.active + monitors.paused is your plan-slot usage. Both count toward your limit. See Remove monitor to free one.
Reading the numbers
| What you see | What it means |
|---|---|
pending steady near 0 | Healthy. Deliveries are being accepted as fast as they're produced. |
pending climbing | Your endpoint is slow, erroring, or unreachable. Fix it before the retry window runs out. |
failed_24h > 0 | Deliveries were permanently dropped after ~21 minutes of retries. Those tweets are lost. |
delivered_24h at 0 with active monitors | Either the accounts genuinely haven't posted, or nothing is reaching you. Send a test delivery to tell the two apart. |
status: "degraded" | A problem on our side. Deliveries may be delayed. |
failed_24h is the number worth alerting on. It only rises when a tweet was permanently lost, which almost always means your endpoint was down or rejecting valid signatures for more than 20 minutes. If it's non-zero, backfill the gap with User Tweets.
Rate limit
60 requests per minute, per customer.
Limits use a fixed 60-second window and are shared across every API key on your account, so creating extra keys does not raise the ceiling. Every response carries RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset; a 429 adds Retry-After. See rate limits for the full table.
Errors
| Status | Meaning |
|---|---|
403 | Monitoring is not enabled for this account |
429 | Rate limit exceeded. Wait retry_after seconds, then retry |
503 | Monitoring is temporarily unavailable |
Example
curl https://api.getxapi.com/twitter/monitor/health \
-H "Authorization: Bearer YOUR_API_KEY"Frequently asked questions
How do I tell a quiet account from a broken pipeline?
Send a test delivery. If the test succeeds while delivered_24h sits at 0, your endpoint is fine and the accounts genuinely have not posted. If the test fails too, the problem is on the delivery path.
What should I alert on?
failed_24h rising above 0, because that only happens once a tweet has been permanently lost. A climbing pending count is the earlier warning: it means deliveries are queuing up and you still have time to fix the endpoint before the retry window expires.
Does a paused monitor still count against my plan?
Yes. monitors.active + monitors.paused is your slot usage. Pausing stops delivery but keeps the configuration and the slot.
What does status: "degraded" mean?
A problem on our side rather than yours. Deliveries may be delayed while it clears. Your own endpoint health is better read from pending, delivered_24h and failed_24h.