Skip to main content
Track sandbox lifecycle events through webhooks for subscribed account, billing, and lifecycle notifications, and use runner events for a coding turn. These event streams have different cursors and delivery rules.

Runner events

Runner events are durable within the runner’s retained state and replay through GET /sandboxes/{id}/events?after=N. Keep the last processed sequence to resume reading. They describe turn progress and approvals; they are not webhook delivery records. See events, steering, and approvals.

Lifecycle and account notifications

Register webhooks for the events you need:

Interpret lifecycle boundaries

sandbox.created means admission committed. sandbox.ready means successful guest readiness. sandbox.deleted means the lifecycle lease fence expired and quota was released. Fleet completion means all admitted operations finished; inspect individual results to determine success. Membership events describe account authority changes. They do not grant the receiver authority to access machines or profiles.

Process deliveries

Subscriptions are prospective. Events without an enabled selected recipient are skipped. Authenticate every webhook delivery, deduplicate its stable event UUID, and read current resource state when your workflow requires it. Webhook delivery is at least once. Runner replay cursors cannot resume webhook delivery, and webhook event UUIDs cannot continue runner events. Use delivery logs and signatures for notification recovery.