Templates
Saved screens that new screens start from, in seconds.
List templates
Needs the read permission. Answers within 2 s.
The organization's templates, newest first.
query Parameters
limitPage size, 1 to 100.
after^[A-Za-z0-9_-]+$Opaque cursor from the previous page's next.
List templates › Responses
Success.
Save a screen as a template
Needs the power permission. Answers within 5 s.
Saves the screen's disk; with_memory says whether screens started from it also come back with the open windows it was saved with. A running screen pauses for a few seconds while it is saved. Returns 202 with an operation; the template is listed at once as saving. Secrets are never on the disk, so none is saved. Over the template cap: 402 QUOTA_EXCEEDED.
Headers
Idempotency-Key^[ -~]+$Any unique string, ideally a UUIDv7; the SDK and MCP always send one. A retry with the same key and body gets the stored answer instead of running twice (kept 24 h for screens and power, 10 minutes for actions and commands). Stored once execution began: 2xx, 500 and 504. Never stored when outcome is not_applied (400, 401, 403, 404, 409, 415, 422, 429), so the same key can be retried after a conflict or a rate limit. Replays of runActions keep per-action results and shot metadata only, capture a fresh screenshot and carry Idempotent-Replayed: true. Same key, different body: 422 IDEMPOTENCY_KEY_REUSED. Same key still running: 409 IDEMPOTENCY_KEY_IN_USE.
Save a screen as a template › Request Body
screen_id^scr_[0-9a-z]{20}$ · requiredname^[a-z0-9][a-z0-9-]{0… · requiredUnique among the organization's templates.
Save a screen as a template › Responses
Accepted.
id^op_[0-9a-z]{20}$ · requiredreconciling: the outcome is uncertain and we are checking the host. Not a failure; do not retry.
screen_id^scr_[0-9a-z]{20}$ · requiredcreated_atupdated_atGet a template
Needs the read permission. Answers within 2 s.
One template.
path Parameters
template_id^tpl_[0-9a-z]{20}$ · requiredTemplate id (tpl_...).
Get a template › Responses
Success.
id^tpl_[0-9a-z]{20}$ · requiredname^[a-z0-9][a-z0-9-]{0… · requiredsaving: being made from its screen.
One size at launch. Resize comes later.
with_memorytrue: a screen started from it comes back with the open windows it was saved with. false: it boots from the saved disk.
screens_startedScreens started from it so far.
created_at