Skip to main content
PATCH
/
monitors
/
{id}
Update monitor
curl --request PATCH \
  --url https://xquik.com/api/v1/monitors/{id} \
  --header 'Content-Type: <content-type>' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "eventTypes": [
    "<string>"
  ],
  "isActive": true
}
'

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.

Free - does not consume credits
curl -X PATCH https://xquik.com/api/v1/monitors/7 \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "eventTypes": ["tweet.new", "tweet.reply"],
    "isActive": true
  }' | jq -c '{
    monitor_id: .id,
    username,
    x_user_id: .xUserId,
    event_types: .eventTypes,
    is_active: .isActive,
    created_at: .createdAt,
    next_billing_at: .nextBillingAt,
    verify_endpoint: ("/api/v1/monitors/" + .id),
    list_endpoint: "/api/v1/monitors",
    events_endpoint: ("/api/v1/events?monitorId=" + .id),
    event_detail_endpoint_pattern: "/api/v1/events/{event_id}",
    webhooks_endpoint: "/api/v1/webhooks",
    deliveries_endpoint_pattern: "/api/v1/webhooks/{webhook_id}/deliveries"
  }'
The Node.js, Python, and Go examples convert the updated account monitor into one state row. Store monitor_id, event_types, is_active, next_billing_at, verify_endpoint, list_endpoint, events_endpoint, event_detail_endpoint_pattern, webhooks_endpoint, and deliveries_endpoint_pattern before resuming alerts or webhook checks.

Path parameters

id
string
required
The unique monitor ID.

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

At least 1 field is required.
eventTypes
string[]
Updated array of event types. Must contain at least 1 valid account monitor type: tweet.new, tweet.quote, tweet.reply, tweet.retweet, tweet.media, tweet.link, tweet.poll, tweet.mention, tweet.hashtag, tweet.longform, profile.avatar.changed, profile.banner.changed, profile.name.changed, profile.username.changed, profile.bio.changed, profile.location.changed, profile.url.changed, profile.verified.changed, profile.protected.changed, profile.pinned_tweet.changed, profile.unavailable.changed.
isActive
boolean
Set to false to pause monitoring, or true to resume. Paused account monitors do not consume hourly monitor credits.

Update handoff

Use this endpoint when an account alert changes event scope, needs a temporary pause, or must resume without creating a new monitor ID.

Returned State

Store returned id, username, xUserId, eventTypes, isActive, createdAt, and nextBillingAt as the current account monitor configuration.

Inventory Sync

Refresh List Monitors after the PATCH and compare Get Monitor for the same id before updating queues, CRM records, or support notes.

Event Filter

eventTypes replaces the current filter. Keep List Webhooks subscriptions aligned with the monitor event types you expect to deliver.

Pause Monitoring

isActive: false pauses future account checks, stored events, future webhook deliveries, and hourly monitor billing for this monitor.

Resume Monitoring

isActive: true resumes checks for matching future account activity. Check nextBillingAt, then run Test Webhook before relying on production alerts.

Account Identity

PATCH cannot change username or xUserId. Delete this monitor and create a new account monitor when the tracked account changes.

Downstream Join

Keep using monitorId and username from List Events to reconcile stored events after the update. Use returned event IDs with Get Event when a workflow needs the full tweet payload.

Delivery Audit

Use List Deliveries for each webhook and join delivery streamEventId to event IDs. Do not use x_event_id as the delivery join key.

Response

id
string
Unique monitor ID.
username
string
Normalized X username.
xUserId
string
Resolved X user ID.
eventTypes
string[]
Updated event types.
isActive
boolean
Current active status after update.
createdAt
string
ISO 8601 creation timestamp.
nextBillingAt
string
Next hourly credit charge time for active monitor billing.
{
  "id": "7",
  "username": "elonmusk",
  "xUserId": "44196397",
  "eventTypes": ["tweet.new", "tweet.reply"],
  "isActive": true,
  "createdAt": "2026-02-24T10:30:00.000Z",
  "nextBillingAt": "2026-02-24T11:30:00.000Z"
}
isActive: false pauses future checks, stored events, webhook deliveries, and hourly monitor billing for this monitor. isActive: true resumes future checks with the returned eventTypes.
Related: List Monitors to refresh inventory, Get Monitor to verify this monitor, List Events to audit stored events, Get Event to inspect one event, List Webhooks to compare subscriptions, or List Deliveries to audit webhook delivery status.
Last modified on May 21, 2026