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:
acceptedqueuedrunningsucceededfailedcancelledtimed_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.
