---
title: "Poll stream events"
method: GET
path: "/v1/stream_subscriptions/{stream_id}/events"
---

# Poll stream events

`GET /v1/stream_subscriptions/{stream_id}/events`

## Request

- Base URL: `https://api.turos.app`
- URL: `https://api.turos.app/v1/stream_subscriptions/{stream_id}/events`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Poll canonical stream events for a subscription with cursor semantics.

## Path parameters

- `stream_id` string, required

## Query parameters

- `cursor` string
- `type` string
- `limit` integer

## Response `200`

Cursor page of delivered stream events.

- object
  - `object` 'stream_event_page', required
  - `streamId` string, required
  - `data` object[], required
    - `object` 'stream_event'
    - `id` string
    - `cursor` string
    - `recordedAt` string, date-time
    - `requestId` string
    - `eventType` string
    - `transport` 'poll' | 'webhook_mirror' | 'websocket'
  - `hasMore` boolean, required
  - `nextCursor` string, nullable, required
  - `replayCursor` string, nullable, required
  - `requestId` string

## Other responses

- `503`: Delivery ledger is temporarily unavailable.
- `default`: Contract-aware error response

---

[API](https://skmtc.dev/turos/apis/turos-api.md) · [All operations](https://skmtc.dev/turos/apis/turos-api/llms.txt) · [OpenAPI document](https://skmtc.dev/turos/apis/turos-api/revisions/a68d3ec80a56?raw)
