com.atiproto.subscription
Schema Diff
+5 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "com.atiproto.subscription#view.renewalDate" }
- AddedEdge AddedEdge { src: "com.atiproto.subscription#view", tgt: "com.atiproto.subscription#view.renewalDate", kind: "prop", name: Some("renewalDate") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.atiproto.subscription#view.renewalDate" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.atiproto.subscription#view", tgt: "com.atiproto.subscription#view.renewalDate", kind: "prop", name: Some("renewalDate") }
1
1
{
2
2
"id": "com.atiproto.subscription",
3
3
"defs": {
4
4
"main": {
5
5
"key": "any",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"subject",
11
11
"amount",
12
12
"currency",
13
13
"interval",
14
14
"status",
15
15
"billingStartDate",
16
16
"createdAt"
17
17
],
18
18
"properties": {
19
19
"amount": {
20
20
"type": "integer",
21
21
"minimum": 0,
22
22
"description": "Subscription amount in cents (0 for free subscriptions)"
23
23
},
24
24
"status": {
25
25
"enum": [
26
26
"pending",
27
27
"active",
28
28
"past_due",
29
29
"cancelled",
30
30
"expired"
31
31
],
32
32
"type": "string",
33
33
"maxLength": 64,
34
34
"description": "Subscription status"
35
35
},
36
36
"subject": {
37
37
"type": "string",
38
38
"format": "did",
39
39
"description": "DID of the user being subscribed to"
40
40
},
41
41
"currency": {
42
42
"type": "string",
43
43
"maxLength": 3,
44
44
"description": "ISO 4217 currency code"
45
45
},
46
46
"interval": {
47
47
"enum": [
48
48
"monthly",
49
49
"yearly"
50
50
],
51
51
"type": "string",
52
52
"maxLength": 64,
53
53
"description": "Billing interval"
54
54
},
55
55
"createdAt": {
56
56
"type": "string",
57
57
"format": "datetime",
58
58
"description": "Creation timestamp"
59
59
},
60
60
"accessUntil": {
61
61
"type": "string",
62
62
"format": "datetime",
63
63
"description": "Date until which the subscriber retains access after cancellation"
64
64
},
65
65
"cancelledAt": {
66
66
"type": "string",
67
67
"format": "datetime",
68
68
"description": "Cancellation timestamp"
69
69
},
70
70
"billingStartDate": {
71
71
"type": "string",
72
72
"format": "datetime",
73
73
"description": "First billing period, can be used to determine recurrence"
74
74
}
75
75
}
76
76
},
77
77
"description": "A record representing a subscription from one user to another"
78
78
},
79
79
"view": {
80
80
"type": "object",
81
81
"required": [
82
82
"uri",
83
83
"amount",
84
84
"currency",
85
85
"interval",
86
86
"status",
87
87
"billingStartDate",
88
88
"createdAt"
89
89
],
90
90
"properties": {
91
91
"uri": {
92
92
"type": "string",
93
93
"format": "at-uri",
94
94
"description": "AT-URI of the subscription record"
95
95
},
96
96
"amount": {
97
97
"type": "integer",
98
98
"minimum": 0,
99
99
"description": "Subscription amount in cents (0 for free subscriptions)"
100
100
},
101
101
"status": {
102
102
"enum": [
103
103
"pending",
104
104
"active",
105
105
"past_due",
106
106
"cancelled",
107
107
"expired"
108
108
],
109
109
"type": "string",
110
110
"maxLength": 64,
111
111
"description": "Subscription status"
112
112
},
113
113
"subject": {
114
114
"type": "string",
115
115
"format": "did",
116
116
"description": "DID of the user being subscribed to"
117
117
},
118
118
"currency": {
119
119
"type": "string",
120
120
"maxLength": 3,
121
121
"description": "ISO 4217 currency code"
122
122
},
123
123
"interval": {
124
124
"enum": [
125
125
"monthly",
126
126
"yearly"
127
127
],
128
128
"type": "string",
129
129
"maxLength": 64,
130
130
"description": "Billing interval"
131
131
},
132
132
"createdAt": {
133
133
"type": "string",
134
134
"format": "datetime",
135
135
"description": "Creation timestamp"
136
136
},
137
137
"accessUntil": {
138
138
"type": "string",
139
139
"format": "datetime",
140
140
"description": "Date until which the subscriber retains access after cancellation"
141
141
},
142
142
"cancelledAt": {
143
143
"type": "string",
144
144
"format": "datetime",
145
145
"description": "Cancellation timestamp"
146
146
},
147
+
"renewalDate": {
148
+
"type": "string",
149
+
"format": "datetime",
150
+
"description": "Next scheduled renewal/billing date. Server-derived from the billing schedule; not stored in PDS. Omitted when not applicable (e.g. cancelled or unauthenticated views)."
151
+
},
147
152
"billingStartDate": {
148
153
"type": "string",
149
154
"format": "datetime",
150
155
"description": "First billing period, can be used to determine recurrence"
151
156
}
152
157
},
153
158
"description": "View of a subscription record for use in API responses"
154
159
}
155
160
},
156
161
"$type": "com.atproto.lexicon.schema",
157
162
"lexicon": 1
158
163
}