blue.moji.embed.sticker

moji.blue

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "formats_v0": {
      "description": "CIDs of the full-size (512px-class) blobs stored in the sticker owner's repo under blue.moji.collection.item stickerFormats. CID-only, like blue.moji.richtext.facet#formats_v1, because blobs cannot be referenced across repos.",
      "properties": {
        "apng_512": {
          "format": "cid",
          "type": "string"
        },
        "gif_512": {
          "format": "cid",
          "type": "string"
        },
        "lottie": {
          "format": "cid",
          "type": "string"
        },
        "png_512": {
          "format": "cid",
          "type": "string"
        },
        "webp_512": {
          "format": "cid",
          "type": "string"
        }
      },
      "type": "object"
    },
    "main": {
      "description": "A full-sized Bluemoji sticker attached to a post as media, in the style of app.bsky.embed.external. References a blue.moji.collection.item record in the sticker owner's repo.",
      "properties": {
        "sticker": {
          "ref": "#sticker",
          "type": "ref"
        }
      },
      "required": [
        "sticker"
      ],
      "type": "object"
    },
    "sticker": {
      "description": "SECURITY: did/name/formats are self-attested by the posting client, like blue.moji.richtext.facet. Verify against the record strongRef (or by re-deriving the rkey from name and looking up did's blue.moji.collection.item) before rendering an image, if the render surface matters for trust.",
      "properties": {
        "alt": {
          "description": "Alt text description of the sticker, for accessibility.",
          "type": "string"
        },
        "aspectRatio": {
          "ref": "app.bsky.embed.defs#aspectRatio",
          "type": "ref"
        },
        "did": {
          "description": "DID of the repo that owns the sticker record. Combined with the format CIDs to construct blob/CDN URLs without a getRecord round-trip, mirroring blue.moji.richtext.facet. Self-attested; see security note on this object.",
          "format": "did",
          "type": "string"
        },
        "formats": {
          "closed": false,
          "description": "CIDs of the full-size sticker renditions. Open union to allow future formats.",
          "refs": [
            "#formats_v0"
          ],
          "type": "union"
        },
        "name": {
          "description": "Colon-wrapped alias of the source Bluemoji (e.g. :blobcat:). Implementers should use this as fallback text when assets are unavailable.",
          "type": "string"
        },
        "record": {
          "description": "Strong reference to the source blue.moji.collection.item record. Use this as the verification anchor: resolve it and compare formats before trusting this embed's claims.",
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        }
      },
      "required": [
        "did",
        "name",
        "formats"
      ],
      "type": "object"
    },
    "view": {
      "properties": {
        "sticker": {
          "ref": "#viewSticker",
          "type": "ref"
        }
      },
      "required": [
        "sticker"
      ],
      "type": "object"
    },
    "viewSticker": {
      "properties": {
        "alt": {
          "type": "string"
        },
        "aspectRatio": {
          "ref": "app.bsky.embed.defs#aspectRatio",
          "type": "ref"
        },
        "fullsize": {
          "description": "Fully-qualified URL of the full-size sticker asset.",
          "format": "uri",
          "type": "string"
        },
        "labels": {
          "description": "AppViews producing this view MUST populate labels (and reflect the source item's adultOnly) from the verified blue.moji.collection.item record, not from the embed's own self-attested fields — see the security note on #sticker. Consumers SHOULD warn or blur before rendering fullsize/thumb when present.",
          "items": {
            "ref": "com.atproto.label.defs#label",
            "type": "ref"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        },
        "record": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        },
        "thumb": {
          "description": "URL of the 128px inline-emoji rendition, if available.",
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "fullsize",
        "name"
      ],
      "type": "object"
    }
  },
  "id": "blue.moji.embed.sticker",
  "lexicon": 1
}

Validate Record

Validate a record against blue.moji.embed.sticker

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

Metadata

DID
did:plc:kmzpsik7s5y5fwu7nnkngfx4
CID
bafyreife6vwe2elhyb32sp7e5t2sgwglx324o32upb6hbopvruofdgrv4q
Indexed At
2026-07-26 20:11 UTC
AT-URI
at://did:plc:kmzpsik7s5y5fwu7nnkngfx4/com.atproto.lexicon.schema/blue.moji.embed.sticker

Referenced Schemas (2)

Similar Lexicons

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

  • blue.moji.collection.item recordnot from the namespace authority

    A custom emoji. The record key is the canonical alias for ASCII aliases, or its RFC 3492 Punycode encoding (xn-- prefixed) for internationalised aliases; see Bluemoji RFC 0005.

  • blue.moji.richtext.facet objectnot from the namespace authority

    SECURITY: did/name/formats/adultOnly/labels are all self-attested by the posting client at write time and are not re-validated by the PDS. Consumers that render an image from this facet without first verifying it agains…

  • Definition of a sticker

  • blue.moji.feed.reaction recordnot from the namespace authority

    A custom-emoji reaction to a post. Analogous to app.bsky.feed.like, but the reaction glyph is a Bluemoji. Duplicate reactions (same subject + same emoji URI by the same actor) should be ignored by AppViews.

  • A set of images embedded in a Bluesky record (eg, a post).

Lexicon Garden

@