The change feed as Server-Sent Events (id = sequence number). Resumes from Last-Event-ID or `since`.
GET
/datanotes/changes/stream
const url = 'https://example.com/datanotes/changes/stream';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/datanotes/changes/stream \ --header 'Authorization: Bearer <token>'Same filters as list_changes (tables, kinds, columns: comma-separated; exclude_actor; where: JSON). A comment line every 25 s keeps proxies from closing the connection; event: gap tells the client events were pruned.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”since
string
tables
string
kinds
string
columns
string
exclude_actor
string
where
string
Header Parameters
Section titled “Header Parameters”Last-Event-ID
string
Responses
Section titled “Responses”The events, one data: line (JSON) each.
Media typetext/event-stream
string
where is not a JSON object.
Media typeapplication/json
object
error
required
What went wrong, for a person or an agent.
string
Example generated
{ "error": "example"}Missing or wrong bearer token.
Media typeapplication/json
object
error
required
What went wrong, for a person or an agent.
string
Example generated
{ "error": "example"}The change feed is not running.
Media typeapplication/json
object
error
required
What went wrong, for a person or an agent.
string
Example generated
{ "error": "example"}