Use POST /monitors/keywords when a queue, CRM, warehouse, Slack alert, or agent needs real-time tweet alerts for an X search query. Create the monitor first, then create a signed webhook with POST /webhooks and test it with POST /webhooks/{id}/test.
Monitor ID
Store id as monitorId for GET /events, updates, pauses, and deletes.
Normalized Query
Store query; Xquik includes it on keyword monitor events and signed
webhook payloads.
Event Filter
Store eventTypes; subscribe webhooks to matching event types so expected
tweets deliver.
Active State
Read isActive and nextBillingAt before enabling alerts or estimating
hourly monitor burn.
Stored Event Join
Use monitorType: "keyword", keywordMonitorId, and query from
GET /events to join stored events back to the monitor.
Webhook Delivery Join
Use deliveryId for receiver idempotency and streamEventId to join the
signed webhook back to GET /events/{id}. Store eventType, occurredAt,
and data with the downstream job.
Active keyword monitors check every 1 second and cost 21 credits per active monitor-hour. Creation or reactivation requires 22 available credits. Pause with PATCH /monitors/keywords/{id} and { "isActive": false } when the alert should stop.
At least 22 available credits are required before creating or reactivating an active keyword monitor. Possible errors include no_credits and insufficient_credits.