space.highport.manage.getConsumption

lexicons.highport.space

Schema Diff

+20 -16

From

CID
bafyreiavadn4w7t...
Indexed At
2026-09-04 22:52 UTC
View this version

To

CID
bafyreiek47vcmqe...
Indexed At
2026-09-17 17:49 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "space.highport.manage.getConsumption:output.consumption.freePerDomainBytes" }
  • AddedEdge AddedEdge { src: "space.highport.manage.getConsumption:output.consumption", tgt: "space.highport.manage.getConsumption:output.consumption.freePerDomainBytes", kind: "prop", name: Some("freePerDomainBytes") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "space.highport.manage.getConsumption:output.consumption.freePerDomainBytes" }

Additional Notes

  • Non-breaking: AddedEdge { src: "space.highport.manage.getConsumption:output.consumption", tgt: "space.highport.manage.getConsumption:output.consumption.freePerDomainBytes", kind: "prop", name: Some("freePerDomainBytes") }
1 1
{
2 2
  "id": "space.highport.manage.getConsumption",
3 3
  "defs": {
4 4
    "main": {
5 5
      "type": "query",
6 6
      "errors": [
7 7
        {
8 8
          "name": "InvalidRequest",
9 -
          "description": "The period is not a UTC calendar month formatted YYYY-MM."
9 +
          "description": "period is not a UTC month formatted as YYYY-MM."
10 10
        }
11 11
      ],
12 12
      "output": {
13 13
        "schema": {
14 14
          "type": "object",
15 15
          "required": [
16 16
            "consumption"
17 17
          ],
18 18
          "properties": {
19 19
            "approvals": {
20 20
              "type": "array",
21 21
              "items": {
22 22
                "type": "object",
23 23
                "required": [
24 24
                  "domain",
25 25
                  "approvedAt"
26 26
                ],
27 27
                "properties": {
28 28
                  "domain": {
29 29
                    "type": "string",
30 30
                    "description": "The domain approved."
31 31
                  },
32 32
                  "capBytes": {
33 33
                    "type": "integer",
34 -
                    "description": "The ceiling the identity chose for this domain. Absent means no ceiling of its own."
34 +
                    "description": "The cap the caller chose for this domain. Absent means no cap."
35 35
                  },
36 36
                  "approvedAt": {
37 37
                    "type": "string",
38 38
                    "format": "datetime",
39 39
                    "description": "When the identity agreed."
40 40
                  }
41 41
                },
42 -
                "description": "One identity's standing consent to spend its allowance on one domain."
42 +
                "description": "Standing consent to spend the allowance on one domain."
43 43
              },
44 -
              "description": "Domains this identity agreed to spend its allowance on, with the cap it chose."
44 +
              "description": "Domains the caller agreed to let spend its allowance, with the cap it chose for each."
45 45
            },
46 46
            "consumption": {
47 47
              "type": "object",
48 48
              "required": [
49 49
                "period",
50 50
                "periodEndsAt",
51 51
                "grantedBytes",
52 52
                "usedBytes",
53 53
                "remainingBytes",
54 54
                "freeBytes",
55 55
                "entitledBytes",
56 56
                "headerEstimateBytes"
57 57
              ],
58 58
              "properties": {
59 59
                "period": {
60 60
                  "type": "string",
61 -
                  "description": "The UTC calendar month, YYYY-MM."
61 +
                  "description": "The UTC month, as YYYY-MM."
62 62
                },
63 63
                "byDomain": {
64 64
                  "type": "array",
65 65
                  "items": {
66 66
                    "type": "object",
67 67
                    "required": [
68 68
                      "domain",
69 69
                      "bytesBilled"
70 70
                    ],
71 71
                    "properties": {
72 72
                      "domain": {
73 73
                        "type": "string",
74 74
                        "description": "The domain."
75 75
                      },
76 76
                      "asVisitor": {
77 77
                        "type": "boolean",
78 -
                        "description": "Whether this was somebody else's sender-pays site rather than the caller's own."
78 +
                        "description": "True when this was someone else's sender-pays site, not one of the caller's own."
79 79
                      },
80 80
                      "bytesBilled": {
81 81
                        "type": "integer",
82 82
                        "description": "Billed bytes."
83 83
                      }
84 84
                    },
85 -
                    "description": "Where an identity's allowance went."
85 +
                    "description": "Where the allowance was spent."
86 86
                  },
87 87
                  "description": "Spend by domain."
88 88
                },
89 89
                "freeBytes": {
90 90
                  "type": "integer",
91 -
                  "description": "The free grant's contribution."
91 +
                  "description": "Bytes from the free grant."
92 92
                },
93 93
                "usedBytes": {
94 94
                  "type": "integer",
95 95
                  "description": "Billable bytes spent so far."
96 96
                },
97 97
                "entitlements": {
98 98
                  "type": "array",
99 99
                  "items": {
100 100
                    "type": "object",
101 101
                    "required": [
102 102
                      "bytesPerPeriod",
103 103
                      "startsAt"
104 104
                    ],
105 105
                    "properties": {
106 106
                      "endsAt": {
107 107
                        "type": "string",
108 108
                        "format": "datetime",
109 -
                        "description": "When it ends. Absent for an open-ended grant."
109 +
                        "description": "When it ends. Absent if it has no end date."
110 110
                      },
111 111
                      "startsAt": {
112 112
                        "type": "string",
113 113
                        "format": "datetime",
114 114
                        "description": "When it started."
115 115
                      },
116 116
                      "bytesPerPeriod": {
117 117
                        "type": "integer",
118 118
                        "description": "Bytes this entitlement adds per period."
119 119
                      }
120 120
                    },
121 -
                    "description": "One grant contributing to the allowance. The payment processor's reference is deliberately not exposed."
121 +
                    "description": "One grant that adds to the allowance. The payment processor's reference is not exposed."
122 122
                  }
123 123
                },
124 124
                "grantedBytes": {
125 125
                  "type": "integer",
126 126
                  "description": "The free grant plus every active entitlement."
127 127
                },
128 128
                "periodEndsAt": {
129 129
                  "type": "string",
130 130
                  "format": "datetime",
131 131
                  "description": "When the allowance resets."
132 132
                },
133 133
                "reconciledAt": {
134 134
                  "type": "string",
135 135
                  "format": "datetime",
136 -
                  "description": "When the rollup last confirmed usedBytes against the recorded requests. Absent for a period still in progress."
136 +
                  "description": "When usedBytes was last reconciled against recorded requests. Absent for a period still in progress."
137 137
                },
138 138
                "entitledBytes": {
139 139
                  "type": "integer",
140 -
                  "description": "What entitlements contributed."
140 +
                  "description": "Bytes from entitlements."
141 141
                },
142 142
                "remainingBytes": {
143 143
                  "type": "integer",
144 -
                  "description": "What is left, floored at zero."
144 +
                  "description": "What is left, never below zero."
145 +
                },
146 +
                "freePerDomainBytes": {
147 +
                  "type": "integer",
148 +
                  "description": "The most the free grant can spend at any one domain this period. Purchased quota has no such cap. Zero means the free grant cannot be spent on other people's sites. This is why a reader can be refused at one domain while their allowance still has room."
145 149
                },
146 150
                "headerEstimateBytes": {
147 151
                  "type": "integer",
148 -
                  "description": "The flat per-response constant included in usedBytes. Every byte figure here is an estimate by this much per response, because the edge's access log records the response body only."
152 +
                  "description": "The fixed per-response header estimate included in usedBytes. The edge logs only response bodies, so every byte figure here is estimated by this much per response."
149 153
                }
150 154
              },
151 155
              "description": "One identity's allowance for one period."
152 156
            }
153 157
          }
154 158
        },
155 159
        "encoding": "application/json"
156 160
      },
157 161
      "parameters": {
158 162
        "type": "params",
159 163
        "properties": {
160 164
          "period": {
161 165
            "type": "string",
162 -
            "description": "A UTC calendar month as YYYY-MM. Defaults to the current one."
166 +
            "description": "A UTC month as YYYY-MM. Defaults to the current month."
163 167
          }
164 168
        }
165 169
      },
166 -
      "description": "The calling identity's allowance for a period: what it was granted, what it has spent, what remains, which entitlements contributed, and which domains it has approved to draw on it. One wallet, spent by the identity's own sites and by its browsing of sender-pays sites alike."
170 +
      "description": "The caller's bandwidth allowance for a period: granted, used, remaining, which entitlements contributed, and which domains may draw on it. One allowance covers both the caller's own sites and its visits to sender-pays sites."
167 171
    }
168 172
  },
169 173
  "$type": "com.atproto.lexicon.schema",
170 174
  "lexicon": 1
171 175
}

Compare Other Versions

Lexicon Garden

@