app.zeens.collectionItem

zeens.app

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A single item (post or article) inside a Zeens collection. The collection itself is referenced by its AT-URI. Removing an item is a record delete. Re-adding the same subject creates a new item record (clients should de-dupe by subject.uri at write time if needed).",
      "key": "tid",
      "record": {
        "properties": {
          "addedAt": {
            "format": "datetime",
            "type": "string"
          },
          "app.zeens.v": {
            "type": "integer"
          },
          "collection": {
            "description": "AT-URI of the parent app.zeens.collection record.",
            "format": "at-uri",
            "type": "string"
          },
          "images": {
            "description": "Post subjects only: the 0-based positions of the post's photos this item keeps, for someone filing only some photos of a multi-photo post. Absent means every photo. A selection naming none of the post's photos is treated as absent.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "note": {
            "description": "Optional note from the curator about why they added this item.",
            "maxLength": 280,
            "type": "string"
          },
          "subject": {
            "description": "Strong-ref to the post or article being collected. Subject can be any AT-URI; the AppView resolves what to render based on the URI's collection (app.bsky.feed.post or app.zeens.article).",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "submission": {
            "description": "Community collections only: the photographer's own collectionItem this item approves. While it is set, the item is shown only as long as that submission exists, so deleting the submission withdraws the photo.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          }
        },
        "required": [
          "collection",
          "subject",
          "addedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "app.zeens.collectionItem",
  "lexicon": 1
}

Validate Record

Validate a record against app.zeens.collectionItem

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:pwpuqwge6g7xrjmfbw73uycw
CID
bafyreifu5vimuimlxvsr2uppq2yz2nihazjmnekd5y7u37iplt5kyyaopq
Indexed At
2026-10-22 16:31 UTC
AT-URI
at://did:plc:pwpuqwge6g7xrjmfbw73uycw/com.atproto.lexicon.schema/app.zeens.collectionItem

Similar Lexicons

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

  • Written by a community collection's owner when a submitted photo does not qualify for it: either declined in review or removed after approval. Carries no reason; the collection's own rules are the reason. Resets the pho…

  • A user-curated collection (folder) of Zeens posts and articles. Visibility controls whether anyone other than the owner can see it via the AppView. The cover is the owner's chosen `coverPhoto` when set, otherwise the mo…

  • Record declaring the inclusion of a single material or a set of materials in a specific collection.

  • An item in a collection linking to a post

  • Tags one of the author's photo posts to an app.zeens.event, written to the author's own PDS. Only permitted when the author has an app.zeens.rsvp with status 'going' to that event AND the event has already ended; both g…

Lexicon Garden

@