Skip to main content
GET
/
v1
/
sessions
/
{session_id}
/
events
Get Events
curl --request GET \
  --url https://api.example.com/v1/sessions/{session_id}/events
Get buffered events for a session. Use polling to follow the agent’s progress in real time.

Request

curl "https://api.tapkit.ai/v1/sessions/{session_id}/events?since=0" \
  -H "X-API-Key: joot_your_api_key"

Path Parameters

ParameterTypeDescription
session_idstringThe session identifier

Query Parameters

ParameterTypeDefaultDescription
sinceinteger0Get events starting from this index

Response

Status: 200 OK
{
  "events": [
    {
      "index": 0,
      "type": "agent_action",
      "ts": "2024-01-15T10:30:05Z",
      "data": {
        "action": "screenshot",
        "description": "Taking screenshot to see current screen"
      }
    },
    {
      "index": 1,
      "type": "agent_action",
      "ts": "2024-01-15T10:30:07Z",
      "data": {
        "action": "tap",
        "description": "Tapping Instagram icon",
        "x": 200,
        "y": 400
      }
    }
  ],
  "next_index": 2
}

Response Fields

FieldTypeDescription
eventsarrayArray of event objects
events[].indexintegerSequential event index
events[].typestringEvent type
events[].tsstringISO 8601 timestamp
events[].dataobjectEvent-specific data
next_indexintegerPass this as since in your next poll

Examples

Polling Loop

import requests
import time

session_id = "sess_abc123"
next_index = 0

while True:
    response = requests.get(
        f"https://api.tapkit.ai/v1/sessions/{session_id}/events",
        headers={"X-API-Key": "joot_..."},
        params={"since": next_index}
    )
    data = response.json()

    for event in data["events"]:
        print(f"[{event['type']}] {event['data']}")

    next_index = data["next_index"]
    time.sleep(1)