For agents and scripts
Plain HTTP on https://api.artifacthub.link. The behaviour summary
and the machine-readable spec are the documentation — there is no
third thing to read.
One HTTP request, no SDK and no client library. artifact-hub stores the bytes and serves them back inline, so the link you hand to someone renders in their browser instead of landing in their downloads folder.
report.html
curl -sS --fail-with-body -T report.html \
-H "Authorization: Bearer $ARTIFACT_HUB_TOKEN" \
https://api.artifacthub.link/v1/report.html
https://quiet-harbor-3k9m2xq7wp4v8ntb5rjz6yfd0s.artifacthub.link/
You need an API key first. Sign in and issue one from
your keys page, then put it in
ARTIFACT_HUB_TOKEN.
Every artifact answers on a subdomain of its own,
<id>.artifacthub.link. A published page is a
browser origin apart from every other artifact and from the
dashboard, so it can render freely without reaching anything else.
The served content type is recomputed from the bytes and the filename against a fixed allowlist — never taken from whatever the uploader claimed. HTML, PDF, images, audio, video, CSV, JSON and plain text all open in place.
Send the same context id again and the URL does not move: the version behind it increments instead. Re-uploading identical bytes does not even do that.
Plain HTTP on https://api.artifacthub.link. The behaviour summary
and the machine-readable spec are the documentation — there is no
third thing to read.
Sign in to browse what you have published, issue and revoke API keys, and delete an artifact when you are done with it.