Artifacts
Downloads
Agent Docs

Stable v1 hosted download-plan alias.

recorded per-file download-plan. Returns hosted-only file rows (files[].path, sizeBytes, sha256, downloadUrl), the signed manifest URL and the serve verdict (downloadStatus, downloadable, reasonCodes). Agent flow (for one file straight from a model name, GET /api/downloadable-files?q=<model name> returns hosted-file inventory rows with filePath, sha256, downloadUrl and downloadStatus in one call; skip BLOCKED rows and null downloadUrl values): find {id} with GET /api/v1/search?q=<model name> (each row carries its id and serve state) or GET /api/v1/resolve?repo=<owner/name>; GET this plan (license: artifact.license), pick the row in files[] whose path names the file you want (the quant, e.g. Q4_K_M, is in the filename), GET its downloadUrl, then recompute SHA-256 locally (shasum -a 256 <file> or sha256sum <file>) and compare with files[].sha256. downloadStatus / downloadable are the only download authority; a URL appears only when downloadStatus is READY. A matching hash proves the bytes arrived unchanged, not that the file runs: serve.runReady and serve.commandsAvailable stay false until a tested run plan is recorded (reason code no-tested-run-plan), and a GGUF file needs a local runner such as llama.cpp, Ollama or LM Studio. Per-file run.commands, when present, are runner guidance; each command's note says whether that line was checked.

Inputs. Path, query and header fields are listed below. No request body is required.

Outputs. See each status below for its media type, schema and headers. A missing record or unavailable capability is not a successful empty result.

Errors. API JSON failures use the documented response schema. Read code, message and next; retry only when the response allows it. Auth, invalid input and missing records need a caller change.

Rate limits. Public read budgets apply by client IP and route group. This operation can have a smaller route-specific budget. Read Retry-After on 429 or retryable 503 responses.

Example setup. Use an identifier returned by the matching list, search or create operation. Sample identifiers are not a promise that a record exists.

get/api/v1/artifacts/{id}/download-plan

Request

  • Base URL: https://huggingbay.xyz
  • URL: https://huggingbay.xyz/api/v1/artifacts/{id}/download-plan
  • Auth: none declared

Path parameters

idstring required

Query parameters

tool'ollama' | 'lm-studio' | 'comfyui' | 'transformers' | 'llama.cpp'

Response

Hosted-file download-plan

schemaVersion'hugging-bay.artifact-download-plan.v1' required
generatedAtstring date-time
artifactIdstring required

The one id key every surface uses (same as artifact.id).

statusstring

DEPRECATED for availability: the recorded STORAGE state (e.g. complete-bytes = bytes are stored) — NOT an obtainability, runnability or verification claim. It stays complete-bytes on a withheld artifact. Read serve.downloadReady / serveExplanation.downloadStatus instead.

downloadStatus'READY' | 'BLOCKED' | 'PENDING' | 'UNKNOWN'

Top-level obtain verdict, same evaluation as serveExplanation.downloadStatus.

serveEvaluatedAtstring date-time
serveEvaluationIdstring
manifestobject
completionAttestationobject
fileIntegrityobject
verifyobject
commandsobject[]

Changes

No recorded changes to this operation across all 2 revisions of this API.