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.
Details · query
| Kind | query |
|---|---|
| Authority | blob.beta.colibri.social |
| Indexed |
Query
query · GETParameters
query stringThe blob's CID.
DID of the repo holding the blob.
exp
integerUnix time in seconds after which the media link stops working.
filename
stringSets the download filename.
sig
stringSignature over did, cid, space, viewer and exp, which lets an img or video element load the blob without a bearer header.
space
string · space-refThe space holding the blob. Required for a blob in a permissioned space, and omitted for one on a public repo.
variant
stringA rendition of a resizable image.
knownValues: thumbnail | avatar | banner | spaceBanner | full
viewer
string · didWho 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 matchLexicons 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.
-
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
-
com.atproto.sync.getBlob
queryGet 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.