space.highport.manage.setDomainBilling

lexicons.highport.space

Schema Diff

+15 -15

From

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

To

CID
bafyreiciak4lqf2...
Indexed At
2026-09-17 17:51 UTC
View this version

Compatibility Analysis

Backward Compatible

No changes detected.

1 1
{
2 2
  "id": "space.highport.manage.setDomainBilling",
3 3
  "defs": {
4 4
    "main": {
5 5
      "type": "procedure",
6 6
      "input": {
7 7
        "schema": {
8 8
          "type": "object",
9 9
          "required": [
10 10
            "domain",
11 11
            "payerPolicy"
12 12
          ],
13 13
          "properties": {
14 14
            "domain": {
15 15
              "type": "string",
16 16
              "maxLength": 253,
17 -
              "description": "The registered hostname. Must be registered to the calling identity."
17 +
              "description": "The registered hostname. Must belong to the caller."
18 18
            },
19 19
            "payerPolicy": {
20 20
              "type": "string",
21 -
              "description": "owner: every byte draws on the domain owner's allowance. visitor: authenticated visitors spend their own, and the owner pays for anonymous traffic and for visitors with nothing left.",
21 +
              "description": "owner: all traffic uses the owner's allowance. visitor: signed-in visitors use their own, and the owner pays for anonymous traffic and for visitors who have run out.",
22 22
              "knownValues": [
23 23
                "owner",
24 24
                "visitor"
25 25
              ]
26 26
            },
27 27
            "fallbackToOwner": {
28 28
              "type": "boolean",
29 29
              "default": true,
30 -
              "description": "Under the visitor policy, whether a visitor with nothing left falls back to the owner rather than being refused. True is what stops a site going dark because one visitor overspent."
30 +
              "description": "Under the visitor policy: whether a visitor who has run out falls back to the owner instead of being refused. True keeps the site up when one visitor overspends."
31 31
            },
32 32
            "visitorCapBytes": {
33 33
              "type": "integer",
34 34
              "minimum": 0,
35 -
              "description": "A ceiling on what any single visitor may spend here per period. Absent means no ceiling beyond the one the visitor themselves set."
35 +
              "description": "The most any one visitor can spend here per period. Absent means only the visitor's own cap applies."
36 36
            },
37 37
            "ownerBudgetBytes": {
38 38
              "type": "integer",
39 39
              "minimum": 0,
40 -
              "description": "Bytes of the owner's own allowance this site may spend on readers who have not signed in, per period. 0 requires a sign-in before anything is served; omitted leaves payerPolicy and fallbackToOwner in charge. When present it derives both."
40 +
              "description": "How many bytes of the owner's allowance this site may spend per period on readers who are not signed in. 0 requires sign-in for everything. When set, it determines payerPolicy and fallbackToOwner; when omitted, those two apply as set."
41 41
            }
42 42
          }
43 43
        },
44 44
        "encoding": "application/json"
45 45
      },
46 46
      "errors": [
47 47
        {
48 48
          "name": "InvalidDomain",
49 -
          "description": "Not a syntactically valid, non-reserved, public-suffix-safe domain. Distinct from DomainNotFound: the string is not a hostname at all."
49 +
          "description": "Not a valid, non-reserved, public-suffix-safe domain. Unlike DomainNotFound, the input is not a hostname at all."
50 50
        },
51 51
        {
52 52
          "name": "DomainNotFound",
53 -
          "description": "No such domain, or it is not registered to the calling identity."
53 +
          "description": "No such domain, or it does not belong to the caller."
54 54
        },
55 55
        {
56 56
          "name": "InvalidRequest",
57 -
          "description": "payerPolicy is not one of owner or visitor."
57 +
          "description": "payerPolicy must be owner or visitor."
58 58
        }
59 59
      ],
60 60
      "output": {
61 61
        "schema": {
62 62
          "type": "object",
63 63
          "required": [
64 64
            "billing"
65 65
          ],
66 66
          "properties": {
67 67
            "billing": {
68 68
              "type": "object",
69 69
              "required": [
70 70
                "domain",
71 71
                "payerPolicy",
72 72
                "fallbackToOwner"
73 73
              ],
74 74
              "properties": {
75 75
                "domain": {
76 76
                  "type": "string",
77 77
                  "description": "The domain."
78 78
                },
79 79
                "updatedAt": {
80 80
                  "type": "string",
81 81
                  "format": "datetime",
82 -
                  "description": "When it last changed. Absent when the domain has no arrangement recorded and is reporting the default."
82 +
                  "description": "When this last changed. Absent when the domain is using the default."
83 83
                },
84 84
                "payerPolicy": {
85 85
                  "type": "string",
86 86
                  "description": "owner or visitor.",
87 87
                  "knownValues": [
88 88
                    "owner",
89 89
                    "visitor"
90 90
                  ]
91 91
                },
92 92
                "fallbackToOwner": {
93 93
                  "type": "boolean",
94 -
                  "description": "Under the visitor policy, whether a visitor with nothing left falls back to the owner rather than being refused."
94 +
                  "description": "Under the visitor policy: whether a visitor who has run out falls back to the owner instead of being refused."
95 95
                },
96 96
                "visitorCapBytes": {
97 97
                  "type": "integer",
98 -
                  "description": "A ceiling on what any single visitor may spend here per period."
98 +
                  "description": "The most any one visitor can spend here per period."
99 99
                },
100 100
                "ownerBudgetBytes": {
101 101
                  "type": "integer",
102 102
                  "minimum": 0,
103 -
                  "description": "Bytes of the owner's own allowance this site may spend on readers who have not signed in, per period. 0 requires a sign-in before anything is served; omitted leaves payerPolicy and fallbackToOwner in charge. When present it derives both."
103 +
                  "description": "How many bytes of the owner's allowance this site may spend per period on readers who are not signed in. 0 requires sign-in for everything. When set, it determines payerPolicy and fallbackToOwner; when omitted, those two apply as set."
104 104
                }
105 105
              },
106 -
              "description": "Whose allowance a domain's traffic draws on."
106 +
              "description": "Whose allowance a domain's traffic uses."
107 107
            },
108 108
            "approvalsRevoked": {
109 109
              "type": "integer",
110 -
              "description": "How many visitor approvals the policy change invalidated."
110 +
              "description": "How many visitor approvals the policy change revoked."
111 111
            }
112 112
          }
113 113
        },
114 114
        "encoding": "application/json"
115 115
      },
116 -
      "description": "Set whose allowance a domain's traffic draws on. Changing payerPolicy revokes every visitor approval the domain holds: consent was given to a different arrangement. The owner always remains the residual payer."
116 +
      "description": "Set whose allowance a domain's traffic uses. Changing payerPolicy revokes every visitor approval on the domain, since visitors agreed to the old arrangement. The owner always pays whatever nobody else covers."
117 117
    }
118 118
  },
119 119
  "$type": "com.atproto.lexicon.schema",
120 120
  "lexicon": 1
121 121
}

Compare Other Versions

Lexicon Garden

@