List app lifecycle events
GET/events
A batch of app lifecycle events (created / phase_changed / health_changed / domain / deleted) after the given cursor, plus the current max cursor. Poll with the returned cursor to follow. The stream is an in-memory ring; a reader offline longer than the ring loses old events (usage totals stay correct via GET /usage). 501 with no app manager.
query parameters
object
sinceintegerResume after this cursor (seq); 0 returns the events still in the ring.
appstringFilter to a single app by name; empty returns all apps.
Responses
200 OKOK
EventsResponse
cursorintegereventsarray | null
items
AppEvent
appstringapp_idstringattrsobject
additional properties
any
instancestringreasonstringseqintegertimestringdate-timetypestring400 Bad requestBad Request
ErrorResponse
codestringerrorstring501 Not Implemented
ErrorResponse
codestringerrorstringAuthentication
bearerAuthHTTP bearer. Daemon API key. Omit on a keyless loopback daemon.Request
▍GET/events
curl '/events?since=&app='const response = await fetch("/events?since=&app=", {
method: "GET",
});
const data = await response.json();import requests
response = requests.get(
"/events?since=&app=",
)
data = response.json()Response
200 OK
{
"cursor": 0,
"events": [
{
"app": "string",
"app_id": "string",
"attrs": {},
"instance": "string",
"reason": "string",
"seq": 0,
"time": "2026-01-02T15:04:05Z",
"type": "string"
}
]
}