zone.stratos.sync.subscribeRecords
Schema Diff
+1 -5
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"commit": {
5
5
"description": "A commit event containing record operations.",
6
6
"properties": {
7
7
"did": {
8
8
"description": "The DID of the account.",
9
9
"format": "did",
10
10
"type": "string"
11
11
},
12
12
"ops": {
13
13
"description": "List of record operations in this commit.",
14
14
"items": {
15
15
"ref": "#recordOp",
16
16
"type": "ref"
17
17
},
18
18
"type": "array"
19
19
},
20
20
"rev": {
21
21
"description": "The repo revision.",
22
22
"format": "tid",
23
23
"type": "string"
24
24
},
25
25
"seq": {
26
26
"description": "The sequence number of this event.",
27
27
"type": "integer"
28
28
},
29
29
"time": {
30
30
"description": "Timestamp of when the event was sequenced.",
31
31
"format": "datetime",
32
32
"type": "string"
33
33
}
34
34
},
35
35
"required": [
36
36
"seq",
37
37
"did",
38
38
"time",
39
39
"rev",
40
40
"ops"
41
41
],
42
42
"type": "object"
43
43
},
44
44
"enrollment": {
45
45
"description": "An enrollment event indicating a user has enrolled or unenrolled from the service.",
46
46
"properties": {
47
47
"action": {
48
48
"description": "The enrollment action.",
49
49
"knownValues": [
50
50
"enroll",
51
51
"unenroll"
52
52
],
53
53
"maxLength": 32,
54
54
"type": "string"
55
55
},
56
56
"boundaries": {
57
57
"description": "The boundaries assigned to the user.",
58
58
"items": {
59
59
"type": "string"
60
60
},
61
61
"type": "array"
62
62
},
63
63
"did": {
64
64
"description": "The DID of the user.",
65
65
"format": "did",
66
66
"type": "string"
67
67
},
68
68
"service": {
69
69
"description": "The Stratos service endpoint URL.",
70
70
"format": "uri",
71
71
"type": "string"
72
72
},
73
73
"time": {
74
74
"description": "Timestamp of the enrollment event.",
75
75
"format": "datetime",
76
76
"type": "string"
77
77
}
78
78
},
79
79
"required": [
80
80
"did",
81
81
"action",
82
82
"time"
83
83
],
84
84
"type": "object"
85
85
},
86
86
"info": {
87
87
"description": "An informational message about the subscription state.",
88
88
"properties": {
89
89
"message": {
90
90
"description": "Additional details about the info message.",
91
91
"maxLength": 1024,
92
92
"type": "string"
93
93
},
94
94
"name": {
95
95
"description": "The type of info message.",
96
96
"knownValues": [
97
97
"OutdatedCursor"
98
98
],
99
99
"maxLength": 128,
100
100
"type": "string"
101
101
}
102
102
},
103
103
"required": [
104
104
"name"
105
105
],
106
106
"type": "object"
107
107
},
108
108
"main": {
109
-
"description": "Subscribe to stratos events. When 'did' is provided, subscribes to record updates for that account. When omitted, subscribes to service-level events (enrollments). AppViews must provide a signed service JWT via syncToken.",
109
+
"description": "Subscribe to stratos events. When 'did' is provided, subscribes to record updates for that account. When omitted, subscribes to service-level events (enrollments). Callers must authenticate with a signed service JWT via the Authorization: Bearer header.",
110
110
"errors": [
111
111
{
112
112
"description": "Cursor is in the future.",
113
113
"name": "FutureCursor"
114
114
},
115
115
{
116
116
"description": "Authentication is required.",
117
117
"name": "AuthRequired"
118
118
}
119
119
],
120
120
"message": {
121
121
"schema": {
122
122
"refs": [
123
123
"#commit",
124
124
"#enrollment",
125
125
"#info"
126
126
],
127
127
"type": "union"
128
128
}
129
129
},
130
130
"parameters": {
131
131
"properties": {
132
132
"cursor": {
133
133
"description": "The last known event sequence number to resume from.",
134
134
"type": "integer"
135
135
},
136
136
"did": {
137
137
"description": "The DID of the account to subscribe to. If omitted, subscribes to service-level enrollment events.",
138
138
"format": "did",
139
139
"type": "string"
140
140
},
141
141
"domain": {
142
142
"description": "Optional domain filter. Only events for records with this domain in their boundary will be emitted.",
143
143
"maxLength": 253,
144
-
"type": "string"
145
-
},
146
-
"syncToken": {
147
-
"description": "Signed service JWT for AppView authentication. Must include iss, aud, exp, and lxm claims. Required for service callers; owner callers may use the Authorization header instead.",
148
144
"type": "string"
149
145
}
150
146
},
151
147
"type": "params"
152
148
},
153
149
"type": "subscription"
154
150
},
155
151
"recordOp": {
156
152
"description": "A single record operation within a commit.",
157
153
"properties": {
158
154
"action": {
159
155
"description": "The type of operation.",
160
156
"knownValues": [
161
157
"create",
162
158
"update",
163
159
"delete"
164
160
],
165
161
"maxLength": 32,
166
162
"type": "string"
167
163
},
168
164
"cid": {
169
165
"description": "The CID of the record. Present for create and update operations.",
170
166
"type": "cid-link"
171
167
},
172
168
"path": {
173
169
"description": "The record path (collection/rkey).",
174
170
"maxLength": 512,
175
171
"type": "string"
176
172
},
177
173
"record": {
178
174
"description": "The record content. Present for create and update operations.",
179
175
"type": "unknown"
180
176
}
181
177
},
182
178
"required": [
183
179
"action",
184
180
"path"
185
181
],
186
182
"type": "object"
187
183
}
188
184
},
189
185
"id": "zone.stratos.sync.subscribeRecords",
190
186
"lexicon": 1
191
187
}