pub.chive.admin.getSearchAnalytics

lexicons.governance.chive.pub

Schema Diff

+96 -5

From

CID
bafyreih6xk4t437...
Indexed At
2026-06-18 13:14 UTC
View this version

To

CID
bafyreif6sumhvnj...
Indexed At
2026-09-04 12:53 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

16 breaking changes, 26 non-breaking changes.

Breaking Changes (16)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution", kind: "prop", name: Some("relevanceGradeDistribution") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.clicks", kind: "prop", name: Some("clicks") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.topQueries", kind: "prop", name: Some("topQueries") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.positionDistribution", kind: "prop", name: Some("positionDistribution") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.impressions", kind: "prop", name: Some("impressions") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.totalQueries", kind: "prop", name: Some("totalQueries") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.zeroResultCount", kind: "prop", name: Some("zeroResultCount") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount", src: "pub.chive.admin.getSearchAnalytics#positionCount", tgt: "pub.chive.admin.getSearchAnalytics#positionCount.count", kind: "prop", name: Some("count") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount", src: "pub.chive.admin.getSearchAnalytics#positionCount", tgt: "pub.chive.admin.getSearchAnalytics#positionCount.position", kind: "prop", name: Some("position") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.clickCount", kind: "prop", name: Some("clickCount") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.query", kind: "prop", name: Some("query") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.impressionCount", kind: "prop", name: Some("impressionCount") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", src: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.count", kind: "prop", name: Some("count") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", src: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.relevanceGrade", kind: "prop", name: Some("relevanceGrade") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.totalSearches", kind: "prop", name: Some("totalSearches") }
  • RemovedVertex RemovedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.totalSearches" }
Non-Breaking Changes (26)
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount.count" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount.position" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.count" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.relevanceGrade" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.clickCount" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.impressionCount" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.query" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.clicks" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.impressions" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.positionDistribution" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.topQueries" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.topQueries:items" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.totalQueries" }
  • AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.zeroResultCount" }
  • AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.positionDistribution", tgt: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items", tgt: "pub.chive.admin.getSearchAnalytics#positionCount", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution", tgt: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.topQueries", tgt: "pub.chive.admin.getSearchAnalytics:output.topQueries:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.topQueries:items", tgt: "pub.chive.admin.getSearchAnalytics#topQuery", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.totalSearches" }

Added Elements

  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount.count" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount.position" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.count" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.relevanceGrade" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.clickCount" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.impressionCount" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.query" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.clicks" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.impressions" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.positionDistribution" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.topQueries" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.topQueries:items" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.totalQueries" }
  • AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.zeroResultCount" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.clickCount", kind: "prop", name: Some("clickCount") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.query", kind: "prop", name: Some("query") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.impressionCount", kind: "prop", name: Some("impressionCount") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution", kind: "prop", name: Some("relevanceGradeDistribution") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.clicks", kind: "prop", name: Some("clicks") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.topQueries", kind: "prop", name: Some("topQueries") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.positionDistribution", kind: "prop", name: Some("positionDistribution") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.impressions", kind: "prop", name: Some("impressions") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.totalQueries", kind: "prop", name: Some("totalQueries") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.zeroResultCount", kind: "prop", name: Some("zeroResultCount") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount", src: "pub.chive.admin.getSearchAnalytics#positionCount", tgt: "pub.chive.admin.getSearchAnalytics#positionCount.count", kind: "prop", name: Some("count") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount", src: "pub.chive.admin.getSearchAnalytics#positionCount", tgt: "pub.chive.admin.getSearchAnalytics#positionCount.position", kind: "prop", name: Some("position") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", src: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.count", kind: "prop", name: Some("count") }
  • Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", src: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.relevanceGrade", kind: "prop", name: Some("relevanceGrade") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.totalSearches", kind: "prop", name: Some("totalSearches") }
  • Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.positionDistribution", tgt: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items", tgt: "pub.chive.admin.getSearchAnalytics#positionCount", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution", tgt: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.topQueries", tgt: "pub.chive.admin.getSearchAnalytics:output.topQueries:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.topQueries:items", tgt: "pub.chive.admin.getSearchAnalytics#topQuery", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "Get search usage analytics",
6 6
      "errors": [
7 7
        {
8 8
          "name": "AuthenticationRequired"
9 9
        },
10 10
        {
11 11
          "name": "AdminRequired"
12 12
        }
13 13
      ],
