Skip to main content
GET
Twitter keyword monitor status & query checks

Inspect one Twitter keyword monitor

Use this route when a workflow already stores one keyword monitor ID. It returns the exact X search query, tracked tweet events, active state, creation time, and next billing checkpoint. Use the list route when the ID is unknown. Check query before routing new matches. It holds the Twitter keyword search that created the monitor. Check eventTypes before assuming replies, quotes, reposts, or other tweet events are enabled. Store id, query, eventTypes, isActive, and nextBillingAt together. Pass the same monitor ID to event filters, updates, deletion, and webhook workflows. Every step then refers to the same tracked search. Use this status check before pausing or editing a monitor. A successful read does not prove a matching tweet exists. Read the events endpoint for captured tweets, then open one event for its complete payload.
Free. This endpoint does not consume credits.
The cURL, Node.js, Python, and Go examples convert the fetched keyword monitor into one state snapshot row. Store keyword_monitor_id, query, event_types, is_active, next_billing_at, update_endpoint, delete_endpoint, events_endpoint, event_detail_endpoint_pattern, webhooks_endpoint, and deliveries_endpoint_pattern before changing filters, pausing alerts, or reconciling webhooks.

State handoff

Use GET /monitors/keywords/{id} before changing routing, billing checks, or alert state for one keyword monitor. The endpoint returns the current stored monitor for your account only. Deleted or cross-account IDs return 404.

Current filter

query and eventTypes decide which tweets match. Copy eventTypes into List Webhooks before relying on signed alerts.

Active state

Use isActive to decide whether the monitor should poll and bill. Use Update Keyword Monitor to pause or resume it.

Billing check

Read nextBillingAt before credit alerts, budget checks, or account handoffs. Paused monitors stay visible but add no hourly charge.

Event join

Use id as keywordMonitorId with List Events to reconcile stored events and webhook deliveries for this query. Use Get Event for one event’s full payload.

Delivery audit

Use List Deliveries when you must retain webhook delivery evidence. Join delivery streamEventId to event IDs. Do not use x_event_id as the delivery join key.

Delete path

Use Delete Keyword Monitor only when the query should stop permanently. Export event and delivery evidence first when support or audit workflows need history.

Verify one alert before incident review

Inspect one stored monitor before investigating a missed or unexpected alert. Start with the monitor ID recorded by the alerting system. A list response does not show which row the workflow used. Compare the returned query with the intended Twitter search expression. Check capitalization, quoted phrases, exclusions, and operators. Store the returned value as evidence. Do not reconstruct it from a dashboard label. Next, compare eventTypes with the event under review. A monitor configured only for tweet.new cannot explain an expected reply alert. Update the filter only after recording its current value. Read isActive before examining an empty event window. A paused monitor stays available through this endpoint. It does not create future matching events. Check nextBillingAt when the monitor should be active. Use the returned ID to query stored events. Keep these outcomes separate:
  • The monitor exists, but its query does not match the expected tweet.
  • The query matches, but the required event type is absent.
  • The event type exists, but the monitor is paused.
  • The monitor is active, but no stored event matches the review window.
  • A stored event exists, but its webhook delivery needs inspection.
Open the matching event before diagnosing webhook delivery. Then join its event ID with streamEventId from delivery records. You can then tell a matching problem from a delivery problem. Finish with a short incident note. Record the monitor ID, exact query, active state, event types, event ID, and delivery result. That record lets another operator repeat the check without listing every monitor.

Diagnose one keyword monitor

Start with the returned monitor ID, query, event types, and active state. Check nextBillingAt and remaining credits before investigating a missing alert. Run the exact query through tweet search. Relevant results confirm query coverage, not webhook delivery. Inspect stored events by keywordMonitorId. Inspect delivery records by webhook ID. Keep streamEventId separate from each delivery ID. Do not edit the monitor during diagnosis. Capture its previous state before any approved change.

Prove a keyword alert with stored evidence

Collect evidence for the alert in 3 steps. Start with this endpoint’s monitor response. Save its ID, exact query, active state, and event types. Run the exact query through Tweet Search. Save matching Tweet IDs and creation times. A search match proves query coverage. It does not prove that a monitor stored an event. Next, list stored events for the same keyword monitor ID. Match the expected Tweet ID when the event payload exposes it. Save the event ID and event timestamp. An event proves the monitor stored the tweet. It does not prove webhook delivery. Finally, inspect deliveries for the subscribed webhook. Join each delivery’s streamEventId to the stored event ID. Record its status and attempt time. A delivery record proves Xquik sent the notification. Keep 3 outcomes separate:
  • Search found the tweet, but no monitor event exists.
  • A monitor event exists, but no delivery references it.
  • A delivery exists, but the receiving application rejected it.
Report each outcome separately. Each outcome needs a different correction. Query changes affect matching. Monitor state affects future event creation. Webhook changes affect delivery. Record the investigation window in UTC. Compare tweet, event, and delivery timestamps inside that window. Avoid using dashboard refresh time as evidence. Finish with one incident record. Include monitor ID, query, Tweet ID, event ID, webhook ID, and delivery result. Link every conclusion to a returned field. Another operator can then repeat the review.

Distinguish configuration drift from missing tweets

Compare the returned query with the approved query character by character. Check quoted phrases, exclusions, hashtags, usernames, and search operators. One missing operator can change every matched tweet. Compare eventTypes with the approved event scope. Keep the full returned array. Do not summarize several values as a broad monitoring label. Check isActive and nextBillingAt together. A stored monitor can remain visible while paused. A future billing timestamp tells you when the next charge is due. Neither field proves that a specific tweet created an event. Use Update Account Monitor only for account monitors. Keyword monitors use their dedicated update route. Keep monitor types separate when support tickets contain several IDs.

Path parameters

string
required
The unique keyword monitor ID. Returned when you create a keyword monitor or list keyword monitors.

Headers

string
required
Your API key. Session cookie authentication is also supported. Generate a key from the dashboard.

Response

200 OK

string
Unique keyword monitor ID.
string
Normalized X search query.
string[]
Subscribed event types.
boolean
Whether the monitor is active.
string
ISO 8601 creation timestamp.
string
Next hourly credit charge time for active monitor billing.

400 Invalid ID

The provided monitor ID is not a valid format.

401 Unauthenticated

Missing or invalid API key.

404 Not found

No keyword monitor exists with this ID, or it belongs to a different account.

429 Rate limited

Too many requests. Wait for the Retry-After header before retrying.