Read an Agent's events
agent.created, .attached, .detached, .deleted, a pod's .running, .suspended, .relaunched, .lost, .reset and .failed, .forked, a move's .outdated, .version_changed and .start_failed, and agent.egress for every connection its sandbox opens through egress-gate, naming the turns that were running, in order, numbered from 0, at most the Tenant's Runtime limit environmentEventItems (default 1000) per call: from reads on.
AuthorizationBearer <token>An application key of the Tenant (PUT /v1/tenant/keys/{keyId}), or Studio's key, derived from the admin key. With Nylorun-Subject and Nylorun-Scopes, it acts for that person, narrowed to those scopes. Never accepted from a browser (Origin).
agentId*stringThe Agent id, percent-encoded: users%2Falice%2Ftriage for users/alice/triage
from?stringThe first seq to return
types?stringOnly these event types, comma-separated (agent.egress)
since?stringOnly events recorded at or after this ISO time
until?stringOnly events recorded before this ISO time
Nylorun-Protocol*stringThe protocol version, 18
Nylorun-Subject?stringThe person an application key acts for
Nylorun-Scopes?stringThe subject's space-separated scopes; required with a subject
The events
application/json- response
events*array<>import { createClient } from "@nylorun/agents";const client = await createClient();const egress = await client.agents.events("users/alice/assistant", { types: ["agent.egress"], since: "2026-10-17T09:00:00Z",});{ "events": [ { "schema": "nylorun.agent-event/1", "eventId": "string", "tenantId": "string", "agentId": "string", "seq": 0, "time": "string", "type": "agent.created", "payload": { "property1": null, "property2": null } } ]}List Agents GET
Every Agent with all the labels asked for, in `state`, made from `manifest` and `outdated` (moving to another version) when given, by id. A token caller sees only the Agents its grants reach, and a caller acting for a person only that person's sessions on each. `limit` opts into pages.
Stop a pod Agent POST
Suspends the pod: its volume is kept, and the next turn of one of its sessions starts it again. Refused during a turn (`agent_busy`).