Docs
Filtering
One list endpoint powers every timeline in your product. Combine filters to build user history pages, workspace audit trails, support views, and admin tooling from the same event source.
The list endpoint
All queries go through GET /v1/events, authenticated with your secret key:
Terminalcurl
curl "https://api.softechlog.com/v1/events?actor_id=user_123&action=member.invited&limit=50" \ -H "Authorization: Bearer stl_sk_xxxxxxxxxxxx"
Available filters
| Parameter | Type | Description |
|---|---|---|
actor_id | string | Only events by this user (your external ID) |
action | string | Exact action match, e.g. member.invited |
target_type | string | Only events on this resource type, e.g. workspace |
target_id | string | Only events on a specific resource |
capture_mode | manual · auto | Separate SDK-tracked events from auto-captured UI events |
session_id | string | All events in one browsing session |
from / to | ISO 8601 datetime | Time window bounds |
limit | 1–100 | Page size (default 25) |
cursor | string | Opaque cursor from the previous page |
Filters combine with AND semantics — every parameter you pass narrows the result.
Time windows
Terminalcurl
# Everything a user did last week curl "https://api.softechlog.com/v1/events?actor_id=user_123&from=2026-07-01T00:00:00Z&to=2026-07-08T00:00:00Z" \ -H "Authorization: Bearer stl_sk_xxxxxxxxxxxx"
Cursor pagination
Responses are newest-first and cursor-paginated. Pass next_cursor back as cursor to fetch the next page:
Responseapplication/json
{
"events": [ /* … up to `limit` events, newest first … */ ],
"has_more": true,
"next_cursor": "2026-07-11T14:09:31.000Z"
}Cursor pagination stays correct even while new events stream in — no skipped or duplicated rows, unlike offset pagination.
Common recipes
- User history page:
actor_id={user}— everything one user did. - Workspace audit trail:
target_type=workspace&target_id={ws}— everything that happened to one workspace. - Security review:
action=security.api_key.rotated&from=…— one sensitive action across all users. - Support debugging:
session_id={session}— replay exactly what a user saw and clicked.