Subscribe to resource change notifications
const url = 'https://example.com/api/v1/events?env=example&topic=example';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
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/api/v1/events?env=example&topic=example' \ --header 'Authorization: <Authorization>'Best-effort SSE invalidation hints. No replay; refetch REST snapshots after stream.ready and retain polling. Requires the corresponding environment query/carve/admin permissions. Session-scoped console and file_explorer topics require console_session or file_explorer_session respectively. Alerts may use env=all. service_commands and fleet require super-admin permissions and env=all.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Environment name or UUID; use all only with topic=alerts, topic=service_commands, or topic=fleet
Topics: queries, carves, console, file_explorer, alerts, service_commands, fleet
Console session id required when subscribing to topic=console
File explorer session id required when subscribing to topic=file_explorer
Responses
Section titled “Responses”SSE stream: stream.ready, resource.changed, auth.expired
Examplegenerated
exampleBad Request
object
Examplegenerated
{ "code": "example", "error": "example"}Unauthorized
object
Examplegenerated
{ "code": "example", "error": "example"}Forbidden
object
Examplegenerated
{ "code": "example", "error": "example"}Not Found
object
Examplegenerated
{ "code": "example", "error": "example"}Too Many Requests
object
Examplegenerated
{ "code": "example", "error": "example"}Service Unavailable
object
Examplegenerated
{ "code": "example", "error": "example"}