Tearleads

GET/blobs/{blobId}/download

Get a blob download source

Operation blobs.download.get

Description

Returns a committed blob's byte length, SHA-256 digest, and where to fetch its encrypted bytes: a five-minute signed object-store URL, or this API's /bytes route when the store cannot sign. Requires read access through at least one active attachment binding's document. Key material comes from the attachment listing, never from this response.

Authentication

Requires a signed-in session: the client sends its session token as a bearer token in the Authorization header.

Parameters

NameInTypeDetails
blobIdpathstringrequired
  • UUID

Responses

200 OK

application/jsonobject

4 fields
  • blobIdstringrequired
    • UUID
  • byteLengthintegerrequired
    • at least 0
  • sha256stringrequired
    • exactly 64 characters
    • lowercase hexadecimal
  • sourceone of: object, objectrequired
    1. object
      1 field
      • kindstringrequired
        • always api
    2. object
      3 fields
      • kindstringrequired
        • always signed-url
      • urlstringrequired
        • an http or https URL
      • expiresAtstringrequired
        • an ISO 8601 date and time
        • pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$

Other responses

StatusMeaningBody
400Bad Request

application/jsonErrorResponse

401Unauthorized

application/jsonSessionFailureResponse

403Forbidden

application/jsonErrorResponse

404Not Found

application/jsonErrorResponse

409Conflict

application/jsonErrorResponse

500Internal Server Error

application/jsonErrorResponse

503Service Unavailable

application/jsonErrorResponse