Events feed
The events feed has the same events as webhooks, for code that would rather poll, and for your AI at the start of a chat.
| Surface | Call |
|---|---|
| REST | GET https://api.xholic.ai/v1/events (also GET /v1/events/updates) |
| MCP | get_updates |
| CLI | xholic events updates |
curl -G https://api.xholic.ai/v1/events \ -H "Authorization: Bearer $XHOLIC_API_KEY" \ --data-urlencode "limit=50"{ "ok": true, "summary": "Since the last check: 2 post.published, 1 lead.found.", "data": { "events": [ { "id": "post.published:…", "type": "post.published", "occurredAt": "2026-10-28T14:00:03.000Z", "account": { "userId": "…", "handle": "yourhandle" }, "data": { "post_id": "…", "tweet_url": "https://x.com/yourhandle/status/…" } } ], "cursor": "18342", "hasMore": false }}Cursors
Section titled “Cursors”- Each connection has its own position in the feed. Call without
sinceand you get what happened since this connection last looked; the first call returns the last 7 days. - Each response returns a
cursor. Pass it assinceto read from an exact point, for example when several workers share one key. limitis 1 to 100 (default 50). WhenhasMoreistrue, call again right away for the rest.- Events covers every X account the connection can use;
accountsays which one each event is about.
The feed is read-only and free, within the read rate limit. Polling every minute or so is plenty: events are only written when Xholic’s own syncs see something new.
