Skip to main content
Create, get, edit, and fork return an instance object. List wraps these objects in { "data": [...] }. Hosting API timestamps are epoch seconds.
Example

Fields

string
A bare 10-character lowercase alphanumeric id, no prefix. It doubles as the DNS label in the instance’s URL.
string
The lifecycle state. running means the instance’s computer is up; poll GET /v1/health before the first message. Around a wake or a start the field can trail reality by a few seconds: the response to your own request, or the instance’s health endpoint, is the authority. See the statuses table below.
object | null
Why the most recent lifecycle operation failed, as { code, message, detail?, operation, at }, or null when there is no failure reason. detail, when present, carries the raw failure output, including the tail of your container’s console log when the container exited or never opened its port; use it to see your own application’s startup error. The failing request’s own 502 already carries the same message and detail (see errors), so this field is for reading the reason later, not for discovering it. at is an epoch-second timestamp.
string
The template the instance was built from, including its version pin when it has one (agent37-hermes@<tag>, my-agent@2).
integer | null
The workspace template revision this instance has installed. Compare it with the template’s current revision to detect an available update. It changes only when the instance is created or updated, and is null for system templates and for instances created before revisions existed (an update stamps it).
string | null
The public source reference for a system template or registry-born workspace template. null for an image published by a cloud build. This never exposes Agent37’s internal private-mirror path.
string | null
The immutable sha256:... digest of the image the instance runs. Use this, not a mutable image_ref tag, as the exact image identity. null only on older instances that predate digest pinning.
string
default or performance. See Default and Performance instances.
object
The shape: cpu (vCPUs), memory and disk (GB).
string
The bare instance URL, https://{instanceId}.agent37.app, where the agent’s chat API lives (it routes to the template’s default_port, 3737 unless declared otherwise). Every other port is reachable at https://{instanceId}-{port}.agent37.app, derivable with no declaration needed. Open any port in a browser with a signed URL. See Instance and preview URLs.
string[]
The instance URL mirrored under each of your workspace’s active custom domains; empty until a domain is active.
object[]
The instance’s public ports, each { port, url, domain_urls, prefix, label, created }: permanent unauthenticated URLs. agent37-hermes and agent37-openclaw instances start with one on 8443, labelled telegram, for Telegram webhooks; otherwise the list is empty unless you created some.
string | null
Your attribution tag, echoed back.
string | null
Your label, echoed back.
object | null
Your key/value pairs, echoed back.
boolean
Whether the instance sleeps on idle. Set at create or by PATCH. See Auto-sleep.
integer
How long the instance must be idle before it sleeps, in seconds. Defaults to 900.
integer | null
Present only while status is sleeping or waking: when the instance fell asleep, in epoch seconds. It does not signal that the checkpoint has finished: status flips to sleeping before the checkpoint is written, and during the write this field can be null or still carry an earlier timestamp. Instances that have been asleep for a long stretch may be rebuilt from cold storage on wake, which takes about two minutes (see Auto-sleep).
boolean
true when the workspace balance went negative and the instance was suspended. Top up to clear it; the next request to the instance’s URL wakes it. See Billing.
integer
Creation time in epoch seconds.

Statuses

past_due is a flag, not a status: a suspended instance shows it alongside sleeping (or stopped, if it already was). Top up the wallet to clear it; see Billing.