app.zeens.getSubjectCovers

zeens.app

Documentation

Cover thumbnails for a batch of zeen / collection URIs. Deliberately narrow -- URIs in, cover refs out -- so a notifications list can draw a preview per row without a round trip each. getCollection takes one uri and returns the whole record plus an item count; a zeen had no AppView read at all and getZeen goes to the author's PDS for every page's full text to find one cid.

main query

Cover thumbnails for a batch of zeen / collection URIs. Deliberately narrow -- URIs in, cover refs out -- so a notifications list can draw a preview per row without a round trip each. getCollection takes one uri and returns the whole record plus an item count; a zeen had no AppView read at all and getZeen goes to the author's PDS for every page's full text to find one cid.

Parameters

uris string Required

Comma-separated AT-URIs, up to 50 (the notifications page size). Values beyond that are ignored. Mixed lexicons are expected: a notifications page holds zeen likes and collection likes together.

Output

Encodingapplication/json
covers array Required

No description available.

Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
Parameters
Comma-separated AT-URIs, up to 50 (the notifications page size). Values beyond that are ignored. Mixed lexicons are expected: a notifications page holds zeen likes and collection likes together.
View raw schema
{
  "description": "Cover thumbnails for a batch of zeen / collection URIs. Deliberately narrow -- URIs in, cover refs out -- so a notifications list can draw a preview per row without a round trip each. getCollection takes one uri and returns the whole record plus an item count; a zeen had no AppView read at all and getZeen goes to the author's PDS for every page's full text to find one cid.",
  "output": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "covers": {
          "items": {
            "ref": "#cover",
            "type": "ref"
          },
          "type": "array"
        }
      },
      "required": [
        "covers"
      ],
      "type": "object"
    }
  },
  "parameters": {
    "properties": {
      "uris": {
        "description": "Comma-separated AT-URIs, up to 50 (the notifications page size). Values beyond that are ignored. Mixed lexicons are expected: a notifications page holds zeen likes and collection likes together.",
        "type": "string"
      }
    },
    "required": [
      "uris"
    ],
    "type": "params"
  },
  "type": "query"
}
cover object

One subject. Returned even when it has no cover image, so a caller can tell a subject with no picture from a URI it could not resolve.

Properties

cid string cid Optional

The cover blob. Absent when the subject has no cover image, or when a private collection's cover is withheld.

collection string Required

The subject's NSID: app.zeens.zeen or app.zeens.collection. The caller draws a zeen at its 1:1.414 page ratio and a collection square.

did string did Optional

The repo the blob lives on, which is NOT always the subject's author -- a zeen page can hold another user's photo, and the CDN needs the owning repo.

title string Optional

The zeen's title or the collection's name, for a subject with no cover to fall back on.

uri string at-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

View raw schema
{
  "description": "One subject. Returned even when it has no cover image, so a caller can tell a subject with no picture from a URI it could not resolve.",
  "properties": {
    "cid": {
      "description": "The cover blob. Absent when the subject has no cover image, or when a private collection's cover is withheld.",
      "format": "cid",
      "type": "string"
    },
    "collection": {
      "description": "The subject's NSID: app.zeens.zeen or app.zeens.collection. The caller draws a zeen at its 1:1.414 page ratio and a collection square.",
      "type": "string"
    },
    "did": {
      "description": "The repo the blob lives on, which is NOT always the subject's author -- a zeen page can hold another user's photo, and the CDN needs the owning repo.",
      "format": "did",
      "type": "string"
    },
    "title": {
      "description": "The zeen's title or the collection's name, for a subject with no cover to fall back on.",
      "type": "string"
    },
    "uri": {
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "uri",
    "collection"
  ],
  "type": "object"
}

Lexicon Garden

@