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