social.showcase.collection.collection

lexicons.showcase.social

Schema Diff

+13 -22

From

CID
bafyreid42kvpozo...
Indexed At
2026-01-16 02:24 UTC
View this version

To

CID
bafyreicdrugdeu4...
Indexed At
2026-01-20 02:53 UTC
View this version
1 1
{
2 2
  "id": "social.showcase.collection.collection",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "name",
11 11
          "tags",
12 12
          "type",
13 13
          "items",
14 14
          "visibility",
15 15
          "createdAt"
16 16
        ],
17 17
        "properties": {
18 18
          "name": {
19 19
            "type": "string",
20 20
            "maxLength": 200,
21 21
            "description": "Collection name"
22 22
          },
23 23
          "tags": {
24 24
            "type": "array",
25 25
            "items": {
26 26
              "type": "string",
27 27
              "maxLength": 64
28 28
            },
29 29
            "maxLength": 10,
30 30
            "description": "Tags for discovery (max 10)"
31 31
          },
32 32
          "type": {
33 33
            "type": "string",
34 34
            "maxLength": 20,
35 -
            "description": "Collection type (bookmark is special/hardcoded)",
35 +
            "description": "Collection type: 'custom' = regular collection (user's owned items only), 'bookmark' = bookmark collection (can include other users' items as references)",
36 36
            "knownValues": [
37 37
              "custom",
38 38
              "bookmark"
39 39
            ]
40 40
          },
41 41
          "items": {
42 42
            "type": "array",
43 43
            "items": {
44 -
              "type": "object",
45 -
              "required": [
46 -
                "uri",
47 -
                "addedAt",
48 -
                "order"
49 -
              ],
50 -
              "properties": {
51 -
                "uri": {
52 -
                  "type": "string",
53 -
                  "maxLength": 8192,
54 -
                  "description": "AT-URI reference to item (always shows latest version)"
55 -
                },
56 -
                "order": {
57 -
                  "type": "integer",
58 -
                  "description": "For custom sorting"
59 -
                },
60 -
                "addedAt": {
61 -
                  "type": "string",
62 -
                  "format": "datetime"
63 -
                }
64 -
              }
44 +
              "ref": "social.showcase.defs#collectionItem",
45 +
              "type": "ref"
65 46
            },
66 47
            "maxLength": 500,
67 48
            "description": "Ordered list of items (max 500)"
68 49
          },
50 +
          "notes": {
51 +
            "type": "string",
52 +
            "maxLength": 2000,
53 +
            "description": "Personal notes about the collection"
54 +
          },
69 55
          "createdAt": {
70 56
            "type": "string",
71 57
            "format": "datetime"
72 58
          },
73 59
          "updatedAt": {
74 60
            "type": "string",
75 61
            "format": "datetime"
76 62
          },
77 63
          "coverImage": {
78 64
            "type": "blob",
79 65
            "accept": [
80 66
              "image/png",
81 67
              "image/jpeg",
82 68
              "image/webp"
83 69
            ],
84 70
            "maxSize": 5000000,
85 71
            "description": "Optional custom cover image (1600x900px max, auto-generated if not provided)"
86 72
          },
87 73
          "visibility": {
88 74
            "type": "string",
89 75
            "maxLength": 10,
90 76
            "knownValues": [
91 77
              "public",
92 78
              "private"
93 79
            ]
94 80
          },
95 81
          "description": {
96 82
            "type": "string",
97 83
            "maxLength": 1000,
98 84
            "description": "Collection description"
85 +
          },
86 +
          "schemaVersion": {
87 +
            "type": "integer",
88 +
            "default": 1,
89 +
            "description": "Schema version for migrations (defaults to 1 if missing)"
99 90
          }
100 91
        }
101 92
      },
102 93
      "description": "Collection record"
103 94
    }
104 95
  },
105 96
  "$type": "com.atproto.lexicon.schema",
106 97
  "lexicon": 1
107 98
}

Compare Other Versions

Lexicon Garden

@