Runtime

Operations

Track accepted Quilt lifecycle work instead of issuing duplicate mutations.

Async lifecycle routes typically return an operation handle.

Treat that handle as part of the contract, not as optional bookkeeping.

Operation Lookup

GET /api/operations/<operation_id>

Event Stream

GET /api/events

GET /api/events is an SSE stream returning text/event-stream, not a JSON array.

Accepted Response

{
  "success": true,
  "operation_id": "op_123",
  "status_url": "/api/operations/op_123"
}

Observed statuses:

  • accepted
  • queued
  • running
  • succeeded
  • failed
  • cancelled
  • timed_out

What Operations Are For

Operations show up when Quilt accepts work that may take time, including start, resume, snapshot, fork, and batch create flows.

Container create, stop, kill, and delete are direct synchronous routes — they do not produce operations.

Rule of Thumb

If a mutation returned an operation, Quilt already has your request. Prefer tracking that handle over retrying blindly.