# Events Every event has the same envelope: `id`, `type`, `time`, `schema_version`, `org`, `project`, `sandbox`, `conversation` and `data`. JSON Schemas are in `api/events/`. | Event | Means | |---|---| | [`sandbox.creating`](events/sandbox.creating.html) | Creation accepted. | | [`sandbox.queued`](events/sandbox.queued.html) | A start joined the queue. | | [`sandbox.ready`](events/sandbox.ready.html) | Commands work and billing has started. site is where HareBox placed it, inside the EU. | | [`sandbox.hydrated`](events/sandbox.hydrated.html) | All disk and memory content is local. | | [`sandbox.sleeping`](events/sandbox.sleeping.html) | The sandbox slept: memory saved and RAM freed. It is billed like a running sandbox. | | [`sandbox.sleep_warning`](events/sandbox.sleep_warning.html) | Sleep is about to happen on an idle sandbox. | | [`sandbox.waking`](events/sandbox.waking.html) | A wake began. | | [`sandbox.woke`](events/sandbox.woke.html) | A sleeping sandbox is ready again. | | [`sandbox.stopping`](events/sandbox.stopping.html) | A stop began. | | [`sandbox.stopped`](events/sandbox.stopped.html) | Disk saved and machine released. | | [`sandbox.stop_retrying`](events/sandbox.stop_retrying.html) | A save failed; the stop is retrying and the meter is paused. | | [`sandbox.resumed`](events/sandbox.resumed.html) | A stopped sandbox is ready again. start_ms is what the restore took; budget_ms is the host kind's restore target, not a measurement. | | [`sandbox.forked`](events/sandbox.forked.html) | A fork was created from this sandbox. | | [`sandbox.restored`](events/sandbox.restored.html) | A point-in-time restore finished. | | [`sandbox.resized`](events/sandbox.resized.html) | The size changed. | | [`sandbox.archive_warning`](events/sandbox.archive_warning.html) | A stopped sandbox will soon move to paid archive. | | [`sandbox.archived`](events/sandbox.archived.html) | Disk moved to cold storage after the free period. | | [`sandbox.migrating`](events/sandbox.migrating.html) | Live migration began. | | [`sandbox.migrated`](events/sandbox.migrated.html) | Live migration finished. | | [`sandbox.degraded`](events/sandbox.degraded.html) | The sandbox is impaired. | | [`sandbox.recovered`](events/sandbox.recovered.html) | A degraded or failed sandbox recovered. | | [`sandbox.failed`](events/sandbox.failed.html) | The sandbox could not start or was lost. | | [`sandbox.preempting`](events/sandbox.preempting.html) | A Spot sandbox has two minutes before preemption. | | [`sandbox.preempted`](events/sandbox.preempted.html) | A Spot sandbox was saved and stopped. | | [`sandbox.moved`](events/sandbox.moved.html) | A running sandbox moved to another host with its memory, after a pause of a few seconds. HareBox does this to release a host it no longer needs, or before a Spot host is taken back. | | [`sandbox.deleted`](events/sandbox.deleted.html) | The sandbox was erased. | | [`sandbox.maintenance_scheduled`](events/sandbox.maintenance_scheduled.html) | A restart is scheduled because live migration is not possible. | | [`sandbox.deadline_extended`](events/sandbox.deadline_extended.html) | The deadline moved. | | [`command.started`](events/command.started.html) | A command started. | | [`command.exited`](events/command.exited.html) | A command ended. | | [`prompt.queued`](events/prompt.queued.html) | A prompt is waiting. | | [`prompt.started`](events/prompt.started.html) | A turn began. | | [`prompt.delta`](events/prompt.delta.html) | Partial agent text. Streams only, never sent to webhooks. | | [`prompt.tool_call`](events/prompt.tool_call.html) | The agent called a tool. | | [`prompt.steered`](events/prompt.steered.html) | A steer joined the turn. | | [`prompt.finished`](events/prompt.finished.html) | A turn finished. | | [`prompt.failed`](events/prompt.failed.html) | A turn failed. | | [`prompt.interrupted`](events/prompt.interrupted.html) | A turn was interrupted. | | [`prompt.budget_exceeded`](events/prompt.budget_exceeded.html) | A turn passed its budget and stopped. | | [`snapshot.created`](events/snapshot.created.html) | A snapshot finished. | | [`snapshot.failed`](events/snapshot.failed.html) | A snapshot failed. | | [`template.saved`](events/template.saved.html) | A new template version is ready. | | [`template.shared`](events/template.shared.html) | A share code was created. | | [`endpoint.created`](events/endpoint.created.html) | A port was exposed. | | [`endpoint.rotated`](events/endpoint.rotated.html) | A URL token rotated. | | [`firewall.changed`](events/firewall.changed.html) | Firewall rules changed. | | [`domain.active`](events/domain.active.html) | A custom domain is live. | | [`domain.failed`](events/domain.failed.html) | A custom domain failed verification. | | [`budget.threshold`](events/budget.threshold.html) | A budget passed an alert level. | | [`budget.exceeded`](events/budget.exceeded.html) | A budget passed its limit and its action ran. | | [`wallet.low`](events/wallet.low.html) | The wallet is running low. | | [`wallet.empty`](events/wallet.empty.html) | The wallet is empty and a grace period began. | | [`trial.ended`](events/trial.ended.html) | The trial ended. With a card it became the build plan; without one the account has no plan. | | [`trial.ending`](events/trial.ending.html) | A trial is near its end. | | [`apikey.created`](events/apikey.created.html) | An API key was created. | | [`apikey.rotated`](events/apikey.rotated.html) | An API key rotated. | | [`apikey.revoked`](events/apikey.revoked.html) | An API key was revoked. | | [`apikey.expiring`](events/apikey.expiring.html) | An API key expires soon. | | [`member.joined`](events/member.joined.html) | A member joined. | | [`member.cap_reached`](events/member.cap_reached.html) | A member reached a cap. | | [`ci.job_finished`](events/ci.job_finished.html) | A CI job ended. | | [`abuse.limited`](events/abuse.limited.html) | Abuse controls limited a sandbox. | | [`copilot.recommendation`](events/copilot.recommendation.html) | A new saving is available. | | [`command.output`](events/command.output.html) | Command output. Streams only, never sent to webhooks. | | [`proxy.request`](events/proxy.request.html) | The credentials proxy forwarded a request. | | [`webhook.test`](events/webhook.test.html) | A signed test event. |