social.nstar.provider.declaration
Schema Diff
+22 -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: "maxGraphemes", value: "640" }
- ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxLength", value: "64" }
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": "lex:social.nstar.actor.declaration#service",
44
+
"type": "ref"
49
45
},
46
+
"maxLength": 100,
47
+
"minLength": 1,
50
48
"description": "The services offered by the provider as listed in the provider's DID document."
51
49
},
52
50
"legalName": {
53
51
"type": "string",
54
52
"maxLength": 64,
55
53
"description": "Provider's full legal name",
56
54
"maxGraphemes": 640
57
55
},
58
56
"description": {
59
57
"type": "string",
60
58
"maxLength": 256,
61
59
"description": "Description of the services distinguish and are offered by provider.",
62
60
"maxGraphemes": 2560
63
61
},
64
62
"displayName": {
65
63
"type": "string",
66
64
"maxLength": 15,
67
65
"description": "Abbreviated name for displaying in limited UI space presentations (e.g. button label).",
68
66
"maxGraphemes": 150
69
67
}
70
68
}
71
69
},
72
70
"description": "A declaration of an Atmosphere service provider."
73
71
},
74
72
"links": {
75
73
"type": "object",
76
74
"required": [
77
75
"website",
78
76
"privacyPolicy",
79
77
"termsOfService"
80
78
],
81
79
"properties": {
82
80
"website": {
83
81
"type": "string",
84
82
"format": "uri",
85
83
"description": "Provider's website reference."
86
84
},
87
85
"privacyPolicy": {
88
86
"type": "string",
89
87
"format": "uri",
90
88
"description": "Link reference to the provider's privacy policy."
91
89
},
92
90
"termsOfService": {
93
91
"type": "string",
94
92
"format": "uri",
95
93
"description": "Link reference to the provider's terms of service."
96
94
}
97
95
}
98
96
},
99
97
"theme": {
100
98
"type": "object",
101
99
"properties": {
102
100
"logoPNG": {
103
101
"type": "string",
104
102
"maxLength": 4096,
105
103
"description": "Providers branded logo in PNG format (base64 encoded). Optional.",
106
104
"maxGraphemes": 40960
107
105
},
108
106
"logoSVG": {
109
107
"type": "string",
110
108
"maxLength": 4096,
111
109
"description": "Providers branded template logo in SVG format. Optional.",
112
110
"maxGraphemes": 40960
113
111
},
114
112
"colorDark": {
115
113
"type": "string",
116
114
"maxLength": 7,
117
115
"description": "HEX color code to use in dark mode presentations. Optional.",
118
116
"maxGraphemes": 70
119
117
},
120
118
"colorLight": {
121
119
"type": "string",
122
120
"maxLength": 7,
123
121
"description": "HEX color code to use in light mode presentations. Optional.",
124
122
"maxGraphemes": 70
125
123
}
126
124
}
127
125
},
128
126
"contact": {
129
127
"type": "object",
130
128
"required": [
131
129
"email"
132
130
],
133
131
"properties": {
134
132
"email": {
135
133
"type": "string",
136
134
"description": "Provider's support email address."
137
135
},
138
136
"phone": {
139
137
"type": "string",
140
138
"description": "Provider's support phone number."
141
139
}
142
140
}
143
141
},
144
142
"service": {
145
-
"type": "object"
143
+
"type": "object",
144
+
"required": [
145
+
"id",
146
+
"uri"
147
+
],
148
+
"properties": {
149
+
"id": {
150
+
"type": "string",
151
+
"maxLength": 64,
152
+
"description": "A service identifier (eg atproto_pds, bsky_appview, bsky_notif, plc_dir)",
153
+
"maxGraphemes": 640
154
+
},
155
+
"uri": {
156
+
"type": "string",
157
+
"format": "uri",
158
+
"description": "Service identifier's URI"
159
+
}
160
+
}
146
161
}
147
162
},
148
163
"$type": "com.atproto.lexicon.schema",
149
164
"lexicon": 1,
150
165
"createdAt": "2026-04-19T22:58:04.496Z"
151
166
}