app.zeens.post

zeens.app

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A Zeens-only photo post. Structurally a subset of app.bsky.feed.post, but written to a Zeens-owned collection so it is NOT indexed by the Bluesky AppView and never appears on Bluesky. Used when the creator disables 'Post to Bluesky'. Carries the same app.zeens.v marker and supports the full Zeens feature set (likes, reposts, replies, collections, search, EXIF, film, location) via app.zeens.postMeta, which references this record by AT-URI.",
      "key": "tid",
      "record": {
        "properties": {
          "app.zeens.film": {
            "description": "Present (value 1) when the post is marked as a film/analog shot.",
            "type": "integer"
          },
          "app.zeens.v": {
            "description": "Zeens version marker (always 1). Lets firehose + Lua filters recognise Zeens content.",
            "type": "integer"
          },
          "createdAt": {
            "description": "Client-declared timestamp when this post was originally created.",
            "format": "datetime",
            "type": "string"
          },
          "embed": {
            "description": "Image embed. Reuses Bluesky embed lexicons so existing image-rendering paths work unchanged.",
            "refs": [
              "app.bsky.embed.images",
              "app.bsky.embed.recordWithMedia"
            ],
            "type": "union"
          },
          "facets": {
            "description": "Rich-text facets (mentions, links, tags) over text, reusing the Bluesky richtext lexicon.",
            "items": {
              "ref": "app.bsky.richtext.facet",
              "type": "ref"
            },
            "type": "array"
          },
          "langs": {
            "description": "Indicates language(s) of the caption text.",
            "items": {
              "format": "language",
              "type": "string"
            },
            "maxLength": 3,
            "type": "array"
          },
          "reply": {
            "description": "Reply metadata for Zeens-only threads. parent/root reference app.zeens.post URIs.",
            "ref": "#replyRef",
            "type": "ref"
          },
          "text": {
            "description": "Caption text. Matches app.bsky.feed.post#text semantics.",
            "maxGraphemes": 300,
            "maxLength": 3000,
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "app.zeens.v"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "replyRef": {
      "properties": {
        "parent": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        },
        "root": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        }
      },
      "required": [
        "root",
        "parent"
      ],
      "type": "object"
    }
  },
  "id": "app.zeens.post",
  "lexicon": 1
}

Validate Record

Validate a record against app.zeens.post

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

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

Referenced Schemas (3)

Similar Lexicons

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

  • Record containing a Bluesky post.

  • A post that can be created in the world of Anisota

  • town.delve.feed.post recordnot from the namespace authority

    Record containing a Bluesky post.

  • Record containing a GainForest feed post. A faithful port of app.bsky.feed.post into the app.gainforest.feed namespace. A reply (i.e. a 'comment') is a post that carries a `reply` ref; because that ref uses com.atproto.…

  • Record containing a private Stratos post with domain boundary restrictions. When stored on user's PDS as a stub, only 'source' and 'createdAt' are present. Full content is available from the hydration service.

Lexicon Garden

@