@gscdump/contracts 4.7.0 → 5.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.
@@ -5,10 +5,12 @@ import { bingConnectionV1Schemas } from "./bing.mjs";
5
5
  import "./version.mjs";
6
6
  import { HTTP_V1_ERROR_CODES, defineHttpOperation, defineHttpSurface, defineResponseObject, defineSuccessResponse } from "./http-core.mjs";
7
7
  import { bingDataQueryV1Schema, bingDataV1Schemas } from "./bing-data.mjs";
8
+ import { bingAuthorizationRequestV1Schema, bingAuthorizationV1Schemas, bingLinkResultV1Schemas, bingSitemapSubmitRequestV1Schema, bingSitemapSubmitResultV1Schemas, bingSitesQueryV1Schema, bingSitesV1Schemas } from "./bing-sites.mjs";
8
9
  import { GSCDUMP_REALTIME_ACK_POLICY, GSCDUMP_REALTIME_CLOSE_CODES, GSCDUMP_REALTIME_CONNECTION_POLICY, GSCDUMP_REALTIME_LIMITS, GSCDUMP_REALTIME_PING, GSCDUMP_REALTIME_PONG, GSCDUMP_REALTIME_REPLAY_POLICY, GSCDUMP_REALTIME_SUBPROTOCOL, GSCDUMP_REALTIME_TICKET_AUDIENCE, GSCDUMP_REALTIME_TICKET_ISSUER, GSCDUMP_REALTIME_TICKET_POLICY, GSCDUMP_REALTIME_TICKET_PREFIX, REALTIME_V1_EVENT_SEMANTICS, createRealtimeV1Schemas } from "./realtime.mjs";
9
10
  import { GSCDUMP_V1_ANALYTICS_DIMENSIONS, createGscdumpV1BrowserSchemas } from "./browser.mjs";
10
11
  import { indexNowConfigureV1Schema, indexNowConnectionV1Schemas, indexNowSubmissionReceiptV1Schemas, indexNowSubmitV1Schema } from "./indexnow.mjs";
11
12
  import { gscdumpV1OperationRoute, gscdumpV1Surface } from "./route-catalog.mjs";
13
+ import { sitemapSubmissionV1Schemas, sitemapSubmitResultV1Schemas } from "./sitemap-submission.mjs";
12
14
  import { z } from "zod";
13
15
  function errorEnvelopeSchemas(codes, publicRequestId) {
14
16
  const errorDetails = z.record(z.string(), z.json());
@@ -271,6 +273,12 @@ function createGscdumpV1Protocol() {
271
273
  submissionReceipts: z.array(indexNowSubmissionReceiptV1Schemas.client),
272
274
  pagination: bingIndexingEvidencePagination.client
273
275
  }), partnerResponseMeta);
276
+ const bingSitesResponse = defineSuccessResponse(bingSitesV1Schemas, partnerResponseMeta);
277
+ const bingLinkResponse = defineSuccessResponse(bingLinkResultV1Schemas, partnerResponseMeta);
278
+ const bingAuthorizationResponse = defineSuccessResponse(bingAuthorizationV1Schemas, partnerResponseMeta);
279
+ const bingSitemapSubmitResponse = defineSuccessResponse(bingSitemapSubmitResultV1Schemas, partnerResponseMeta);
280
+ const sitemapSubmissionResponse = defineSuccessResponse(sitemapSubmissionV1Schemas, partnerResponseMeta);
281
+ const sitemapSubmitResponse = defineSuccessResponse(sitemapSubmitResultV1Schemas, partnerResponseMeta);
274
282
  const indexingTransition = defineResponseObject({
275
283
  url: z.string(),
276
284
  field: gscdumpIndexingTransitionFieldSchema,
@@ -1837,6 +1845,274 @@ function createGscdumpV1Protocol() {
1837
1845
  }
1838
1846
  }
1839
1847
  }),
