social.colibri.beta.emoji.defs

colibri.social

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "catalogView": {
      "description": "Every custom emoji and pack in one repo. For a community this is its own emoji. For a user it is the emoji they uploaded or copied.",
      "properties": {
        "emojis": {
          "description": "Every emoji in the repo.",
          "items": {
            "ref": "#emojiView",
            "type": "ref"
          },
          "type": "array"
        },
        "owner": {
          "description": "The repo the catalog belongs to.",
          "format": "did",
          "type": "string"
        },
        "packs": {
          "description": "Every pack in the repo.",
          "items": {
            "ref": "#packView",
            "type": "ref"
          },
          "type": "array"
        }
      },
      "required": [
        "owner",
        "emojis",
        "packs"
      ],
      "type": "object"
    },
    "emojiImage": {
      "description": "One stored rendition of an emoji.",
      "properties": {
        "animated": {
          "description": "Whether the format is animated.",
          "type": "boolean"
        },
        "cid": {
          "description": "The blob's CID in the owner's repo.",
          "format": "cid",
          "type": "string"
        },
        "format": {
          "description": "The image format.",
          "knownValues": [
            "png",
            "webp",
            "gif",
            "apng",
            "lottie",
            "other"
          ],
          "type": "string"
        },
        "mimeType": {
          "description": "The blob's MIME type.",
          "type": "string"
        },
        "pixels": {
          "description": "The rendition's longest edge in pixels, when the provider fixes one.",
          "minimum": 1,
          "type": "integer"
        },
        "size": {
          "description": "The blob's size in bytes.",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "cid",
        "format",
        "animated"
      ],
      "type": "object"
    },
    "emojiView": {
      "description": "A custom emoji, normalised from its provider's record.",
      "properties": {
        "adultOnly": {
          "description": "Whether the owner marked the emoji as adult content.",
          "type": "boolean"
        },
        "alt": {
          "description": "Alt text for the image.",
          "type": "string"
        },
        "cid": {
          "description": "The record's CID.",
          "format": "cid",
          "type": "string"
        },
        "copyOf": {
          "description": "The emoji this one was copied from.",
          "format": "at-uri",
          "type": "string"
        },
        "createdAt": {
          "description": "When the record was created.",
          "format": "datetime",
          "type": "string"
        },
        "fallback": {
          "description": "The text shown where the image cannot render.",
          "type": "string"
        },
        "images": {
          "description": "Every rendition the record carries.",
          "items": {
            "ref": "#emojiImage",
            "type": "ref"
          },
          "type": "array"
        },
        "name": {
          "description": "The name without colons.",
          "type": "string"
        },
        "owner": {
          "description": "The repo that holds the record and its blobs.",
          "format": "did",
          "type": "string"
        },
        "provider": {
          "description": "The emoji provider whose lexicon the record uses.",
          "knownValues": [
            "blue.moji"
          ],
          "type": "string"
        },
        "uri": {
          "description": "The emoji's record URI.",
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "provider",
        "owner",
        "name",
        "images",
        "createdAt"
      ],
      "type": "object"
    },
    "packView": {
      "description": "A named group of custom emoji, normalised from its provider's records.",
      "properties": {
        "createdAt": {
          "description": "When the record was created.",
          "format": "datetime",
          "type": "string"
        },
        "description": {
          "description": "The pack's description.",
          "type": "string"
        },
        "emojis": {
          "description": "The URIs of the emoji in the pack, in the order they were added. Only emoji present in the catalog are listed.",
          "items": {
            "format": "at-uri",
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "The pack's name.",
          "type": "string"
        },
        "owner": {
          "description": "The repo that holds the pack.",
          "format": "did",
          "type": "string"
        },
        "provider": {
          "description": "The emoji provider whose lexicon the record uses.",
          "knownValues": [
            "blue.moji"
          ],
          "type": "string"
        },
        "uri": {
          "description": "The pack's record URI.",
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "provider",
        "owner",
        "name",
        "emojis",
        "createdAt"
      ],
      "type": "object"
    }
  },
  "id": "social.colibri.beta.emoji.defs",
  "lexicon": 1
}

Validate Record

Validate a record against social.colibri.beta.emoji.defs

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:mprdjqjluoswa7awzggaggj3
CID
bafyreiebaa2mftpotkudbq5tyeyocwgtya6i23ii6sjfdqr7jjaxylhkku
Indexed At
2026-10-18 08:25 UTC
AT-URI
at://did:plc:mprdjqjluoswa7awzggaggj3/com.atproto.lexicon.schema/social.colibri.beta.emoji.defs

Version History (2 versions)

Similar Lexicons

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

  • social.colibri.beta.emoji.getCatalog querynot from the namespace authority

    Lists the custom emoji and packs in one repo, from every supported emoji provider. Works for communities and users alike, since the records are public.

  • Marks its author as following a custom emoji pack or a single custom emoji. Presence means following and deleting it means unfollowing. The user writes it into their own social.colibri.beta.actor.preferences space, so o…

  • 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.packs.pack recordnot from the namespace authority

    A shareable Bluemoji pack

Lexicon Garden

@