On-Call API › Incidents
Stream an incident's timeline
GET/api/v1/incidents/{id}/sse
A Server-Sent Events stream of new entries added to the incident's timeline
with the timeline endpoint. It opens with : connected and sends
: keep-alive every 25 seconds. Each event is one data: line:
data: {"type":"timeline_entry","incident_id":"…","entry_id":"…","author_id":"…","status":"investigating","message":"…","org_id":"…"}
Status changes and edits are not streamed; re-read the timeline after reconnecting.
Permission (API-key scope): oncall:incident:read.
Authorization
bearerAuth(oncall:incident:read)apiKeyHeader(oncall:incident:read)
Parameters
Path parameters
idstring requiredThe incident's id.
Responses
200
The event stream.
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
403
The key lacks the scope this endpoint needs (FORBIDDEN).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
429
Too many requests (RATE_LIMITED). Wait Retry-After seconds.
Retry-AfterintegerSeconds to wait.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
500
Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
503
Streaming is not available right now (plain-text body).
Example request
curl -X GET 'https://evohub.io/api/v1/incidents/2e7f9a1b-3c4d-4e5f-8a9b-0c1d2e3f4a5b/sse' \
-H 'Authorization: Bearer <TOKEN>'