misarseo 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +25 -0
  3. data/LICENSE +21 -0
  4. data/README.md +257 -0
  5. data/lib/misarseo/client.rb +29 -0
  6. data/lib/misarseo/errors.rb +100 -0
  7. data/lib/misarseo/generated/account.rb +30 -0
  8. data/lib/misarseo/generated/activity.rb +22 -0
  9. data/lib/misarseo/generated/ahrefs.rb +35 -0
  10. data/lib/misarseo/generated/ai_search.rb +87 -0
  11. data/lib/misarseo/generated/backlinks.rb +34 -0
  12. data/lib/misarseo/generated/baidu.rb +35 -0
  13. data/lib/misarseo/generated/bing.rb +95 -0
  14. data/lib/misarseo/generated/brave_search.rb +20 -0
  15. data/lib/misarseo/generated/competitor_monitor.rb +37 -0
  16. data/lib/misarseo/generated/competitors.rb +20 -0
  17. data/lib/misarseo/generated/content.rb +25 -0
  18. data/lib/misarseo/generated/crawl.rb +140 -0
  19. data/lib/misarseo/generated/dashboard.rb +20 -0
  20. data/lib/misarseo/generated/direct_vendor_ai.rb +20 -0
  21. data/lib/misarseo/generated/disavow.rb +35 -0
  22. data/lib/misarseo/generated/domain.rb +37 -0
  23. data/lib/misarseo/generated/ga4.rb +50 -0
  24. data/lib/misarseo/generated/google_business_profile.rb +77 -0
  25. data/lib/misarseo/generated/gsc.rb +70 -0
  26. data/lib/misarseo/generated/index_now.rb +20 -0
  27. data/lib/misarseo/generated/keywords.rb +71 -0
  28. data/lib/misarseo/generated/link_building.rb +60 -0
  29. data/lib/misarseo/generated/local.rb +30 -0
  30. data/lib/misarseo/generated/local_pack_rank.rb +40 -0
  31. data/lib/misarseo/generated/local_rank_grid.rb +40 -0
  32. data/lib/misarseo/generated/log_analyzer.rb +42 -0
  33. data/lib/misarseo/generated/mentions.rb +25 -0
  34. data/lib/misarseo/generated/patches.rb +55 -0
  35. data/lib/misarseo/generated/portfolios.rb +50 -0
  36. data/lib/misarseo/generated/projects.rb +40 -0
  37. data/lib/misarseo/generated/rank_tracking.rb +144 -0
  38. data/lib/misarseo/generated/report_builder.rb +67 -0
  39. data/lib/misarseo/generated/resources.rb +85 -0
  40. data/lib/misarseo/generated/team.rb +20 -0
  41. data/lib/misarseo/generated/usage.rb +20 -0
  42. data/lib/misarseo/generated/web_analytics.rb +35 -0
  43. data/lib/misarseo/generated/yandex.rb +45 -0
  44. data/lib/misarseo/pagination.rb +38 -0
  45. data/lib/misarseo/transport.rb +192 -0
  46. data/lib/misarseo/version.rb +5 -0
  47. data/lib/misarseo.rb +13 -0
  48. data/manifest.json +2850 -0
  49. metadata +114 -0
