cards.sunshine.card

sunshine.cards

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A Sunshine Card's public details. The record key is the card's UID.",
      "key": "any",
      "record": {
        "properties": {
          "back": {
            "accept": [
              "image/*"
            ],
            "maxSize": 1000000,
            "type": "blob"
          },
          "collection": {
            "description": "The name of the collection this card is part of, like 'Autumn Market 2026'. Collections belong to the card's creator: two creators' collections with the same name are different collections.",
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "colors": {
            "description": "The card's colours, most prominent first, each an sRGB hex colour like #f4b400.",
            "items": {
              "maxLength": 7,
              "minLength": 7,
              "type": "string"
            },
            "maxLength": 3,
            "type": "array"
          },
          "counter": {
            "description": "The tag's read counter at the last accepted tap.",
            "maximum": 16777215,
            "minimum": 0,
            "type": "integer"
          },
          "front": {
            "accept": [
              "image/*"
            ],
            "maxSize": 1000000,
            "type": "blob"
          },
          "heteroriented": {
            "default": false,
            "description": "Whether the back is the opposite orientation to the front (true) or the same orientation (false).",
            "type": "boolean"
          },
          "record": {
            "description": "An associated record, embedded whole.",
            "type": "unknown"
          },
          "uid": {
            "description": "The tag's serial number, as 14 upper-case hex characters.",
            "maxLength": 14,
            "minLength": 14,
            "type": "string"
          },
          "url": {
            "description": "The URL anyone can visit when looking at this card collected in someone's account. It may be the same as the URL in the card's NFC (NDEF) record, or something different.",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "uid",
          "counter",
          "url"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "cards.sunshine.card",
  "lexicon": 1
}

Validate Record

Validate a record against cards.sunshine.card

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:web:sunshine.cards
CID
bafyreifv37lxak2n2im42ndyl3tvacujcjb3hmi7xequgmmctkkmicltb4
Indexed At
2026-10-13 07:11 UTC
AT-URI
at://did:web:sunshine.cards/com.atproto.lexicon.schema/cards.sunshine.card

Version History (4 versions)

Similar Lexicons

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

  • cards.sunshine.scan recordnot from the namespace authority

    Proof that this repo's owner scanned a Sunshine Card, signed by the instance that checked the tap. The record key is <creator DID>:<UID>:<counter>.

  • cards.sunshine.cardAdmin recordnot from the namespace authority

    A card's secrets, kept in its creator's deck. The record key is the card's UID, as 14 upper-case hex characters.

Lexicon Garden

@