1848
+ listUserBingSites: defineHttpOperation({
1849
+ ...gscdumpV1OperationRoute("partner.users.indexing.bing.sites.list"),
1850
+ visibility: "public",
1851
+ semantics: {
1852
+ kind: "query",
1853
+ sideEffects: "none",
1854
+ idempotent: true,
1855
+ retry: "idempotent",
1856
+ readConsistency: "primary"
1857
+ },
1858
+ auth: {
1859
+ credentials: ["user_key", "partner_key"],
1860
+ scopes: ["indexing:read"],
1861
+ ownership: [{
1862
+ credential: "user_key",
1863
+ rule: "self"
1864
+ }, {
1865
+ credential: "partner_key",
1866
+ rule: "linked_user"
1867
+ }]
1868
+ },
1869
+ request: {
1870
+ params: z.strictObject({ userId: realtimeSchemas.publicUserId }),
1871
+ query: bingSitesQueryV1Schema,
1872
+ headers: requestHeaders,
1873
+ body: null
1874
+ },
1875
+ responses: { 200: bingSitesResponse },
1876
+ errors: partnerUserErrors,
1877
+ errorResponse: errorEnvelopeSchemas(partnerUserErrors, realtimeSchemas.publicRequestId),
1878
+ resources: {
1879
+ reads: [{
1880
+ type: "partner.user",
1881
+ idFrom: "params.userId"
1882
+ }, {
1883
+ type: "user.sites",
1884
+ idFrom: "params.userId"
1885
+ }],
1886
+ changes: []
1887
+ },
1888
+ lifecycle: { introduced: "4.8.0" },
1889
+ docs: {
1890
+ summary: "List Bing state for every Site",
1891
+ description: "Returns the user's Bing grant and one tagged Bing state for each Site the user can see. A partner credential sees only its own Sites. `callerCanAct` says whether the caller may run the Operation the state names. Filter by `teamId` to read one Team.",
1892
+ tags: ["Indexing"],
1893
+ examples: {
1894
+ request: {
1895
+ params: { userId: "u_01" },
1896
+ query: { teamId: "t_01" }
1897
+ },
1898
+ response: {
1899
+ data: {
1900
+ searchEngine: "bing",
1901
+ grant: {
1902
+ _tag: "authorized",
1903
+ scopes: ["webmaster.manage"]
1904
+ },
1905
+ sites: [{
1906
+ siteId: "s_01",
1907
+ siteUrl: "https://example.com/",
1908
+ teamId: "t_01",
1909
+ callerCanAct: true,
1910
+ state: {
1911
+ _tag: "linkable",
1912
+ reason: "not-linked"
1913
+ }
1914
+ }]
1915
+ },
1916
+ meta: {
1917
+ requestId: "req_01",
1918
+ surface: "partner",
1919
+ version: "1.0"
1920
+ }
1921
+ }
1922
+ }
1923
+ }
1924
+ }),
1925
+ linkSiteBing: defineHttpOperation({
1926
+ ...gscdumpV1OperationRoute("partner.sites.indexing.bing.link.create"),
1927
+ visibility: "public",
1928
+ semantics: {
1929
+ kind: "mutation",
1930
+ sideEffects: "state",
1931
+ idempotent: true,
1932
+ retry: "idempotent",
1933
+ readConsistency: null
1934
+ },
1935
+ auth: {
1936
+ credentials: ["user_key", "partner_key"],
1937
+ scopes: ["indexing:write"],
1938
+ ownership: [{
1939
+ credential: "user_key",
1940
+ rule: "authorized_site"
1941
+ }, {
1942
+ credential: "partner_key",
1943
+ rule: "authorized_site"
1944
+ }]
1945
+ },
1946
+ request: {
1947
+ params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
1948
+ query: null,
1949
+ headers: requestHeaders,
1950
+ body: null
1951
+ },
1952
+ responses: { 200: bingLinkResponse },
1953
+ errors: partnerSiteErrors,
1954
+ errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
1955
+ resources: {
1956
+ reads: [{
1957
+ type: "site.indexing",
1958
+ idFrom: "params.siteId"
1959
+ }],
1960
+ changes: [{
1961
+ type: "site.indexing",
1962
+ idFrom: "params.siteId"
1963
+ }]
1964
+ },
1965
+ lifecycle: { introduced: "4.8.0" },
1966
+ docs: {
1967
+ summary: "Link a Site to Bing",
1968
+ description: "Binds the Site with the Site owner's stored Bing grant, with no Microsoft redirect. Only the Site owner's user credential may link: any other caller gets `403 forbidden` with `details.reason` `site-owner-required`. Every expected outcome is a value: `linked` carries the new Site state, `grant-required` asks the owner to authorize Bing, and `failed` says whether a retry can help.",
1969
+ tags: ["Indexing"],
1970
+ examples: {
1971
+ request: { params: { siteId: "s_01" } },
1972
+ response: {
1973
+ data: {
1974
+ _tag: "grant-required",
1975
+ reason: "grant-missing"
1976
+ },
1977
+ meta: {
1978
+ requestId: "req_01",
1979
+ surface: "partner",
1980
+ version: "1.0"
1981
+ }
1982
+ }
1983
+ }
1984
+ }
1985
+ }),
1986
+ createSiteBingAuthorization: defineHttpOperation({
1987
+ ...gscdumpV1OperationRoute("partner.sites.indexing.bing.authorization.create"),
1988
+ visibility: "public",
1989
+ semantics: {
1990
+ kind: "mutation",
1991
+ sideEffects: "state",
1992
+ idempotent: true,
1993
+ retry: "idempotent",
1994
+ readConsistency: null
1995
+ },
1996
+ auth: {
1997
+ credentials: ["user_key", "partner_key"],
1998
+ scopes: ["indexing:write"],
1999
+ ownership: [{
2000
+ credential: "user_key",
2001
+ rule: "authorized_site"
2002
+ }, {
2003
+ credential: "partner_key",
2004
+ rule: "authorized_site"
2005
+ }]
2006
+ },
2007
+ request: {
2008
+ params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
2009
+ query: null,
2010
+ headers: requestHeaders,
2011
+ body: bingAuthorizationRequestV1Schema
2012
+ },
2013
+ responses: { 200: bingAuthorizationResponse },
2014
+ errors: partnerSiteErrors,
2015
+ errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
2016
+ resources: {
2017
+ reads: [{
2018
+ type: "site.indexing",
2019
+ idFrom: "params.siteId"
2020
+ }],
2021
+ changes: []
2022
+ },
2023
+ lifecycle: { introduced: "4.8.0" },
2024
+ docs: {
2025
+ summary: "Authorize Bing for a Site",
2026
+ description: "Returns a Microsoft authorize URL that expires at `expiresAt`. After consent, gscdump stores the grant, links the Site, and returns the browser to `returnUrl` with `bing=connected`, `bing=verification-required`, or `bing=error&reason=<reason>`. `returnUrl` must be a gscdump.com path or an allowed origin, otherwise the request fails with `400 invalid_request` and `details.reason` `return-url-not-allowed`. Only the Site owner's user credential may authorize.",
2027
+ tags: ["Indexing"],
2028
+ examples: {
2029
+ request: {
2030
+ params: { siteId: "s_01" },
2031
+ body: { returnUrl: "https://nuxtseo.com/pro/dashboard/integrations" }
2032
+ },
2033
+ response: {
2034
+ data: {
2035
+ authorizeUrl: "https://www.bing.com/webmasters/oauth/authorize?client_id=gscdump&state=intent_01",
2036
+ expiresAt: "2026-09-30T00:10:00.000Z"
2037
+ },
2038
+ meta: {
2039
+ requestId: "req_01",
2040
+ surface: "partner",
2041
+ version: "1.0"
2042
+ }
2043
+ }
2044
+ }
2045
+ }
2046
+ }),
2047
+ submitSiteBingSitemap: defineHttpOperation({
2048
+ ...gscdumpV1OperationRoute("partner.sites.indexing.bing.sitemaps.submit"),
2049
+ visibility: "public",
2050
+ semantics: {
2051
+ kind: "mutation",
2052
+ sideEffects: "state",
2053
+ idempotent: true,
2054
+ retry: "idempotent",
2055
+ readConsistency: null
2056
+ },
2057
+ auth: {
2058
+ credentials: ["user_key", "partner_key"],
2059
+ scopes: ["indexing:write"],
2060
+ ownership: [{
2061
+ credential: "user_key",
2062
+ rule: "authorized_site"
2063
+ }, {
2064
+ credential: "partner_key",
2065
+ rule: "authorized_site"
2066
+ }]
2067
+ },
2068
+ request: {
2069
+ params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
2070
+ query: null,
2071
+ headers: requestHeaders,
2072
+ body: bingSitemapSubmitRequestV1Schema
2073
+ },
2074
+ responses: { 200: bingSitemapSubmitResponse },
2075
+ errors: partnerSiteErrors,
2076
+ errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
2077
+ resources: {
2078
+ reads: [{
2079
+ type: "site.indexing",
2080
+ idFrom: "params.siteId"
2081
+ }],
2082
+ changes: [{
2083
+ type: "site.indexing",
2084
+ idFrom: "params.siteId"
2085
+ }]
2086
+ },
2087
+ lifecycle: { introduced: "4.8.0" },
2088
+ docs: {
2089
+ summary: "Submit a Sitemap to Bing",
2090
+ description: "Submits one Sitemap for a verified Site, then reads what Bing lists. Without `url`, gscdump submits the Sitemap it finds on the Site. Bing lags after a submit, so `sitemap` usually reads `awaiting-bing`. Every expected outcome is a value.",
2091
+ tags: ["Indexing"],
2092
+ examples: {
2093
+ request: {
2094
+ params: { siteId: "s_01" },
2095
+ body: {}
2096
+ },
2097
+ response: {
2098
+ data: {
2099
+ _tag: "submitted",
2100
+ sitemapUrl: "https://example.com/sitemap.xml",
2101
+ sitemap: {
2102
+ _tag: "awaiting-bing",
2103
+ checkedAt: "2026-09-30T00:00:00.000Z",
2104
+ lastSubmittedAt: "2026-09-30T00:00:00.000Z"
2105
+ }
2106
+ },
2107
+ meta: {
2108
+ requestId: "req_01",
2109
+ surface: "partner",
2110
+ version: "1.0"
2111
+ }
2112
+ }
2113
+ }
2114
+ }
2115
+ }),
1840
2116
  getSiteBingConnection: defineHttpOperation({
1841
2117
  ...gscdumpV1OperationRoute("partner.sites.indexing.bing.connection.get"),
1842
2118
  visibility: "public",
@@ -2183,6 +2459,132 @@ function createGscdumpV1Protocol() {
2183
2459
  }
2184
2460
  }
2185
2461
  }),
