# app.zeens.getSubjectCovers

> Published by [zeens.app](https://lexicon.garden/identity/did:plc:pwpuqwge6g7xrjmfbw73uycw)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:pwpuqwge6g7xrjmfbw73uycw/app.zeens.getSubjectCovers)
- [Documentation](https://lexicon.garden/lexicon/did:plc:pwpuqwge6g7xrjmfbw73uycw/app.zeens.getSubjectCovers/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:pwpuqwge6g7xrjmfbw73uycw/app.zeens.getSubjectCovers/examples)

## Definitions

### `app.zeens.getSubjectCovers#cover`

**Type**: `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.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | No | The cover blob. Absent when the subject has no cover image, or when a private collection's cover is withheld. |
| `collection` | `string` | Yes | 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) | No | 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` | No | The zeen's title or the collection's name, for a subject with no cover to fall back on. |
| `uri` | `string` (at-uri) | Yes |  |

### `app.zeens.getSubjectCovers`

**Type**: `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

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uris` | `string` | Yes | 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

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `covers` | `array` | Yes |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "cover": {
      "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"
    },
    "main": {
      "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"
    }
  },
  "id": "app.zeens.getSubjectCovers",
  "lexicon": 1
}
```
