Skip to main content
POST
/
monitors
Create account monitor API
curl --request POST \
  --url https://xquik.com/api/v1/monitors \
  --header 'Content-Type: <content-type>' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "username": "<string>",
  "eventTypes": [
    "<string>"
  ]
}
'

Documentation Index

Fetch the complete documentation index at: https://docs.xquik.com/llms.txt

Use this file to discover all available pages before exploring further.

Requires 22 available credits - 1 credit for the username lookup plus 21 credits for the first active monitor hour
Monitors are unlimited. Active monitors check every 1 second. Webhook and event deliveries are included in active monitor billing.
curl -X POST https://xquik.com/api/v1/monitors \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "elonmusk",
    "eventTypes": ["tweet.new", "tweet.reply"]
  }' | jq

Account monitor handoff

Use POST /monitors when a queue, CRM, warehouse, Slack alert, or agent needs real-time tweet alerts from one X account. 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.

Stored Account

Store username after trimming the @ prefix and xUserId for identity joins, dedupe, and downstream account mapping.

Event Filter

Store eventTypes; subscribe webhooks to matching event types so expected account activity delivers.

Active State

Read isActive and nextBillingAt before enabling alerts or estimating hourly monitor burn.

Stored Event Join

Use monitorType: "account", monitorId, and username from GET /events to join stored events back to the monitored account.

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 account monitors check every 1 second and cost 21 credits per active monitor-hour. Creation or reactivation requires 22 available credits: 1 credit for the username lookup plus 21 credits for the first active monitor hour. Pause with PATCH /monitors/{id} and { "isActive": false } when the alert should stop.

Headers

x-api-key
string
required
Your API key. Session cookie authentication is also supported. Generate a key from the dashboard.
Content-Type
string
required
Must be application/json.

Body

username
string
required
X username to monitor. 1-15 characters, alphanumeric and underscores only. The @ prefix is automatically stripped if included.
eventTypes
string[]
required
Array of event types to subscribe to. At least 1 required. See Valid Event Types below.

Valid event types

tweet.new

Original tweet from the monitored account. Used when no reply, quote, or retweet signal is present.

tweet.quote

Quote tweet from the monitored account. Include this when quote activity should create stored events and webhook deliveries.

tweet.reply

Reply from the monitored account. Include this when support routing, conversation tracking, or alerting needs replies.

tweet.retweet

Retweet from the monitored account. Include this when repost activity should create stored events and webhook deliveries.

Response

id
string
Unique monitor ID.
username
string
Stored X username after trimming and removing the @ prefix.
xUserId
string
Resolved X user ID for the account.
eventTypes
string[]
Event types this monitor is subscribed to.
isActive
boolean
Whether the monitor is currently active.
createdAt
string
ISO 8601 timestamp of when the monitor was created.
nextBillingAt
string
Next hourly credit charge time. New active monitors are due immediately.
{
  "id": "7",
  "username": "elonmusk",
  "xUserId": "44196397",
  "eventTypes": ["tweet.new", "tweet.reply"],
  "isActive": true,
  "createdAt": "2026-02-24T10:30:00.000Z",
  "nextBillingAt": "2026-02-24T10:30:00.000Z"
}
If a monitor for the same account was previously deleted, it will be silently reactivated with the new event types instead of creating a duplicate.
Next steps: List Monitors to see all your monitors, Get Monitor to fetch details, or Create Webhook to start receiving events at your endpoint.
Last modified on May 15, 2026