---
# @generated by sylphx-gen 0.1.0 from contracts@e145cc7cf1bc9605f2b27439e5e17ed76a1a2fd7e7021906a013f7565e4a0cd5. Do not edit.
title: "Lease events"
description: "The `lease_events` collection of Sylphx Sandboxes: A LeaseEvent is one immutable fact in a lease's life: grant, ready, end, control changes, network changes."
type: reference
product: sandboxes
summary: "A LeaseEvent is one immutable fact in a lease's life: grant, ready, end, control changes, network changes."
updated: 2026-09-28
order: 900
---

A LeaseEvent is one immutable fact in a lease's life: grant, ready, end, control changes, network changes. Events are listed in order and long-polled with `wait`.

**Service** Sylphx Sandboxes · **Resource type** `sandboxes.sylphx.com/LeaseEvent` · **Name pattern** `orgs/{org}/projects/{project}/envs/{env}/leases/{lease}/lease_events/{lease_event}` · **Shape** `record`

## Fields

| Field | Type | What it is |
| --- | --- | --- |
| `name` | `string` | `orgs/{org}/projects/{project}/envs/{env}/leases/{lease}/lease_events/{lease_event}`. |
| `uid` | `string` | `lev_<cell><ulid>`; never reused. Output only. |
| `meta` | `ResourceMeta` | Resource metadata. |
| `kind` | `LeaseEventKind` | What happened. Output only. One of `granted`, `ready`, `refused`, `ended`, `renewed`, `network_changed`, `control_acquired`, `control_released`, `control_expired`, `budget_warning`, `paused`, `resumed`. |
| `sequence` | `int64` | The position in the lease's event sequence, from 1. Output only. |
| `occur_time` | `timestamp` | When it happened. Output only. |
| `lease_generation` | `int64` | The lease generation after the event. Output only. |
| `state` | `LeaseState` | The lease state after the event. Output only. One of `requested`, `granted`, `ready`, `paused`, `ending`, `ended`, `refused`. |
| `end_reason` | `EndReason` | For LEASE_ENDED. Output only. One of `released`, `expired`, `idle`, `cpu_budget`, `cost_budget`, `abuse`, `quota`, `org_deleted`, `machine_lost`, `boot_failed`. |
| `usage` | `LeaseUsage` | For LEASE_ENDED: final usage. Output only. |
| `control` | `ControlState` | For CONTROL_* events: the control after the event. Output only. |
| `control_duration` | `duration` | For CONTROL_RELEASED and CONTROL_EXPIRED: how long control was held. Output only. |
| `principal` | `string` | The principal that caused it, when a caller did. Output only. |

## Methods

Every method of the collection, in the registry's order, with the scope it
needs. The full request, response and examples are one link away.

| Method | Call | What it does |
| --- | --- | --- |
| `GET` | [`get`](/docs/api/lease_events#get) | Gets one lease event. |
| `GET` | [`list`](/docs/api/lease_events#list) | Lists a lease's events in order. With `wait`, blocks up to that long for an event after `page_token` (long poll). |

## get

Gets one lease event.

`GET https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/leases/lease/lease_events/lease-event` · scope `sandboxes:read` · effect `read` · [Request, response and examples](/docs/api/lease_events/get)

## list

Lists a lease's events in order. With `wait`, blocks up to that long for an event after `page_token` (long poll).

`GET https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/leases/lease/lease_events` · scope `sandboxes:read` · effect `read` · paginated · [Request, response and examples](/docs/api/lease_events/list)