14 14
      "output": {
15 15
        "encoding": "application/json",
16 16
        "schema": {
17 +
          "description": "Search analytics aggregates. The response also carries `ctr`, the click-through rate as a fraction of impressions, and `avgDwellTimeMs`, the mean dwell time or null when nothing has been measured. Neither is declared here: Lexicon has no float type, `unknown` means an object rather than any value, and a declared integer rejects both a fraction and null. Undeclared properties pass validation and reach the client unchanged, so declaring them as integers would break the endpoint rather than describe it.",
17 18
          "properties": {
19 +
            "clicks": {
20 +
              "description": "Results clicked.",
21 +
              "type": "integer"
22 +
            },
23 +
            "impressions": {
24 +
              "description": "Results shown.",
25 +
              "type": "integer"
26 +
            },
27 +
            "positionDistribution": {
28 +
              "items": {
29 +
                "ref": "#positionCount",
30 +
                "type": "ref"
31 +
              },
32 +
              "type": "array"
33 +
            },
34 +
            "relevanceGradeDistribution": {
35 +
              "items": {
36 +
                "ref": "#relevanceGradeCount",
37 +
                "type": "ref"
38 +
              },
39 +
              "type": "array"
40 +
            },
18 41
            "timestamp": {
19 -
              "description": "Analytics snapshot timestamp",
20 42
              "format": "datetime",
21 43
              "type": "string"
22 44
            },
45 +
            "topQueries": {
46 +
              "items": {
47 +
                "ref": "#topQuery",
48 +
                "type": "ref"
49 +
              },
50 +
              "type": "array"
51 +
            },
23 52
            "totalClicks": {
24 -
              "description": "Total number of search result clicks",
53 +
              "description": "Result clicks recorded.",
25 54
              "type": "integer"
26 55
            },
27 -
            "totalSearches": {
28 -
              "description": "Total number of search queries",
56 +
            "totalQueries": {
57 +
              "description": "Distinct search queries recorded.",
29 58
              "type": "integer"
59 +
            },
60 +
            "zeroResultCount": {
61 +
              "description": "Searches that returned nothing.",
62 +
              "type": "integer"
30 63
            }
31 64
          },
32 65
          "required": [
33 -
            "totalSearches",
66 +
            "totalQueries",
34 67
            "totalClicks",
68 +
            "impressions",
69 +
            "clicks",
70 +
            "positionDistribution",
71 +
            "topQueries",
72 +
            "zeroResultCount",
73 +
            "relevanceGradeDistribution",
35 74
            "timestamp"
36 75
          ],
37 76
          "type": "object"
38 77
        }
39 78
      },
40 79
      "parameters": {
41 80
        "properties": {},
42 81
        "type": "params"
43 82
      },
44 83
      "type": "query"
84 +
    },
85 +
    "positionCount": {
86 +
      "description": "Impressions at one result position.",
87 +
      "properties": {
88 +
        "count": {
89 +
          "type": "integer"
90 +
        },
91 +
        "position": {
92 +
          "type": "integer"
93 +
        }
94 +
      },
95 +
      "required": [
96 +
        "position",
97 +
        "count"
98 +
      ],
99 +
      "type": "object"
100 +
    },
101 +
    "relevanceGradeCount": {
102 +
      "description": "Judgements at one relevance grade.",
103 +
      "properties": {
104 +
        "count": {
105 +
          "type": "integer"
106 +
        },
107 +
        "relevanceGrade": {
108 +
          "type": "integer"
109 +
        }
110 +
      },
111 +
      "required": [
112 +
        "relevanceGrade",
113 +
        "count"
114 +
      ],
115 +
      "type": "object"
116 +
    },
117 +
    "topQuery": {
118 +
      "description": "A query with its impression and click counts.",
119 +
      "properties": {
120 +
        "clickCount": {
121 +
          "type": "integer"
122 +
        },
123 +
        "impressionCount": {
124 +
          "type": "integer"
125 +
        },
126 +
        "query": {
127 +
          "type": "string"
128 +
        }
129 +
      },
130 +
      "required": [
131 +
        "query",
132 +
        "impressionCount",
133 +
        "clickCount"
134 +
      ],
135 +
      "type": "object"
45 136
    }
46 137
  },
47 138
  "id": "pub.chive.admin.getSearchAnalytics",
48 139
  "lexicon": 1,
49 140
  "revision": 1
50 141
}

Compare Other Versions

Lexicon Garden

@