app.certified.badge.definition

certified.app

Schema Diff

+5 -0

From

CID
bafyreidbmjx5j3o...
Indexed At
2026-02-18 18:01 UTC
View this version

To

CID
bafyreidv6ovmhyh...
Indexed At
2026-03-19 20:24 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

4 breaking changes, 0 non-breaking changes.

Breaking Changes (4)
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.definition:body.description", sort: "maxGraphemes", value: "500" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.definition:body.description", sort: "maxLength", value: "5000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.definition:body.badgeType", sort: "maxLength", value: "100" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.definition:body.title", sort: "maxLength", value: "256" }

Migration Guidance

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.definition:body.title", sort: "maxLength", value: "256" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.definition:body.badgeType", sort: "maxLength", value: "100" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.definition:body.description", sort: "maxLength", value: "5000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.definition:body.description", sort: "maxGraphemes", value: "500" }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "Defines a badge that can be awarded via badge award records to users, projects, or activity claims.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "allowedIssuers": {
10 10
            "description": "Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.",
11 11
            "items": {
12 12
              "ref": "app.certified.defs#did",
13 13
              "type": "ref"
14 14
            },
15 +
            "maxLength": 100,
15 16
            "type": "array"
16 17
          },
17 18
          "badgeType": {
18 19
            "description": "Category of the badge (e.g. endorsement, participation, affiliation).",
20 +
            "maxLength": 100,
19 21
            "type": "string"
20 22
          },
21 23
          "createdAt": {
22 24
            "description": "Client-declared timestamp when this record was originally created",
23 25
            "format": "datetime",
24 26
            "type": "string"
25 27
          },
26 28
          "description": {
27 29
            "description": "Optional short statement describing what the badge represents.",
30 +
            "maxGraphemes": 500,
31 +
            "maxLength": 5000,
28 32
            "type": "string"
29 33
          },
30 34
          "icon": {
31 35
            "accept": [
32 36
              "image/png",
33 37
              "image/jpeg",
34 38
              "image/webp",
35 39
              "image/svg+xml"
36 40
            ],
37 41
            "description": "Icon representing the badge, stored as a blob for compact visual display.",
38 42
            "maxSize": 1048576,
39 43
            "type": "blob"
40 44
          },
41 45
          "title": {
42 46
            "description": "Human-readable title of the badge.",
47 +
            "maxLength": 256,
43 48
            "type": "string"
44 49
          }
45 50
        },
46 51
        "required": [
47 52
          "title",
48 53
          "badgeType",
49 54
          "icon",
50 55
          "createdAt"
51 56
        ],
52 57
        "type": "object"
53 58
      },
54 59
      "type": "record"
55 60
    }
56 61
  },
57 62
  "id": "app.certified.badge.definition",
58 63
  "lexicon": 1
59 64
}

Compare Other Versions

Lexicon Garden

@