com.atiproto.subscription

atiproto.com

Schema Diff

+5 -0

From

CID
bafyreieczeqvafo...
Indexed At
2026-04-19 18:53 UTC
View this version

To

CID
bafyreiayubrhbdz...
Indexed At
2026-04-29 14:50 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@