Events
List webhook events & replay monitor activity
Query stored tweet and profile change events from account and keyword monitors. Filter by monitor or event type and paginate with a cursor. Listing is free.
- 200
- 400
- 401
- 429
GET
List webhook events & replay monitor activity
Free. This endpoint does not consume credits.
username and permanent xUserId.
Use xUserId to match an account after its username changes.
monitorName is your monitor label when Xquik created the event.
A rename leaves past events unchanged.
MCP returns x_user_id, monitor_name, and prefixed monitor_id values.
Active monitor billing includes event and webhook deliveries.
event_id,
monitor_type, monitor_id, event_type, occurred_at, tweet fields from
data, event_detail_endpoint, delivery_join_key, and next_cursor. Pass
nextCursor as cursor until hasMore is false.
Source filter examples
UsemonitorId for account monitor events and keywordMonitorId for keyword
monitor events. Do not pass a keyword monitor ID as monitorId. That filter
matches account monitor events only.
Query parameters
number
Results per page. Default
50, max 100.string
Filter account-monitor events by account monitor ID. Use
keywordMonitorId
for keyword-monitor events. Omit both filters to return events from all
monitors.string
Filter keyword-monitor events by keyword monitor ID. Use the
id returned by
keyword monitor endpoints.string
Filter by event type. Valid types:
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. Omit to
return all types.string
Cursor for pagination. Pass the
nextCursor value from a previous response to fetch the next page. An edited or unknown cursor returns 400.Headers
string
required
Your API key.
Response
200 OK
array
List of event objects matching the query.
Event object fields.
string
Unique event identifier.
string
Event type from the monitor event type list.
string
Account monitor ID for account events, or keyword monitor ID for keyword events.
string
Source type:
account or keyword.string
Keyword monitor ID. Present only for keyword monitor events.
string
X username that triggered the event. Present only for account monitor events.
string
Keyword query that matched the event. Present only for keyword monitor events.
string
ISO 8601 timestamp of when the event occurred on X.
object
Post or profile-change data. Post fields match REST responses.
Post profiles use
username and verified. Legacy fields remain available. See Webhooks Overview for each event type.boolean
true if more pages exist beyond this result set.string
Pagination cursor. Pass it as
cursor for the next page.400 Invalid cursor
cursor value is not a nextCursor from this route. Send the last
nextCursor you received, or omit cursor to start from the first page.
401 Unauthenticated
x-api-key header value.
429 Rate limited
Retry-After header before retrying.
Event inventory handoff
Use this endpoint when an agent, dashboard, or support workflow needs a list of stored monitor events before looking up details or webhook delivery status.Event row
Store
event_id, event_type, occurred_at, and
event_detail_endpoint. Use Get Event when a
later step needs the full event payload.Monitor source
Store
monitor_type, monitor_id, keyword_monitor_id, username, and
query so account and keyword monitor events stay separate in exports.
Use monitorId for account-monitor filters and keywordMonitorId for
keyword-monitor filters.Tweet fields
Store
tweet_id, tweet_text, and author_username from data when the
event contains tweet content. Other event types can leave those fields
empty.Delivery join
Store
delivery_join_key as the event ID. In webhook delivery rows, match
it to streamEventId from
List Deliveries.Delivery status
After joining deliveries, store
status, attempts, lastStatusCode,
lastError, createdAt, and deliveredAt with the event row.Cursor checkpoint
Store
next_cursor only when has_more is true. Pass it as cursor for
the next page and stop when has_more is false.Pagination
Events use cursor pagination. PassnextCursor as the next cursor value.
hasMore is false. Cursors are opaque strings. Do not parse or build them.
An edited or unknown cursor returns 400 invalid_input. An empty cursor returns the first page.
Related. Get Event · List Deliveries · List Monitors