Browsing your data
The data plane stores content-addressed objects with no paths. The Git index puts human structure back on top of them: file trees, commit history, branches, tags and releases. This page is how to navigate it.
The Files tab renders the tree at a ref. Over the API:
export API=https://cavsnode.com/api/v1export REPO=<repository-uuid>export H="Authorization: Bearer $CAVS_TOKEN"
# Directory listing at the default branchcurl -sS "$API/repositories/$REPO/tree" -H "$H"
# A subdirectory on a specific refcurl -sS "$API/repositories/$REPO/tree?ref=main&path=checkpoints/v3" -H "$H"
# One file's metadata (size, oid, last commit)curl -sS "$API/repositories/$REPO/file?ref=main&path=model.safetensors" -H "$H"
# That file's historycurl -sS "$API/repositories/$REPO/file/history?path=model.safetensors&limit=50" -H "$H"| Parameter | Applies to | Default |
|---|---|---|
ref |
tree, file |
the repository’s default branch |
path |
tree, file, file/history |
repository root |
limit |
file/history |
50 (max 200) |
Files that are LFS pointers show their oid, so you can jump straight to the artifact view or download the bytes.
Commits
Section titled “Commits”# Recent commitscurl -sS "$API/repositories/$REPO/commits?limit=50" -H "$H"
# Only commits touching a pathcurl -sS "$API/repositories/$REPO/commits?path=checkpoints&limit=20" -H "$H"
# Page backwards with an RFC 3339 cursorcurl -sS "$API/repositories/$REPO/commits?before=2026-07-01T00:00:00Z" -H "$H"
# One commit, with the artifacts it touchedcurl -sS "$API/repositories/$REPO/commits/9a3f21c" -H "$H"Each commit records which LFS artifacts it added or changed — that’s how the dashboard can answer “which commit introduced this 4 GB object?”.
Branches
Section titled “Branches”curl -sS "$API/repositories/$REPO/branches" -H "$H"Alongside each branch, CAVS reports health flags:
| Flag | Meaning |
|---|---|
| stale | No commits in more than 30 days |
| oversized | More than 2× the default branch’s storage footprint |
Both are common sources of quiet storage growth — a long-lived experiment branch holding a dozen checkpoints nobody needs any more.
Artifacts
Section titled “Artifacts”An artifact view is an object seen through the index: its oid, size, physical size, chunk count, download count, and the paths, commits and releases that reference it.
curl -sS "$API/repositories/$REPO/artifacts/$OID" -H "$H"curl -sS "$API/repositories/$REPO/artifacts/$OID/timeline" -H "$H"The timeline is where an artifact came from and where it went — first appearance, each commit that referenced it, each release that includes it.
The organization-wide registry
Section titled “The organization-wide registry”Every artifact across every repository, in one filterable list:
curl -sS "$API/organizations/acme-ai/artifacts?sort=size&limit=20" -H "$H"curl -sS "$API/organizations/acme-ai/artifacts?type=model&q=resnet" -H "$H"curl -sS "$API/organizations/acme-ai/artifacts?repo=$REPO&sort=downloads" -H "$H"| Parameter | Values |
|---|---|
repo |
a repository UUID |
type |
model, dataset, media, archive, other |
q |
name substring |
sort |
recent (default), size, downloads, name |
limit |
page size |
before |
RFC 3339 cursor; recent sort only |
The response carries next_before — feed it back as before to page.
From the CLI:
cav artifacts --type model --query resnetcav artifacts --org acme-ai --json | jq '.[] | select(.size > 1e9)'Objects, without the index
Section titled “Objects, without the index”If you want the raw data-plane view — no paths, no commits:
curl -sS "$API/repositories/$REPO/objects?sort=recent&limit=50&skip=0" -H "$H"curl -sS "$API/repositories/$REPO/objects?sort=size&limit=20" -H "$H"Each row is {oid, size, physical_size, chunk_count, created_at, downloads}.
This works even on a repository that has never been indexed.
Search
Section titled “Search”Search spans repositories, files, commits and releases, scoped to the organizations you can see:
curl -sS "$API/search?q=resnet" -H "$H"curl -sS "$API/search?q=checkpoint&type=files&ext=safetensors" -H "$H"curl -sS "$API/search?q=fix+dataloader&type=commits&repo=$REPO" -H "$H"curl -sS "$API/search?q=weights&type=files&min_size=1000000000" -H "$H"| Parameter | Meaning |
|---|---|
q |
the query (required) |
type |
repos, files, commits, releases — omit for all |
org |
restrict to one organization |
repo |
restrict to one repository |
ext |
file extension filter (files only) |
min_size, max_size |
byte-size bounds (files only) |
In the dashboard, press / anywhere to focus the search box. From the
CLI: cav search "resnet".
Storage explorer
Section titled “Storage explorer”Organization-level, for the “where did the terabytes go” question:
curl -sS "$API/organizations/acme-ai/usage/series?days=90" -H "$H"curl -sS "$API/repositories/$REPO/storage/summary" -H "$H"curl -sS "$API/repositories/$REPO/storage/folders?depth=2&limit=20" -H "$H"curl -sS "$API/repositories/$REPO/storage/series?days=90" -H "$H"storage/folders walks the indexed tree and aggregates by directory — depth
between 1 and 5 controls how deep the roll-up goes. See
Storage insights.
- Releases & snapshots — mark states worth naming.
- Storage insights — read the dedup and transfer numbers.
- Lineage graph — how artifacts relate.

