Skip to content
Console

Pull events

GET
/api/v1/events
curl --request GET \
--url 'https://api.inside.chat/api/v1/events?subscription_id=example&after=example&limit=25' \
--header 'Authorization: Bearer <token>'

Required scopes: website_read, event_read
Data access: –
MCP tool: events_pull

Pull up to 100 payload-free journal receipts, scanning at most 100 stored records across at most 50 websites. Filtering may produce an empty page with has_more=true; continue with next_cursor. Pauses withhold the whole page and consume no cursor. Detailed message/AI events and resource IDs are not captured by this thin coarse feed.

subscription_id
required
string
/^sub_[a-f0-9]{32}$/
after
required
string
<= 12000 characters
limit
integer
default: 25 >= 1 <= 100

Current installation-authorized thin metadata. Cursors contain independent per-website positions; no total order is promised.

Media typeapplication/json
object
subscription_id
required
string
/^sub_[a-f0-9]{32}$/
revision
required
integer
>= 1
events
required
Array<object>
<= 100 items
object
event_id
required

Deduplicate on this value.

string
/^evt_[a-f0-9]{64}$/
event_type
required
string
Allowed values: conversation.changed conversation.removed conversation.snapshot conversation.gap conversation.heartbeat visitor.changed visitor.removed visitor.snapshot visitor.gap visitor.heartbeat operator.changed operator.removed operator.snapshot operator.gap operator.heartbeat queue.changed queue.removed queue.snapshot queue.gap queue.heartbeat website.changed website.removed website.snapshot website.gap website.heartbeat privacy.changed privacy.removed privacy.snapshot privacy.gap privacy.heartbeat capture.changed capture.removed capture.snapshot capture.gap capture.heartbeat
website_id
required
string
/^web_[0-9]{1,20}_[1-9][0-9]{0,18}$/
cursor
required

Position within this website journal.

integer
occurred_at
required

Unix milliseconds.

integer
recorded_at
required

Unix milliseconds.

integer
next_cursor
required

Opaque signed cursor. Pass it unchanged as after on the next events request.

string
has_more
required

Keep pulling while true, even when events is empty.

boolean
retention
required
Array<object>
object
website_id
required
string
/^web_[0-9]{1,20}_[1-9][0-9]{0,18}$/
retained_from
required
integer
accepted_cursor
required
integer
coverage
required
Array<object>
object
website_id
required
string
/^web_[0-9]{1,20}_[1-9][0-9]{0,18}$/
coverage
required
string
Allowed values: stored_events_only unreported

Example

{
"events": [
{
"event_type": "conversation.changed"
}
],
"coverage": [
{
"coverage": "stored_events_only"
}
]
}

Malformed, duplicate, unsupported input or invalid cursor signature.

Expired, revoked or changed credential authority.

Subscription or website not granted; restriction filters and human consent credentials are unavailable for this feed.

Changed subscription revision, concurrent mutation, inventory limit, or replay_expired requiring reconciliation.

Application request quota exceeded.

Event family held, corrupt subscription or unavailable journal/control observations.