space.highport.manage.listSiteVisitors

lexicons.highport.space

Schema Diff

+7 -7

From

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

To

CID
bafyreigeammfqsc...
Indexed At
2026-09-17 17:50 UTC
View this version

Compatibility Analysis

Backward Compatible

No changes detected.

1 1
{
2 2
  "id": "space.highport.manage.listSiteVisitors",
3 3
  "defs": {
4 4
    "main": {
5 5
      "type": "query",
6 6
      "errors": [
7 7
        {
8 8
          "name": "InvalidDomain",
9 -
          "description": "Not a syntactically valid, non-reserved, public-suffix-safe domain. Distinct from DomainNotFound: the string is not a hostname at all."
9 +
          "description": "Not a valid, non-reserved, public-suffix-safe domain. Unlike DomainNotFound, the input is not a hostname at all."
10 10
        },
11 11
        {
12 12
          "name": "DomainNotFound",
13 -
          "description": "No such domain, or it is not registered to the calling identity."
13 +
          "description": "No such domain, or it does not belong to the caller."
14 14
        },
15 15
        {
16 16
          "name": "AnalyticsDisabled",
17 17
          "description": "This deployment has no analytics store configured."
18 18
        }
19 19
      ],
20 20
      "output": {
21 21
        "schema": {
22 22
          "type": "object",
23 23
          "required": [
24 24
            "visitors"
25 25
          ],
26 26
          "properties": {
27 27
            "cursor": {
28 28
              "type": "string",
29 29
              "description": "Present when more entries exist."
30 30
            },
31 31
            "visitors": {
32 32
              "type": "array",
33 33
              "items": {
34 34
                "type": "object",
35 35
                "required": [
36 36
                  "did",
37 37
                  "requests",
38 38
                  "bytesBilled",
39 39
                  "lastSeen"
40 40
                ],
41 41
                "properties": {
42 42
                  "did": {
43 43
                    "type": "string",
44 44
                    "format": "did",
45 45
                    "description": "The visitor's identity."
46 46
                  },
47 47
                  "lastSeen": {
48 48
                    "type": "string",
49 49
                    "format": "datetime",
50 -
                    "description": "Their most recent request to this domain."
50 +
                    "description": "This visitor's most recent request to the domain."
51 51
                  },
52 52
                  "requests": {
53 53
                    "type": "integer",
54 -
                    "description": "Responses served to them here."
54 +
                    "description": "Responses served to this visitor here."
55 55
                  },
56 56
                  "bytesBilled": {
57 57
                    "type": "integer",
58 58
                    "description": "Billed bytes."
59 59
                  }
60 60
                },
61 -
                "description": "One identity that authenticated to this domain, and what it spent here."
61 +
                "description": "One signed-in visitor, and what they spent here."
62 62
              }
63 63
            }
64 64
          }
65 65
        },
66 66
        "encoding": "application/json"
67 67
      },
68 68
      "parameters": {
69 69
        "type": "params",
70 70
        "required": [
71 71
          "domain"
72 72
        ],
73 73
        "properties": {
74 74
          "to": {
75 75
            "type": "string",
76 76
            "format": "datetime",
77 77
            "description": "Exclusive upper bound. Defaults to now."
78 78
          },
79 79
          "from": {
80 80
            "type": "string",
81 81
            "format": "datetime",
82 82
            "description": "Inclusive lower bound. Defaults to 30 days ago."
83 83
          },
84 84
          "limit": {
85 85
            "type": "integer",
86 86
            "default": 50,
87 87
            "maximum": 100,
88 88
            "minimum": 1,
89 89
            "description": "Maximum entries to return."
90 90
          },
91 91
          "cursor": {
92 92
            "type": "string",
93 93
            "description": "Pagination cursor from a previous response."
94 94
          },
95 95
          "domain": {
96 96
            "type": "string",
97 97
            "maxLength": 253,
98 -
            "description": "The registered hostname. Must be registered to the calling identity."
98 +
            "description": "The registered hostname. Must belong to the caller."
99 99
          }
100 100
        }
101 101
      },
102 -
      "description": "Identities that authenticated to one domain the caller owns, and what each spent there. Only visitors who deliberately signed in appear; anonymous traffic produces no entry, and there is no query joining one visitor across domains."
102 +
      "description": "Identities that signed in to one of the caller's domains, and what each spent there. Anonymous traffic is not listed, and no query links a visitor across domains."
103 103
    }
104 104
  },
105 105
  "$type": "com.atproto.lexicon.schema",
106 106
  "lexicon": 1
107 107
}

Compare Other Versions

Lexicon Garden

@