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,70 @@
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.gsc+ — 11 endpoint(s).
9
+ class GscResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /gsc/anonymous-queries
15
+ def anonymous_queries(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/gsc/anonymous-queries", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # POST /gsc/archive
20
+ def archive(body = nil, query: nil, **fields)
21
+ @transport.request("POST", "/gsc/archive", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # POST /gsc/cannibalisation
25
+ def cannibalisation(body = nil, query: nil, **fields)
26
+ @transport.request("POST", "/gsc/cannibalisation", query: query, body: Transport.body(body, fields))
27
+ end
28
+
29
+ # GET /gsc/connect
30
+ def connect(project_id, query: nil)
31
+ @transport.request("GET", "/gsc/connect", query: Transport.merge(query, "projectId" => project_id), body: nil)
32
+ end
33
+
34
+ # POST /gsc/content-decay
35
+ def content_decay(body = nil, query: nil, **fields)
36
+ @transport.request("POST", "/gsc/content-decay", query: query, body: Transport.body(body, fields))
37
+ end
38
+
39
+ # POST /gsc/coverage
40
+ def coverage(body = nil, query: nil, **fields)
41
+ @transport.request("POST", "/gsc/coverage", query: query, body: Transport.body(body, fields))
42
+ end
43
+
44
+ # POST /gsc/ctr-by-position
45
+ def ctr_by_position(body = nil, query: nil, **fields)
46
+ @transport.request("POST", "/gsc/ctr-by-position", query: query, body: Transport.body(body, fields))
47
+ end
48
+
49
+ # POST /gsc/hourly
50
+ def hourly(body = nil, query: nil, **fields)
51
+ @transport.request("POST", "/gsc/hourly", query: query, body: Transport.body(body, fields))
52
+ end
53
+
54
+ # POST /gsc/inspect-urls
55
+ def inspect_urls(body = nil, query: nil, **fields)
56
+ @transport.request("POST", "/gsc/inspect-urls", query: query, body: Transport.body(body, fields))
57
+ end
58
+
59
+ # POST /gsc/performance
60
+ def performance(body = nil, query: nil, **fields)
61
+ @transport.request("POST", "/gsc/performance", query: query, body: Transport.body(body, fields))
62
+ end
63
+
64
+ # POST /gsc/sitemaps
65
+ def sitemaps(body = nil, query: nil, **fields)
66
+ @transport.request("POST", "/gsc/sitemaps", query: query, body: Transport.body(body, fields))
67
+ end
68
+ end
69
+ end
70
+ 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.index_now+ — 1 endpoint(s).
9
+ class IndexNowResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /indexnow/submit
15
+ def submit(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/indexnow/submit", query: query, body: Transport.body(body, fields))
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,71 @@
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.keywords+ — 10 endpoint(s).
9
+ class KeywordsResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /keywords/classify-intent
15
+ def classify_intent(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/keywords/classify-intent", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # POST /keywords/gap
20
+ def gap(body = nil, query: nil, **fields)
21
+ @transport.request("POST", "/keywords/gap", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # GET /keywords/saved
25
+ #
26
+ # Optional query parameters: +order+, +page+, +pageSize+, +search+, +sort+.
27
+ def list_saved(project_id, query: nil)
28
+ @transport.request("GET", "/keywords/saved", query: Transport.merge(query, "projectId" => project_id), body: nil)
29
+ end
30
+
31
+ # POST /keywords/list-share-of-voice
32
+ def list_share_of_voice(body = nil, query: nil, **fields)
33
+ @transport.request("POST", "/keywords/list-share-of-voice", query: query, body: Transport.body(body, fields))
34
+ end
35
+
36
+ # GET /keywords/potential
37
+ #
38
+ # Optional query parameters: +languageCode+, +locationCode+.
39
+ def potential(keyword, project_id, query: nil)
40
+ @transport.request("GET", "/keywords/potential", query: Transport.merge(query, "keyword" => keyword, "projectId" => project_id), body: nil)
41
+ end
42
+
43
+ # POST /keywords/research
44
+ def research(body = nil, query: nil, **fields)
45
+ @transport.request("POST", "/keywords/research", query: query, body: Transport.body(body, fields))
46
+ end
47
+
48
+ # POST /keywords/saved
49
+ def save(body = nil, query: nil, **fields)
50
+ @transport.request("POST", "/keywords/saved", query: query, body: Transport.body(body, fields))
51
+ end
52
+
53
+ # GET /keywords/serp-overview
54
+ #
55
+ # Optional query parameters: +languageCode+, +locationCode+, +sinceDays+.
56
+ def serp_overview(keyword, project_id, query: nil)
57
+ @transport.request("GET", "/keywords/serp-overview", query: Transport.merge(query, "keyword" => keyword, "projectId" => project_id), body: nil)
58
+ end
59
+
60
+ # POST /keywords/strategy
61
+ def strategy(body = nil, query: nil, **fields)
62
+ @transport.request("POST", "/keywords/strategy", query: query, body: Transport.body(body, fields))
63
+ end
64
+
65
+ # POST /keywords/topic-research
66
+ def topic_research(body = nil, query: nil, **fields)
67
+ @transport.request("POST", "/keywords/topic-research", query: query, body: Transport.body(body, fields))
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,60 @@
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.link_building+ — 9 endpoint(s).
9
+ class LinkBuildingResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /link-building/prospects
15
+ def add(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/link-building/prospects", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # POST /link-building/activity
20
+ def add_note(body = nil, query: nil, **fields)
21
+ @transport.request("POST", "/link-building/activity", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # GET /link-building/csv
25
+ def export_csv(project_id, query: nil)
26
+ @transport.request("GET", "/link-building/csv", query: Transport.merge(query, "projectId" => project_id), body: nil)
27
+ end
28
+
29
+ # POST /link-building/csv
30
+ def import_csv(body = nil, query: nil, **fields)
31
+ @transport.request("POST", "/link-building/csv", query: query, body: Transport.body(body, fields))
32
+ end
33
+
34
+ # GET /link-building/prospects
35
+ def list(project_id, query: nil)
36
+ @transport.request("GET", "/link-building/prospects", query: Transport.merge(query, "projectId" => project_id), body: nil)
37
+ end
38
+
39
+ # GET /link-building/activity
40
+ def list_activity(project_id, prospect_id, query: nil)
41
+ @transport.request("GET", "/link-building/activity", query: Transport.merge(query, "projectId" => project_id, "prospectId" => prospect_id), body: nil)
42
+ end
43
+
44
+ # DELETE /link-building/prospects
45
+ def remove(body = nil, query: nil, **fields)
46
+ @transport.request("DELETE", "/link-building/prospects", query: query, body: Transport.body(body, fields))
47
+ end
48
+
49
+ # PATCH /link-building/prospects
50
+ def update(body = nil, query: nil, **fields)
51
+ @transport.request("PATCH", "/link-building/prospects", query: query, body: Transport.body(body, fields))
52
+ end
53
+
54
+ # POST /link-building/status
55
+ def update_status(body = nil, query: nil, **fields)
56
+ @transport.request("POST", "/link-building/status", query: query, body: Transport.body(body, fields))
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,30 @@
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.local+ — 3 endpoint(s).
9
+ class LocalResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /local/business-listings
15
+ def business_listings(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/local/business-listings", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # POST /local/nap-audit
20
+ def nap_audit(body = nil, query: nil, **fields)
21
+ @transport.request("POST", "/local/nap-audit", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # POST /local/questions-answers
25
+ def questions_answers(body = nil, query: nil, **fields)
26
+ @transport.request("POST", "/local/questions-answers", query: query, body: Transport.body(body, fields))
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,40 @@
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.local_pack_rank+ — 5 endpoint(s).
9
+ class LocalPackRankResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /local/local-pack-rank/configs
15
+ def create_config(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/local/local-pack-rank/configs", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # DELETE /local/local-pack-rank/configs
20
+ def delete_config(body = nil, query: nil, **fields)
21
+ @transport.request("DELETE", "/local/local-pack-rank/configs", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # GET /local/local-pack-rank/checks
25
+ def get_latest_check(config_id, project_id, query: nil)
26
+ @transport.request("GET", "/local/local-pack-rank/checks", query: Transport.merge(query, "configId" => config_id, "projectId" => project_id), body: nil)
27
+ end
28
+
29
+ # GET /local/local-pack-rank/configs
30
+ def list_configs(project_id, query: nil)
31
+ @transport.request("GET", "/local/local-pack-rank/configs", query: Transport.merge(query, "projectId" => project_id), body: nil)
32
+ end
33
+
34
+ # POST /local/local-pack-rank/checks
35
+ def run_check(body = nil, query: nil, **fields)
36
+ @transport.request("POST", "/local/local-pack-rank/checks", query: query, body: Transport.body(body, fields))
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,40 @@
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.local_rank_grid+ — 5 endpoint(s).
9
+ class LocalRankGridResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /local/rank-grid/configs
15
+ def create_config(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/local/rank-grid/configs", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # DELETE /local/rank-grid/configs
20
+ def delete_config(body = nil, query: nil, **fields)
21
+ @transport.request("DELETE", "/local/rank-grid/configs", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # GET /local/rank-grid/runs
25
+ def get_latest_run(config_id, project_id, query: nil)
26
+ @transport.request("GET", "/local/rank-grid/runs", query: Transport.merge(query, "configId" => config_id, "projectId" => project_id), body: nil)
27
+ end
28
+
29
+ # GET /local/rank-grid/configs
30
+ def list_configs(project_id, query: nil)
31
+ @transport.request("GET", "/local/rank-grid/configs", query: Transport.merge(query, "projectId" => project_id), body: nil)
32
+ end
33
+
34
+ # POST /local/rank-grid/runs
35
+ def run_check(body = nil, query: nil, **fields)
36
+ @transport.request("POST", "/local/rank-grid/runs", query: query, body: Transport.body(body, fields))
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,42 @@
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.log_analyzer+ — 5 endpoint(s).
9
+ class LogAnalyzerResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # GET /log-analyzer/daily-summary
15
+ def daily_summary(project_id, since_day, until_day, query: nil)
16
+ @transport.request("GET", "/log-analyzer/daily-summary", query: Transport.merge(query, "projectId" => project_id, "sinceDay" => since_day, "untilDay" => until_day), body: nil)
17
+ end
18
+
19
+ # GET /log-analyzer/uploads/:uploadId
20
+ def get_upload(upload_id, project_id, query: nil)
21
+ @transport.request("GET", "/log-analyzer/uploads/#{Transport.seg(upload_id)}", query: Transport.merge(query, "projectId" => project_id), body: nil)
22
+ end
23
+
24
+ # GET /log-analyzer/uploads
25
+ def list_uploads(project_id, query: nil)
26
+ @transport.request("GET", "/log-analyzer/uploads", query: Transport.merge(query, "projectId" => project_id), body: nil)
27
+ end
28
+
29
+ # GET /log-analyzer/top-paths
30
+ #
31
+ # Optional query parameters: +botCategory+.
32
+ def top_paths(project_id, query: nil)
33
+ @transport.request("GET", "/log-analyzer/top-paths", query: Transport.merge(query, "projectId" => project_id), body: nil)
34
+ end
35
+
36
+ # POST /log-analyzer/uploads
37
+ def upload(body = nil, query: nil, **fields)
38
+ @transport.request("POST", "/log-analyzer/uploads", query: query, body: Transport.body(body, fields))
39
+ end
40
+ end
41
+ end
42
+ 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.mentions+ — 2 endpoint(s).
9
+ class MentionsResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /mentions/media-monitoring
15
+ def media_monitoring(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/mentions/media-monitoring", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # POST /mentions/unlinked
20
+ def unlinked_mentions(body = nil, query: nil, **fields)
21
+ @transport.request("POST", "/mentions/unlinked", query: query, body: Transport.body(body, fields))
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,55 @@
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.patches+ — 8 endpoint(s).
9
+ class PatchesResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /patches/batch-draft
15
+ def batch_draft(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/patches/batch-draft", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # DELETE /patches/auto-publish-rules
20
+ def disable_auto_publish(body = nil, query: nil, **fields)
21
+ @transport.request("DELETE", "/patches/auto-publish-rules", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # POST /patches
25
+ def draft(body = nil, query: nil, **fields)
26
+ @transport.request("POST", "/patches", query: query, body: Transport.body(body, fields))
27
+ end
28
+
29
+ # POST /patches/auto-publish-rules
30
+ def enable_auto_publish(body = nil, query: nil, **fields)
31
+ @transport.request("POST", "/patches/auto-publish-rules", query: query, body: Transport.body(body, fields))
32
+ end
33
+
34
+ # GET /patches
35
+ def list(project_id, query: nil)
36
+ @transport.request("GET", "/patches", query: Transport.merge(query, "projectId" => project_id), body: nil)
37
+ end
38
+
39
+ # GET /patches/auto-publish-rules
40
+ def list_auto_publish_rules(project_id, query: nil)
41
+ @transport.request("GET", "/patches/auto-publish-rules", query: Transport.merge(query, "projectId" => project_id), body: nil)
42
+ end
43
+
44
+ # POST /patches/:patchId/publish
45
+ def publish(patch_id, body = nil, query: nil, **fields)
46
+ @transport.request("POST", "/patches/#{Transport.seg(patch_id)}/publish", query: query, body: Transport.body(body, fields))
47
+ end
48
+
49
+ # POST /patches/:patchId/revert
50
+ def revert(patch_id, body = nil, query: nil, **fields)
51
+ @transport.request("POST", "/patches/#{Transport.seg(patch_id)}/revert", query: query, body: Transport.body(body, fields))
52
+ end
53
+ end
54
+ end
55
+ 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.portfolios+ — 7 endpoint(s).
9
+ class PortfoliosResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /portfolios/:portfolioId/projects
15
+ def add_projects(portfolio_id, body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/portfolios/#{Transport.seg(portfolio_id)}/projects", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # POST /portfolios
20
+ def create(body = nil, query: nil, **fields)
21
+ @transport.request("POST", "/portfolios", query: query, body: Transport.body(body, fields))
22
+ end
23
+
24
+ # DELETE /portfolios/:portfolioId
25
+ def delete(portfolio_id, query: nil)
26
+ @transport.request("DELETE", "/portfolios/#{Transport.seg(portfolio_id)}", query: query, body: nil)
27
+ end
28
+
29
+ # GET /portfolios/:portfolioId
30
+ def get(portfolio_id, query: nil)
31
+ @transport.request("GET", "/portfolios/#{Transport.seg(portfolio_id)}", query: query, body: nil)
32
+ end
33
+
34
+ # GET /portfolios
35
+ def list(query: nil)
36
+ @transport.request("GET", "/portfolios", query: query, body: nil)
37
+ end
38
+
39
+ # DELETE /portfolios/:portfolioId/projects
40
+ def remove_projects(portfolio_id, body = nil, query: nil, **fields)
41
+ @transport.request("DELETE", "/portfolios/#{Transport.seg(portfolio_id)}/projects", query: query, body: Transport.body(body, fields))
42
+ end
43
+
44
+ # PATCH /portfolios/:portfolioId
45
+ def rename(portfolio_id, body = nil, query: nil, **fields)
46
+ @transport.request("PATCH", "/portfolios/#{Transport.seg(portfolio_id)}", query: query, body: Transport.body(body, fields))
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,40 @@
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.projects+ — 5 endpoint(s).
9
+ class ProjectsResource
10
+ def initialize(transport)
11
+ @transport = transport
12
+ end
13
+
14
+ # POST /projects
15
+ def create(body = nil, query: nil, **fields)
16
+ @transport.request("POST", "/projects", query: query, body: Transport.body(body, fields))
17
+ end
18
+
19
+ # DELETE /projects/:projectId
20
+ def delete(project_id, query: nil)
21
+ @transport.request("DELETE", "/projects/#{Transport.seg(project_id)}", query: query, body: nil)
22
+ end
23
+
24
+ # GET /projects/:projectId
25
+ def get(project_id, query: nil)
26
+ @transport.request("GET", "/projects/#{Transport.seg(project_id)}", query: query, body: nil)
27
+ end
28
+
29
+ # GET /projects
30
+ def list(query: nil)
31
+ @transport.request("GET", "/projects", query: query, body: nil)
32
+ end
33
+
34
+ # PATCH /projects/:projectId
35
+ def update(project_id, body = nil, query: nil, **fields)
36
+ @transport.request("PATCH", "/projects/#{Transport.seg(project_id)}", query: query, body: Transport.body(body, fields))
37
+ end
38
+ end
39
+ end
40
+ end