---
title: "Stream chat ID discovery events (SSE)"
method: GET
path: "/api/v1/hitl/chat-id-discovery/{token}/events"
tags: ["HITL"]
---

# Stream chat ID discovery events (SSE)

`GET /api/v1/hitl/chat-id-discovery/{token}/events`

## Request

- Base URL: `https://api.proof.holdings`
- URL: `https://api.proof.holdings/api/v1/hitl/chat-id-discovery/{token}/events`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `auth_token`

Subscribe to real-time chat ID discovery updates via Server-Sent Events. Sends `connected` event on open, then `update` events when the user messages the bot and their Telegram chat_id is captured. Includes heartbeat to keep connection alive through Cloudflare.

## Path parameters

- `token` string, required: Discovery token from POST /chat-id-discovery

## Response `200`

SSE event stream

## Other responses

- `401`: Unauthorized
- `403`: Missing required scope (hitl:read)
- `404`: Token not found or expired
- `429`: Too many concurrent SSE connections
- `503`: Server SSE capacity exhausted

---

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