Layerbeat

Get an operation

GET
/v1/operations/{id}

Returns the progress and result of a VPS action.

Access: API key: vm:read · Session: any workspace role.

Authorization

headerAuthorizationBearer <token>

Send Authorization: Bearer <token>. A token is an API key (lb_live_…, scoped, for programs) or a session (lb_sess_…, from signup or login, for people). See Authentication above.

Path Parameters

id*string

The resource id.

Header Parameters

X-Org-ID?string

Sessions only: act on this organization (you must be a member). Default: your first organization.

Response Body

Operation

application/json
  1. response
id*string
type*string
Value in"vm.create""vm.renew""vm.delete""vm.start""vm.stop""vm.reboot""volume.create""volume.attach""volume.detach""volume.renew""volume.delete""template.deploy""template.update""template.health""template.remove"
status*string

Poll until succeeded or failed.

Value in"pending""running""succeeded""failed"
vm_id*string|null
volume_id?|

Set for disk operations.

deployment_id?|

Set for template operations.

steps*array<>
result*|null
error*|

Set when status is failed.

created_at*string
Formatdate-time
finished_at*|
Formatdate-time
curl -X GET 'https://layerbeat.com/v1/operations/string'
{  "id": "op_4yw4xmradad4bstgr4d5qtreb4",  "type": "vm.create",  "status": "succeeded",  "vm_id": "vm_gnkrp6zuxvsqki7sqxeluvsw2y",  "steps": [    {      "name": "payment_reserved",      "status": "succeeded"    },    {      "name": "creating_instance",      "status": "succeeded"    },    {      "name": "booting",      "status": "succeeded"    },    {      "name": "ready",      "status": "succeeded"    }  ],  "result": null,  "error": null,  "created_at": "2026-10-01T10:00:00Z",  "finished_at": "2026-10-01T10:00:41Z"}