@@ -0,0 +1,35 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.baidu+ — 4 endpoint(s).
9
+ class BaiduResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # GET /baidu/connection
15
+ def connection(project_id, query: nil)
16
+ @transport.request("GET", "/baidu/connection", query: Transport.merge(query, "projectId" => project_id), body: nil)
17
+ end
18
+
19
+ # DELETE /baidu/connection
20
+ def disconnect(body = nil, query: nil, **fields)
21
+ @transport.request("DELETE", "/baidu/connection", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # POST /baidu/connection
25
+ def set_connection(body = nil, query: nil, **fields)
26
+ @transport.request("POST", "/baidu/connection", query: query, body: Transport.body(body, fields))
27
+ end
28
+
29
+ # POST /baidu/submit
30
+ def submit_urls(body = nil, query: nil, **fields)
31
+ @transport.request("POST", "/baidu/submit", query: query, body: Transport.body(body, fields))
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,95 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.bing+ — 16 endpoint(s).
9
+ class BingResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /bing/backlinks
15
+ def backlinks(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/bing/backlinks", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # GET /bing/connection
20
+ def connect(project_id, query: nil)
21
+ @transport.request("GET", "/bing/connection", query: Transport.merge(query, "projectId" => project_id), body: nil)
22
+ end
23
+
24
+ # POST /bing/detail-stats
25
+ def detail_stats(body = nil, query: nil, **fields)
26
+ @transport.request("POST", "/bing/detail-stats", query: query, body: Transport.body(body, fields))
27
+ end
28
+
29
+ # DELETE /bing/connection
30
+ def disconnect(body = nil, query: nil, **fields)
31
+ @transport.request("DELETE", "/bing/connection", query: query, body: Transport.body(body, fields))
32
+ end
33
+
34
+ # POST /bing/feed-details
35
+ def get_feed_details(body = nil, query: nil, **fields)
36
+ @transport.request("POST", "/bing/feed-details", query: query, body: Transport.body(body, fields))
37
+ end
38
+
39
+ # POST /bing/keyword-research
40
+ def keyword_research(body = nil, query: nil, **fields)
41
+ @transport.request("POST", "/bing/keyword-research", query: query, body: Transport.body(body, fields))
42
+ end
43
+
44
+ # GET /bing/sites
45
+ def list_sites(project_id, query: nil)
46
+ @transport.request("GET", "/bing/sites", query: Transport.merge(query, "projectId" => project_id), body: nil)
47
+ end
48
+
49
+ # POST /bing/crawl-settings
50
+ def save_crawl_settings(body = nil, query: nil, **fields)
51
+ @transport.request("POST", "/bing/crawl-settings", query: query, body: Transport.body(body, fields))
52
+ end
53
+
54
+ # POST /bing/connection
55
+ def set_site(body = nil, query: nil, **fields)
56
+ @transport.request("POST", "/bing/connection", query: query, body: Transport.body(body, fields))
57
+ end
58
+
59
+ # POST /bing/site-overview
60
+ def site_overview(body = nil, query: nil, **fields)
61
+ @transport.request("POST", "/bing/site-overview", query: query, body: Transport.body(body, fields))
62
+ end
63
+
64
+ # POST /bing/submit-content
65
+ def submit_content(body = nil, query: nil, **fields)
66
+ @transport.request("POST", "/bing/submit-content", query: query, body: Transport.body(body, fields))
67
+ end
68
+
69
+ # POST /bing/submit-feed
70
+ def submit_feed(body = nil, query: nil, **fields)
71
+ @transport.request("POST", "/bing/submit-feed", query: query, body: Transport.body(body, fields))
72
+ end
73
+
74
+ # POST /bing/blocked-urls
75
+ def update_blocked_url(body = nil, query: nil, **fields)
76
+ @transport.request("POST", "/bing/blocked-urls", query: query, body: Transport.body(body, fields))
77
+ end
78
+
79
+ # POST /bing/query-parameters
80
+ def update_query_parameter(body = nil, query: nil, **fields)
81
+ @transport.request("POST", "/bing/query-parameters", query: query, body: Transport.body(body, fields))
82
+ end
83
+
84
+ # POST /bing/url-info
85
+ def url_info(body = nil, query: nil, **fields)
86
+ @transport.request("POST", "/bing/url-info", query: query, body: Transport.body(body, fields))
87
+ end
88
+
89
+ # POST /bing/url-links
90
+ def url_links(body = nil, query: nil, **fields)
91
+ @transport.request("POST", "/bing/url-links", query: query, body: Transport.body(body, fields))
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,20 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.brave_search+ — 1 endpoint(s).
9
+ class BraveSearchResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /brave-search/rank-check
15
+ def rank_check(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/brave-search/rank-check", query: query, body: Transport.body(body, fields))
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,37 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.competitor_monitor+ — 4 endpoint(s).
9
+ class CompetitorMonitorResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /competitor-monitor/targets
15
+ def add_target(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/competitor-monitor/targets", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # GET /competitor-monitor/changes
20
+ #
21
+ # Optional query parameters: +limit+.
22
+ def list_changes(project_id, target_id, query: nil)
23
+ @transport.request("GET", "/competitor-monitor/changes", query: Transport.merge(query, "projectId" => project_id, "targetId" => target_id), body: nil)
24
+ end
25
+
26
+ # GET /competitor-monitor/targets
27
+ def list_targets(project_id, query: nil)
28
+ @transport.request("GET", "/competitor-monitor/targets", query: Transport.merge(query, "projectId" => project_id), body: nil)
29
+ end
30
+
31
+ # DELETE /competitor-monitor/targets
32
+ def remove_target(body = nil, query: nil, **fields)
33
+ @transport.request("DELETE", "/competitor-monitor/targets", query: query, body: Transport.body(body, fields))
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,20 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.competitors+ — 1 endpoint(s).
9
+ class CompetitorsResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /competitors
15
+ def find(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/competitors", query: query, body: Transport.body(body, fields))
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,25 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.content+ — 2 endpoint(s).
9
+ class ContentResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /content/optimizer
15
+ def optimizer(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/content/optimizer", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # POST /content/page-metrics
20
+ def page_metrics(body = nil, query: nil, **fields)
21
+ @transport.request("POST", "/content/page-metrics", query: query, body: Transport.body(body, fields))
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,140 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.crawl+ — 23 endpoint(s).
9
+ class CrawlResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # DELETE /crawl/issue-status
15
+ def clear_issue_status(body = nil, query: nil, **fields)
16
+ @transport.request("DELETE", "/crawl/issue-status", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # GET /crawl/:jobId/comparison
20
+ #
21
+ # Optional query parameters: +baselineAuditId+.
22
+ def comparison(job_id, project_id, query: nil)
23
+ @transport.request("GET", "/crawl/#{Transport.seg(job_id)}/comparison", query: Transport.merge(query, "projectId" => project_id), body: nil)
24
+ end
25
+
26
+ # GET /crawl/:jobId/core-web-vitals
27
+ def core_web_vitals(job_id, project_id, query: nil)
28
+ @transport.request("GET", "/crawl/#{Transport.seg(job_id)}/core-web-vitals", query: Transport.merge(query, "projectId" => project_id), body: nil)
29
+ end
30
+
31
+ # POST /crawl/audit-segments
32
+ def create_audit_segment(body = nil, query: nil, **fields)
33
+ @transport.request("POST", "/crawl/audit-segments", query: query, body: Transport.body(body, fields))
34
+ end
35
+
36
+ # POST /crawl/custom-issue-rules
37
+ def create_custom_issue_rule(body = nil, query: nil, **fields)
38
+ @transport.request("POST", "/crawl/custom-issue-rules", query: query, body: Transport.body(body, fields))
39
+ end
40
+
41
+ # POST /crawl/issue-mute-rules
42
+ def create_issue_mute_rule(body = nil, query: nil, **fields)
43
+ @transport.request("POST", "/crawl/issue-mute-rules", query: query, body: Transport.body(body, fields))
44
+ end
45
+
46
+ # POST /crawl/issue-severity-overrides
47
+ def create_issue_severity_override(body = nil, query: nil, **fields)
48
+ @transport.request("POST", "/crawl/issue-severity-overrides", query: query, body: Transport.body(body, fields))
49
+ end
50
+
51
+ # DELETE /crawl/audit-segments
52
+ def delete_audit_segment(body = nil, query: nil, **fields)
53
+ @transport.request("DELETE", "/crawl/audit-segments", query: query, body: Transport.body(body, fields))
54
+ end
55
+
56
+ # DELETE /crawl/custom-issue-rules
57
+ def delete_custom_issue_rule(body = nil, query: nil, **fields)
58
+ @transport.request("DELETE", "/crawl/custom-issue-rules", query: query, body: Transport.body(body, fields))
59
+ end
60
+
61
+ # DELETE /crawl/issue-mute-rules
62
+ def delete_issue_mute_rule(body = nil, query: nil, **fields)
63
+ @transport.request("DELETE", "/crawl/issue-mute-rules", query: query, body: Transport.body(body, fields))
64
+ end
65
+
66
+ # DELETE /crawl/issue-severity-overrides
67
+ def delete_issue_severity_override(body = nil, query: nil, **fields)
68
+ @transport.request("DELETE", "/crawl/issue-severity-overrides", query: query, body: Transport.body(body, fields))
69
+ end
70
+
71
+ # POST /crawl/https-report
72
+ def https_report(body = nil, query: nil, **fields)
73
+ @transport.request("POST", "/crawl/https-report", query: query, body: Transport.body(body, fields))
74
+ end
75
+
76
+ # POST /crawl/internal-links
77
+ def internal_links(body = nil, query: nil, **fields)
78
+ @transport.request("POST", "/crawl/internal-links", query: query, body: Transport.body(body, fields))
79
+ end
80
+
81
+ # GET /crawl/audit-segments
82
+ def list_audit_segments(project_id, query: nil)
83
+ @transport.request("GET", "/crawl/audit-segments", query: Transport.merge(query, "projectId" => project_id), body: nil)
84
+ end
85
+
86
+ # GET /crawl/custom-issue-rules
87
+ def list_custom_issue_rules(project_id, query: nil)
88
+ @transport.request("GET", "/crawl/custom-issue-rules", query: Transport.merge(query, "projectId" => project_id), body: nil)
89
+ end
90
+
91
+ # GET /crawl/issue-mute-rules
92
+ def list_issue_mute_rules(project_id, query: nil)
93
+ @transport.request("GET", "/crawl/issue-mute-rules", query: Transport.merge(query, "projectId" => project_id), body: nil)
94
+ end
95
+
96
+ # GET /crawl/issue-severity-overrides
97
+ def list_issue_severity_overrides(project_id, query: nil)
98
+ @transport.request("GET", "/crawl/issue-severity-overrides", query: Transport.merge(query, "projectId" => project_id), body: nil)
99
+ end
100
+
101
+ # GET /crawl/issue-status
102
+ def list_issue_statuses(project_id, query: nil)
103
+ @transport.request("GET", "/crawl/issue-status", query: Transport.merge(query, "projectId" => project_id), body: nil)
104
+ end
105
+
106
+ # GET /crawl/:jobId/segment
107
+ def segment(job_id, project_id, segment_id, query: nil)
108
+ @transport.request("GET", "/crawl/#{Transport.seg(job_id)}/segment", query: Transport.merge(query, "projectId" => project_id, "segmentId" => segment_id), body: nil)
109
+ end
110
+
111
+ # POST /crawl/issue-status
112
+ def set_issue_status(body = nil, query: nil, **fields)
113
+ @transport.request("POST", "/crawl/issue-status", query: query, body: Transport.body(body, fields))
114
+ end
115
+
116
+ # POST /crawl/start
117
+ def start(body = nil, query: nil, **fields)
118
+ @transport.request("POST", "/crawl/start", query: query, body: Transport.body(body, fields))
119
+ end
120
+
121
+ # GET /crawl/:jobId/status
122
+ def status(job_id, project_id, query: nil)
123
+ @transport.request("GET", "/crawl/#{Transport.seg(job_id)}/status", query: Transport.merge(query, "projectId" => project_id), body: nil)
124
+ end
125
+
126
+ # POST /crawl/structured-data-report
127
+ def structured_data_report(body = nil, query: nil, **fields)
128
+ @transport.request("POST", "/crawl/structured-data-report", query: query, body: Transport.body(body, fields))
129
+ end
130
+
131
+ # GET /crawl/:jobId/stream (text/event-stream). Yields each MisarSEO::Event
132
+ # until a terminal event (complete, error); without a block,
133
+ # returns an Enumerator.
134
+ def stream_events(job_id, project_id, query: nil, &block)
135
+ return enum_for(:stream_events, job_id, project_id, query: query) unless block
136
+ @transport.stream("/crawl/#{Transport.seg(job_id)}/stream", query: Transport.merge(query, "projectId" => project_id), terminal: ["complete", "error"], &block)
137
+ end
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,20 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.dashboard+ — 1 endpoint(s).
9
+ class DashboardResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # GET /dashboard
15
+ def get(query: nil)
16
+ @transport.request("GET", "/dashboard", query: query, body: nil)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.direct_vendor_ai+ — 1 endpoint(s).
9
+ class DirectVendorAiResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /ai/direct-vendor-answers
15
+ def answer(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/ai/direct-vendor-answers", query: query, body: Transport.body(body, fields))
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,35 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.disavow+ — 4 endpoint(s).
9
+ class DisavowResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /disavow/entries
15
+ def add(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/disavow/entries", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # GET /disavow/export
20
+ def export(project_id, query: nil)
21
+ @transport.request("GET", "/disavow/export", query: Transport.merge(query, "projectId" => project_id), body: nil)
22
+ end
23
+
24
+ # GET /disavow/entries
25
+ def list(project_id, query: nil)
26
+ @transport.request("GET", "/disavow/entries", query: Transport.merge(query, "projectId" => project_id), body: nil)
27
+ end
28
+
29
+ # DELETE /disavow/entries
30
+ def remove(body = nil, query: nil, **fields)
31
+ @transport.request("DELETE", "/disavow/entries", query: query, body: Transport.body(body, fields))
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,37 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.domain+ — 4 endpoint(s).
9
+ class DomainResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # GET /domain/authority-history
15
+ def authority_history(domain, project_id, query: nil)
16
+ @transport.request("GET", "/domain/authority-history", query: Transport.merge(query, "domain" => domain, "projectId" => project_id), body: nil)
17
+ end
18
+
19
+ # POST /domain/batch
20
+ def batch_overview(body = nil, query: nil, **fields)
21
+ @transport.request("POST", "/domain/batch", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # POST /domain/authority-history
25
+ def capture_authority_snapshot(body = nil, query: nil, **fields)
26
+ @transport.request("POST", "/domain/authority-history", query: query, body: Transport.body(body, fields))
27
+ end
28
+
29
+ # GET /domain/overview
30
+ #
31
+ # Optional query parameters: +includeSubdomains+, +languageCode+, +locationCode+.
32
+ def overview(domain, project_id, query: nil)
33
+ @transport.request("GET", "/domain/overview", query: Transport.merge(query, "domain" => domain, "projectId" => project_id), body: nil)
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,50 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.ga4+ — 7 endpoint(s).
9
+ class Ga4Resource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /ga4/channels
15
+ def channels(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/ga4/channels", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # GET /ga4/connection
20
+ def connect(project_id, query: nil)
21
+ @transport.request("GET", "/ga4/connection", query: Transport.merge(query, "projectId" => project_id), body: nil)
22
+ end
23
+
24
+ # POST /ga4/daily
25
+ def daily(body = nil, query: nil, **fields)
26
+ @transport.request("POST", "/ga4/daily", query: query, body: Transport.body(body, fields))
27
+ end
28
+
29
+ # DELETE /ga4/connection
30
+ def disconnect(body = nil, query: nil, **fields)
31
+ @transport.request("DELETE", "/ga4/connection", query: query, body: Transport.body(body, fields))
32
+ end
33
+
34
+ # POST /ga4/landing-pages
35
+ def landing_pages(body = nil, query: nil, **fields)
36
+ @transport.request("POST", "/ga4/landing-pages", query: query, body: Transport.body(body, fields))
37
+ end
38
+
39
+ # GET /ga4/properties
40
+ def list_properties(project_id, query: nil)
41
+ @transport.request("GET", "/ga4/properties", query: Transport.merge(query, "projectId" => project_id), body: nil)
42
+ end
43
+
44
+ # POST /ga4/connection
45
+ def set_property(body = nil, query: nil, **fields)
46
+ @transport.request("POST", "/ga4/connection", query: query, body: Transport.body(body, fields))
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,77 @@
1
+ # AUTO-GENERATED by scripts/generate-sdks.mjs from sdks/manifest.json.
2
+ # Do not edit by hand: changes are overwritten. To change this surface,
3
+ # change the API route and its registry entry, run `pnpm sdk:sync`, then
4
+ # `pnpm sdk:generate`.
5
+
6
+ module MisarSEO
7
+ module Generated
8
+ # +client.google_business_profile+ — 12 endpoint(s).
9
+ class GoogleBusinessProfileResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # GET /gbp/accounts
15
+ def available_locations(project_id, query: nil)
16
+ @transport.request("GET", "/gbp/accounts", query: Transport.merge(query, "projectId" => project_id), body: nil)
17
+ end
18
+
19
+ # POST /gbp/posts
20
+ def create_post(body = nil, query: nil, **fields)
21
+ @transport.request("POST", "/gbp/posts", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # DELETE /gbp/review-reply
25
+ def delete_review_reply(body = nil, query: nil, **fields)
26
+ @transport.request("DELETE", "/gbp/review-reply", query: query, body: Transport.body(body, fields))
27
+ end
28
+
29
+ # GET /gbp/connection
30
+ def get_connection(project_id, query: nil)
31
+ @transport.request("GET", "/gbp/connection", query: Transport.merge(query, "projectId" => project_id), body: nil)
32
+ end
33
+
34
+ # POST /gbp/optimization
35
+ def get_optimization(body = nil, query: nil, **fields)
36
+ @transport.request("POST", "/gbp/optimization", query: query, body: Transport.body(body, fields))
37
+ end
38
+
39
+ # GET /gbp/performance
40
+ def get_performance(end_date, metrics, project_id, start_date, query: nil)
41
+ @transport.request("GET", "/gbp/performance", query: Transport.merge(query, "endDate" => end_date, "metrics" => metrics, "projectId" => project_id, "startDate" => start_date), body: nil)
42
+ end
43
+
44
+ # GET /gbp/profile
45
+ def get_profile(project_id, query: nil)
46
+ @transport.request("GET", "/gbp/profile", query: Transport.merge(query, "projectId" => project_id), body: nil)
47
+ end
48
+
49
+ # POST /gbp/connection
50
+ def link(body = nil, query: nil, **fields)
51
+ @transport.request("POST", "/gbp/connection", query: query, body: Transport.body(body, fields))
52
+ end
53
+
54
+ # GET /gbp/posts
55
+ def list_posts(project_id, query: nil)
56
+ @transport.request("GET", "/gbp/posts", query: Transport.merge(query, "projectId" => project_id), body: nil)
57
+ end
58
+
59
+ # GET /gbp/reviews
60
+ #
61
+ # Optional query parameters: +pageToken+.
62
+ def list_reviews(project_id, query: nil)
63
+ @transport.request("GET", "/gbp/reviews", query: Transport.merge(query, "projectId" => project_id), body: nil)
64
+ end
65
+
66
+ # POST /gbp/review-reply
67
+ def reply_to_review(body = nil, query: nil, **fields)
68
+ @transport.request("POST", "/gbp/review-reply", query: query, body: Transport.body(body, fields))
69
+ end
70
+
71
+ # DELETE /gbp/connection
72
+ def unlink(body = nil, query: nil, **fields)
73
+ @transport.request("DELETE", "/gbp/connection", query: query, body: Transport.body(body, fields))
74
+ end
75
+ end
76
+ end
77
+ end