app.certified.badge.definition
Schema Diff
+5 -0
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
}