social.nstar.provider.declaration
Schema Diff
+20 -7
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 4 non-breaking changes.
Breaking Changes (3)
- KindChanged KindChanged { vertex_id: "social.nstar.provider.declaration:body.services:items", old_kind: "string", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxLength", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxGraphemes", value: "640" }
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "social.nstar.provider.declaration#service.id" }
- AddedVertex AddedVertex { vertex_id: "social.nstar.provider.declaration#service.uri" }
- AddedEdge AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.id", kind: "prop", name: Some("id") }
- AddedEdge AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.uri", kind: "prop", name: Some("uri") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "social.nstar.provider.declaration#service.id" }AddedVertex { vertex_id: "social.nstar.provider.declaration#service.uri" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxLength", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxGraphemes", value: "640" }
Additional Notes
- Breaking: KindChanged { vertex_id: "social.nstar.provider.declaration:body.services:items", old_kind: "string", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.id", kind: "prop", name: Some("id") }
- Non-breaking: AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.uri", kind: "prop", name: Some("uri") }
1
1
{
2
2
"id": "social.nstar.provider.declaration",
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
"did",
11
11
"legalName",
12
12
"displayName",
13
13
"description",
14
14
"services",
15
15
"theme",
16
16
"links",
17
17
"contact"
18
18
],
19
19
"properties": {
20
20
"did": {
21
21
"type": "string",
22
22
"format": "uri",
23
23
"description": "Provider's DID document containing 1 or more of following services: #atproto_pds, #appview_bsky, #appview_notif"
24
24
},
25
25
"links": {
26
26
"ref": "#links",
27
27
"type": "ref",
28
28
"description": "URLs of the providers website and service policy documents."
29
29
},
30
30
"theme": {
31
31
"ref": "#theme",
32
32
"type": "ref",
33
33
"description": "URLs of the providers website and service policy documents."
34
34
},
35
35
"contact": {
36
36
"ref": "#contact",
37
37
"type": "ref",
38
38
"description": "Provider's contact information"
39
39
},
40
40
"services": {
41
41
"type": "array",
42
42
"items": {
43
-
"type": "string",
44
-
"knownValues": [
45
-
"atproto_pds",
46
-
"bsky_appview",
47
-
"bsky_notif"
48
-
]
43
+
"ref": "#service",
44
+
"type": "ref"
49
45
},
50
46
"description": "The services offered by the provider as listed in the provider's DID document."
51
47
},
52
48
"legalName": {
53
49
"type": "string",
54
50
"maxLength": 64,
55
51
"description": "Provider's full legal name",
56
52
"maxGraphemes": 640
57
53
},
58
54
"description": {
59
55
"type": "string",
60
56
"maxLength": 256,
61
57
"description": "Description of the services distinguish and are offered by provider.",
62
58
"maxGraphemes": 2560
63
59
},
64
60
"displayName": {
65
61
"type": "string",
66
62
"maxLength": 15,
67
63
"description": "Abbreviated name for displaying in limited UI space presentations (e.g. button label).",
68
64
"maxGraphemes": 150
69
65
}
70
66
}
71
67
},
72
68
"description": "A declaration of an Atmosphere service provider."
73
69
},
74
70
"links": {
75
71
"type": "object",
76
72
"required": [
77
73
"website",
78
74
"privacyPolicy",
79
75
"termsOfService"
80
76
],
81
77
"properties": {
82
78
"website": {
83
79
"type": "string",
84
80
"format": "uri",
85
81
"description": "Provider's website reference."
86
82
},
87
83
"privacyPolicy": {
88
84
"type": "string",
89
85
"format": "uri",
90
86
"description": "Link reference to the provider's privacy policy."
91
87
},
92
88
"termsOfService": {
93
89
"type": "string",
94
90
"format": "uri",
95
91
"description": "Link reference to the provider's terms of service."
96
92
}
97
93
}
98
94
},
99
95
"theme": {
100
96
"type": "object",
101
97
"properties": {
102
98
"logoPNG": {
103
99
"type": "string",
104
100
"maxLength": 4096,
105
101
"description": "Providers branded logo in PNG format (base64 encoded). Optional.",
106
102
"maxGraphemes": 40960
107
103
},
108
104
"logoSVG": {
109
105
"type": "string",
110
106
"maxLength": 4096,
111
107
"description": "Providers branded template logo in SVG format. Optional.",
112
108
"maxGraphemes": 40960
113
109
},
114
110
"colorDark": {
115
111
"type": "string",
116
112
"maxLength": 7,
117
113
"description": "HEX color code to use in dark mode presentations. Optional.",
118
114
"maxGraphemes": 70
119
115
},
120
116
"colorLight": {
121
117
"type": "string",
122
118
"maxLength": 7,
123
119
"description": "HEX color code to use in light mode presentations. Optional.",
124
120
"maxGraphemes": 70
125
121
}
126
122
}
127
123
},
128
124
"contact": {
129
125
"type": "object",
130
126
"required": [
131
127
"email"
132
128
],
133
129
"properties": {
134
130
"email": {
135
131
"type": "string",
136
132
"description": "Provider's support email address."
137
133
},
138
134
"phone": {
139
135
"type": "string",
140
136
"description": "Provider's support phone number."
141
137
}
142
138
}
143
139
},
144
140
"service": {
145
-
"type": "object"
141
+
"type": "object",
142
+
"required": [
143
+
"id",
144
+
"uri"
145
+
],
146
+
"properties": {
147
+
"id": {
148
+
"type": "string",
149
+
"maxLength": 64,
150
+
"description": "A service identifier",
151
+
"maxGraphemes": 640
152
+
},
153
+
"uri": {
154
+
"type": "string",
155
+
"format": "uri",
156
+
"description": "Service identifier's URI"
157
+
}
158
+
}
146
159
}
147
160
},
148
161
"$type": "com.atproto.lexicon.schema",
149
162
"lexicon": 1,
150
163
"createdAt": "2026-04-19T22:58:04.496Z"
151
164
}