HEAD /v1/actions/registry/blobs/{digest}
Answers 200 with the archive's Content-Length when the blob store holds digest, else 404 (a HEAD answer carries no body). b3os tool publish asks before it uploads. Needs the actions.tools flag and the scope actions:tools:publish.

Authentication

Bearer Token (b3os_sk_ API key or b3os_pat_ token)

Path Parameters

digest string required path
sha256: and the lowercase hex sha256 of the archive, as tool.bundle.archive.sha256 names it.
Pattern ^sha256:[0-9a-f]{64}$
Example: "sha256:edb7bec9998ac7cd5a6aea7700bd35f333a3b4d4edb11e01ca92226d0e52243d"

Responses

200 The archive is stored.

No response body

400 The request failed validation (invalid_request, invalid_url).
401 Missing, malformed, expired or revoked credentials (unauthorized).
403 Authenticated but not allowed (forbidden, egress_denied).
404 The object does not exist or belongs to another project.
429 A rate, concurrency or quota limit applies (rate_limited, concurrency_limited, quota_exceeded).
500 Something failed inside B3OS (internal). Retry with backoff.
503 The node or the product is not available right now (node_unavailable, product_unavailable, capacity_unavailable).
curl -X HEAD 'https://beta-api.b3os.org/v1/actions/registry/blobs/sha256:edb7bec9998ac7cd5a6aea7700bd35f333a3b4d4edb11e01ca92226d0e52243d' \  -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://beta-api.b3os.org/v1/actions/registry/blobs/sha256:edb7bec9998ac7cd5a6aea7700bd35f333a3b4d4edb11e01ca92226d0e52243d', {  method: 'HEAD',  headers: {      "Authorization": "Bearer YOUR_API_TOKEN"  }});const data = await response.json();console.log(data);
import requestsheaders = {    'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.head('https://beta-api.b3os.org/v1/actions/registry/blobs/sha256:edb7bec9998ac7cd5a6aea7700bd35f333a3b4d4edb11e01ca92226d0e52243d', headers=headers)print(response.json())
400 Response
{  "type": "https://docs.beta.b3os.org/errors#invalid_request",  "title": "Invalid request",  "status": 400,  "code": "invalid_request",  "detail": "1 field failed validation",  "instance": "req_01m5t4yg394wegr3j4y01qb363",  "errors": [    {      "pointer": "/url",      "detail": "must be an absolute http or https URL"    }  ]}
Ask a question... ⌘I