atproto blogging
1{
2 "lexicon": 1,
3 "id": "com.deckbelcher.deck.list",
4 "defs": {
5 "card": {
6 "type": "object",
7 "description": "A card entry in a decklist.",
8 "required": [
9 "scryfallId",
10 "quantity",
11 "section"
12 ],
13 "properties": {
14 "quantity": {
15 "type": "integer",
16 "description": "Number of copies in the deck.",
17 "minimum": 1
18 },
19 "scryfallId": {
20 "type": "string",
21 "description": "Scryfall UUID for the specific printing."
22 },
23 "section": {
24 "type": "string",
25 "description": "Which section of the deck this card belongs to. Extensible to support format-specific sections.",
26 "knownValues": [
27 "mainboard",
28 "sideboard",
29 "maybeboard",
30 "commander"
31 ]
32 },
33 "tags": {
34 "type": "array",
35 "description": "User annotations for this card in this deck (e.g., \"removal\", \"wincon\", \"ramp\").",
36 "items": {
37 "type": "string",
38 "description": "A tag annotation for a card.",
39 "maxLength": 640,
40 "maxGraphemes": 64
41 },
42 "maxLength": 128
43 }
44 }
45 },
46 "main": {
47 "type": "record",
48 "description": "A Magic: The Gathering decklist.",
49 "key": "tid",
50 "record": {
51 "type": "object",
52 "required": [
53 "name",
54 "cards",
55 "createdAt"
56 ],
57 "properties": {
58 "cards": {
59 "type": "array",
60 "description": "Array of cards in the decklist.",
61 "items": {
62 "type": "ref",
63 "ref": "#card"
64 }
65 },
66 "createdAt": {
67 "type": "string",
68 "description": "Timestamp when the decklist was created.",
69 "format": "datetime"
70 },
71 "format": {
72 "type": "string",
73 "description": "Format of the deck (e.g., \"commander\", \"cube\", \"pauper\").",
74 "maxLength": 320,
75 "maxGraphemes": 32
76 },
77 "name": {
78 "type": "string",
79 "description": "Name of the decklist.",
80 "maxLength": 1280,
81 "maxGraphemes": 128
82 },
83 "primer": {
84 "type": "string",
85 "description": "Deck primer with strategy, combos, and card choices.",
86 "maxLength": 100000,
87 "maxGraphemes": 10000
88 },
89 "primerFacets": {
90 "type": "array",
91 "description": "Annotations of text in the primer (mentions, URLs, hashtags, card references, etc).",
92 "items": {
93 "type": "ref",
94 "ref": "com.deckbelcher.richtext.facet"
95 }
96 },
97 "updatedAt": {
98 "type": "string",
99 "description": "Timestamp when the decklist was last updated.",
100 "format": "datetime"
101 }
102 }
103 }
104 }
105 }
106}