Overview

Core Resource Model

Understand the stable Quilt resources and the troubleshooting flow they imply.

Quilt’s API is broad, but the underlying model is stable.

If you understand the resources on this page, the rest of the docs become much easier to reason about.

The Stable Resources

  • containers are the primary runtime unit
  • exec runs a command inside a container synchronously, returning output inline
  • operations represent async lifecycle work
  • snapshots capture container state for cloning and lineage
  • forks create a writable branch from a live container
  • volumes hold persistent filesystem data
  • network resources expose addressing and diagnostics
  • terminal sessions are managed interactive PTY sessions

Why This Matters

These are not random endpoint families. They describe the lifecycle of real work:

  1. create or locate a runtime
  2. check whether it is ready
  3. run commands or open a session
  4. save, clone, scale, or delete it

The Default Troubleshooting Flow

1. confirm API health
2. resolve the target container or function
3. inspect readiness and current state
4. act
5. read the result — exec returns inline, operations require polling, invocations have their own record

If you follow this sequence, Quilt feels predictable. If you skip it, the platform can feel more magical and confusing than it really is.

Readiness Before Action

The resource model assumes you will check readiness intentionally:

  • containers: use /ready
  • functions: inspect state plus pool status
  • orchestration: inspect health and operation records

That is why the docs repeatedly separate existence, accepted mutation, and actual readiness.

How the Resources Connect

ResourceDepends onProduces
Container createimage or managed runtime201 Created + full container status
Exec requestrunning, exec-ready container200 OK + inline result
Snapshotexisting containeroperation + snapshot
Cloneexisting snapshotoperation + container
Forkexisting live containeroperation + container
Volume attachexisting volume + create payloadpersistent filesystem
Terminal sessionexisting containersession + websocket attach