2462
+ getSiteSitemapSubmission: defineHttpOperation({
2463
+ ...gscdumpV1OperationRoute("partner.sites.sitemaps.submission.get"),
2464
+ visibility: "public",
2465
+ semantics: {
2466
+ kind: "query",
2467
+ sideEffects: "none",
2468
+ idempotent: true,
2469
+ retry: "idempotent",
2470
+ readConsistency: "primary"
2471
+ },
2472
+ auth: {
2473
+ credentials: ["user_key", "partner_key"],
2474
+ scopes: ["sitemaps:read"],
2475
+ ownership: [{
2476
+ credential: "user_key",
2477
+ rule: "authorized_site"
2478
+ }, {
2479
+ credential: "partner_key",
2480
+ rule: "authorized_site"
2481
+ }]
2482
+ },
2483
+ request: {
2484
+ params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
2485
+ query: null,
2486
+ headers: requestHeaders,
2487
+ body: null
2488
+ },
2489
+ responses: { 200: sitemapSubmissionResponse },
2490
+ errors: partnerSiteErrors,
2491
+ errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
2492
+ resources: {
2493
+ reads: [{
2494
+ type: "site.sitemaps",
2495
+ idFrom: "params.siteId"
2496
+ }],
2497
+ changes: []
2498
+ },
2499
+ lifecycle: { introduced: "4.8.0" },
2500
+ docs: {
2501
+ summary: "Get Sitemap submission",
2502
+ description: "Returns the Sitemap gscdump would submit to Google for the Site and whether the stored grant can submit it. gscdump picks a Sitemap it found on the Site's own host, under the linked property, and reads its own record of the granted scopes and the property permission. It makes no Google call.",
2503
+ tags: ["Sitemaps"],
2504
+ examples: {
2505
+ request: { params: { siteId: "s_01" } },
2506
+ response: {
2507
+ data: {
2508
+ searchEngine: "google",
2509
+ gscPropertyUrl: "sc-domain:example.com",
2510
+ callerCanAct: true,
2511
+ state: {
2512
+ _tag: "ready",
2513
+ sitemapUrl: "https://example.com/sitemap.xml",
2514
+ writeAccess: "granted"
2515
+ }
2516
+ },
2517
+ meta: {
2518
+ requestId: "req_01",
2519
+ surface: "partner",
2520
+ version: "1.0"
2521
+ }
2522
+ }
2523
+ }
2524
+ }
2525
+ }),
2526
+ submitSiteSitemap: defineHttpOperation({
2527
+ ...gscdumpV1OperationRoute("partner.sites.sitemaps.submission.create"),
2528
+ visibility: "public",
2529
+ semantics: {
2530
+ kind: "mutation",
2531
+ sideEffects: "state",
2532
+ idempotent: true,
2533
+ retry: "idempotent",
2534
+ readConsistency: null
2535
+ },
2536
+ auth: {
2537
+ credentials: ["user_key", "partner_key"],
2538
+ scopes: ["sitemaps:write"],
2539
+ ownership: [{
2540
+ credential: "user_key",
2541
+ rule: "authorized_site"
2542
+ }, {
2543
+ credential: "partner_key",
2544
+ rule: "authorized_site"
2545
+ }]
2546
+ },
2547
+ request: {
2548
+ params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
2549
+ query: null,
2550
+ headers: requestHeaders,
2551
+ body: null
2552
+ },
2553
+ responses: { 200: sitemapSubmitResponse },
2554
+ errors: partnerSiteErrors,
2555
+ errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
2556
+ resources: {
2557
+ reads: [{
2558
+ type: "site.sitemaps",
2559
+ idFrom: "params.siteId"
2560
+ }],
2561
+ changes: [{
2562
+ type: "site.sitemaps",
2563
+ idFrom: "params.siteId"
2564
+ }]
2565
+ },
2566
+ lifecycle: { introduced: "4.8.0" },
2567
+ docs: {
2568
+ summary: "Submit a Sitemap to Google",
2569
+ description: "Submits the Sitemap `partner.sites.sitemaps.submission.get` names, with the Site owner's stored grant. It reads Google's Sitemap list first, so a Sitemap submitted elsewhere reads `already-listed`. When gscdump has found none yet, it looks on the Site. It does not ask Google to submit when its own record shows the grant or permission cannot. Every expected outcome is a value.",
2570
+ tags: ["Sitemaps"],
2571
+ examples: {
2572
+ request: { params: { siteId: "s_01" } },
2573
+ response: {
2574
+ data: {
2575
+ _tag: "submitted",
2576
+ sitemapUrl: "https://example.com/sitemap.xml",
2577
+ sitemapCount: 1
2578
+ },
2579
+ meta: {
2580
+ requestId: "req_01",
2581
+ surface: "partner",
2582
+ version: "1.0"
2583
+ }
2584
+ }
2585
+ }
2586
+ }
2587
+ }),
2186
2588
  getSiteSitemapChanges: defineHttpOperation({
2187
2589
  ...gscdumpV1OperationRoute("partner.sites.sitemaps.changes.get"),
2188
2590
  visibility: "public",
@@ -5408,6 +5810,12 @@ function createGscdumpV1Protocol() {
5408
5810
  indexNowConnectionResponse,
5409
5811
  indexNowSubmissionResponse,
5410
5812
  indexNowSubmissionReceiptsResponse,
5813
+ bingSitesResponse,
5814
+ bingLinkResponse,
5815
+ bingAuthorizationResponse,
5816
+ bingSitemapSubmitResponse,
5817
+ sitemapSubmissionResponse,
5818
+ sitemapSubmitResponse,
5411
5819
  lifecycleResponse,
5412
5820
  userEntitlementsResponse,
5413
5821
  registerSiteRequest,
@@ -46,6 +46,11 @@ export declare const GSCDUMP_V1_ROUTE_CATALOG: {
46
46
  readonly method: "PATCH";
47
47
  readonly template: "/users/{userId}/tokens";
48
48
  };
49
+ readonly 'partner.users.indexing.bing.sites.list': {
50
+ readonly surface: "partner";
51
+ readonly method: "GET";
52
+ readonly template: "/users/{userId}/indexing/bing/sites";
53
+ };
49
54
  readonly 'partner.sites.indexing.get': {
50
55
  readonly surface: "partner";
51
56
  readonly method: "GET";
@@ -101,6 +106,21 @@ export declare const GSCDUMP_V1_ROUTE_CATALOG: {
101
106
  readonly method: "POST";
102
107
  readonly template: "/sites/{siteId}/indexing/bing/connection/verify";
103
108
  };
109
+ readonly 'partner.sites.indexing.bing.link.create': {
110
+ readonly surface: "partner";
111
+ readonly method: "POST";
112
+ readonly template: "/sites/{siteId}/indexing/bing/link";
113
+ };
114
+ readonly 'partner.sites.indexing.bing.authorization.create': {
115
+ readonly surface: "partner";
116
+ readonly method: "POST";
117
+ readonly template: "/sites/{siteId}/indexing/bing/authorization";
118
+ };
119
+ readonly 'partner.sites.indexing.bing.sitemaps.submit': {
120
+ readonly surface: "partner";
121
+ readonly method: "POST";
122
+ readonly template: "/sites/{siteId}/indexing/bing/sitemaps";
123
+ };
104
124
  readonly 'partner.sites.indexing.transitions.list': {
105
125
  readonly surface: "partner";
106
126
  readonly method: "GET";
@@ -121,6 +141,16 @@ export declare const GSCDUMP_V1_ROUTE_CATALOG: {
121
141
  readonly method: "GET";
122
142
  readonly template: "/sites/{siteId}/sitemaps/changes";
123
143
  };
144
+ readonly 'partner.sites.sitemaps.submission.get': {
145
+ readonly surface: "partner";
146
+ readonly method: "GET";
147
+ readonly template: "/sites/{siteId}/sitemaps/submission";
148
+ };
149
+ readonly 'partner.sites.sitemaps.submission.create': {
150
+ readonly surface: "partner";
151
+ readonly method: "POST";
152
+ readonly template: "/sites/{siteId}/sitemaps/submission";
153
+ };
124
154
  readonly 'partner.sites.analysis.get': {
125
155
  readonly surface: "partner";
126
156
  readonly method: "GET";
@@ -33,6 +33,11 @@ const GSCDUMP_V1_ROUTE_CATALOG = {
33
33
  method: "PATCH",
34
34
  template: "/users/{userId}/tokens"
35
35
  },
36
+ "partner.users.indexing.bing.sites.list": {
37
+ surface: "partner",
38
+ method: "GET",
39
+ template: "/users/{userId}/indexing/bing/sites"
40
+ },
36
41
  "partner.sites.indexing.get": {
37
42
  surface: "partner",
38
43
  method: "GET",
@@ -88,6 +93,21 @@ const GSCDUMP_V1_ROUTE_CATALOG = {
88
93
  method: "POST",
89
94
  template: "/sites/{siteId}/indexing/bing/connection/verify"
90
95
  },
96
+ "partner.sites.indexing.bing.link.create": {
97
+ surface: "partner",
98
+ method: "POST",
99
+ template: "/sites/{siteId}/indexing/bing/link"
100
+ },
101
+ "partner.sites.indexing.bing.authorization.create": {
102
+ surface: "partner",
103
+ method: "POST",
104
+ template: "/sites/{siteId}/indexing/bing/authorization"
105
+ },
106
+ "partner.sites.indexing.bing.sitemaps.submit": {
107
+ surface: "partner",
108
+ method: "POST",
109
+ template: "/sites/{siteId}/indexing/bing/sitemaps"
110
+ },
91
111
  "partner.sites.indexing.transitions.list": {
92
112
  surface: "partner",
93
113
  method: "GET",
@@ -108,6 +128,16 @@ const GSCDUMP_V1_ROUTE_CATALOG = {
108
128
  method: "GET",
109
129
  template: "/sites/{siteId}/sitemaps/changes"
110
130
  },
131
+ "partner.sites.sitemaps.submission.get": {
132
+ surface: "partner",
133
+ method: "GET",
134
+ template: "/sites/{siteId}/sitemaps/submission"
135
+ },
136
+ "partner.sites.sitemaps.submission.create": {
137
+ surface: "partner",
138
+ method: "POST",
139
+ template: "/sites/{siteId}/sitemaps/submission"
140
+ },
111
141
  "partner.sites.analysis.get": {
112
142
  surface: "partner",
113
143
  method: "GET",