# crucible

REST API for the crucible daemon, a Firecracker microVM sandbox runtime. The daemon is the contract every SDK mirrors. Auth is a bearer token (`Authorization: Bearer <key>`); `/healthz` is always exempt, and a loopback daemon with no keys configured serves unauthenticated. The exec and service-log endpoints stream a binary frame protocol OpenAPI cannot model — see the guides for the frame format.

* Version: 0.3.4

## images

* [`GET` List cached images](/api-reference/listimages)
* [`POST` Pull and convert an OCI image](/api-reference/pullimage)
* [`POST` Import a docker-save archive](/api-reference/importimage)
* [`GET` Get a cached image](/api-reference/getimage)
* [`DELETE` Delete a cached image](/api-reference/deleteimage)

## logs

* [`GET` Read durable sandbox logs](/api-reference/sandboxlogs)

## meta

* [`GET` Liveness check](/api-reference/health)
* [`GET` List rootfs profiles](/api-reference/listprofiles)
* [`GET` Effective policy for the caller](/api-reference/whoami)

## sandboxes

* [`GET` List sandboxes](/api-reference/listsandboxes)
* [`POST` Create a sandbox](/api-reference/createsandbox)
* [`GET` Get a sandbox](/api-reference/getsandbox)
* [`DELETE` Destroy a sandbox](/api-reference/deletesandbox)
* [`GET` Interactive exec (WebSocket)](/api-reference/execsandboxws)
* [`POST` Run a command (streams frames)](/api-reference/execsandbox)
* [`GET` Read a single guest file](/api-reference/getfile)
* [`POST` Push files into a sandbox](/api-reference/putfiles)

## service

* [`GET` Service status](/api-reference/servicestatus)
* [`PUT` Configure the supervised service](/api-reference/configureservice)
* [`GET` Stream service logs](/api-reference/servicelogs)
* [`POST` Restart the service](/api-reference/restartservice)
* [`POST` Start the service](/api-reference/startservice)
* [`POST` Stop the service](/api-reference/stopservice)

## snapshots

* [`POST` Snapshot a sandbox](/api-reference/createsnapshot)
* [`GET` List snapshots](/api-reference/listsnapshots)
* [`GET` Get a snapshot](/api-reference/getsnapshot)
* [`DELETE` Delete a snapshot](/api-reference/deletesnapshot)
* [`POST` Fork sandboxes from a snapshot](/api-reference/forksnapshot)
