These endpoints manage the local OCI image store maintained byDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/chaitu426/minibox/llms.txt
Use this file to discover all available pages before exploring further.
miniboxd. They cover listing, pulling from registries, exporting to archives, importing from archives, removing images, and pruning unused blobs. All examples use curl with an Authorization header — omit it when MINIBOX_API_TOKEN is not set.
GET /images
List all named images registered in the daemon’s localindex.json.
Response
JSON array of image objects.
POST /images/pull
Pull an OCI image from a container registry (defaults to Docker Hub). The image is stored inDataRoot/base_layers/<image_tag> and registered in index.json.
Image reference to pull. Supports standard OCI reference format (e.g.
alpine, alpine:3.18, library/nginx:latest). Multi-arch manifest lists are automatically resolved to linux/amd64.Response
200 OK — streamed plain text pull progress using Transfer-Encoding: chunked. Each line is prefixed with [pull]. Errors are reported as [error] pull failed: ....
POST /images/save
Export a locally stored image to a tar archive on the daemon host filesystem.Name of the image to export. Must exist in the local index.
Absolute path on the daemon host where the tar archive will be written. The file is created or overwritten.
Response
200 OK — Saved image <name> to <path>\n
Archive layout
The produced tar is a minibox-specific archive (not Docker-compatible):| File | Contents |
|---|---|
meta.json | {"image": "<name>", "manifest_digest": "sha256:..."} |
blobs/sha256/<digest> | OCI manifest JSON blob |
blobs/sha256/<digest> | OCI config JSON blob |
blobs/sha256/<digest> | Each layer (gzip-compressed tar) |
POST /images/load
Import an image tar archive previously created byPOST /images/save.
Absolute path on the daemon host to the tar archive to import.
Response
200 OK — Loaded image <name> from <path>\n
load extracts the archive into DataRoot, reads meta.json, and upserts the image entry into index.json. Loading the same image twice is idempotent — blobs are content-addressed by their SHA256 digest.
POST /images/remove
Remove a named image from the local index.Image name exactly as listed by
GET /images.Response
200 OK — Image <name> removed\n
404 Not Found — if the image name is not in the index.
images/remove removes the image’s entry from index.json but does not delete the underlying blobs from blobs/sha256/. Orphaned blobs are cleaned up by POST /system/prune.POST /system/prune
Garbage-collect unused blobs, clean up stale lazy FUSE mounts, remove extracted layer directories, and delete temporary files underDataRoot.
Set to
1 to also remove the DAG build cache under DataRoot/layers/. This forces a full image rebuild the next time POST /containers/build is called.Response
JSON prune report describing what was removed.