Get an operation
GET
Returns the progress and result of a VPS action.
Access: API key: vm:read · Session: any workspace role.
- Poll until
statusissucceededorfailed.stepsshow completed work anderrorexplains a failure. - An
outcome_unknownpurchase may still have reserved credit. Follow the original operation rather than submitting another purchase.
header
AuthorizationBearer <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.
id*stringThe resource id.
X-Org-ID?stringSessions only: act on this organization (you must be a member). Default: your first organization.
Operation
application/json- response
id*stringtype*stringValue 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*stringPoll until succeeded or failed.
Value in
"pending""running""succeeded""failed"vm_id*string|nullvolume_id?|Set for disk operations.
deployment_id?|Set for template operations.
steps*array<>result*|nullerror*|Set when status is failed.
created_at*stringFormat
date-timefinished_at*|Format
date-timecurl -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"}