social.colibri.beta.blob.get

Serves a blob from a permissioned space through the AppView, which holds the space credential the client does not. Every byte is verified against the CID before it is served, and the content type is sniffed rather than trusted. Supports HTTP range requests.

Repository @colibri.social did:plc:mprdjqjluoswa7awzggaggj3 namespace authority
Details · query
Kindquery
Authorityblob.beta.colibri.social
Indexed

Query

query · GET

Parameters

query string

cid

requiredstring · cid

The blob's CID.

did

requiredstring · did

DID of the repo holding the blob.

exp

integer

Unix time in seconds after which the media link stops working.

filename

string

Sets the download filename.

sig

string

Signature over did, cid, space, viewer and exp, which lets an img or video element load the blob without a bearer header.

space

string · space-ref

The space holding the blob. Required for a blob in a permissioned space, and omitted for one on a public repo.

variant

string

A rendition of a resizable image.

  • knownValues: thumbnail | avatar | banner | spaceBanner | full

viewer

string · did

Who the media link was signed for. Set by the AppView on a signed link, alongside exp and sig.

Output

*/*

Errors

AuthRequired

The request has no valid service auth.

Forbidden

The requesting user may not read the space holding the blob.

BlobNotFound

No blob matches the given DID and CID.

InvalidRequest

The arguments are inconsistent or malformed beyond schema validation.

UpstreamFailure

The repo's PDS failed while the AppView fetched the blob.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Get a blob by its CID from temporary R2 storage. Returns the raw binary content. The authenticated user's temporary blob is retrieved using their DID and the provided CID.

  • A picture or file in one of the group's spaces, for a caller the space lets read it: the host reads it from whoever wrote it, as the space's authority, so a page never reaches anyone's own server.

  • place.stream.playback.getVideoBlob

    query not from the namespace authority

    Fetch a content-addressed MUXL playback blob by CID. Serves either a primary fMP4 archive or a per-track init segment — both are CID-addressed and indistinguishable from the endpoint's point of view. HTTP `Range` headers are honored; HLS media playlists generated by getVideoPlaylist reference this endpoint with `EXT-X-BYTERANGE` to serve segments out of the primary blob. The `did` identifies the owning account for egress accounting: the blob itself is content-addressed and owner-agnostic, so the

  • Get a blob associated with a given account. Returns the full blob as originally uploaded. Does not require auth; implemented by PDS.

  • Get a blob by CID with boundary-based access control.