@gscdump/contracts 4.4.0 → 4.6.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.
- package/dist/endpoints.d.mts +120 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.mjs +2 -1
- package/dist/indexing-coverage.d.mts +319 -0
- package/dist/indexing-coverage.mjs +99 -0
- package/dist/schemas.d.mts +364 -7
- package/dist/schemas.mjs +6 -1
- package/dist/types.d.mts +7 -0
- package/dist/v1/http.d.mts +3 -2
- package/dist/v1/http.mjs +2 -1
- package/dist/v1/index.d.mts +3 -2
- package/dist/v1/index.mjs +2 -1
- package/dist/v1/indexnow.d.mts +241 -0
- package/dist/v1/indexnow.mjs +126 -0
- package/dist/v1/operations.d.mts +3386 -1049
- package/dist/v1/operations.mjs +556 -0
- package/dist/v1/route-catalog.d.mts +40 -0
- package/dist/v1/route-catalog.mjs +40 -0
- package/package.json +1 -1
package/dist/v1/operations.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { watchedUrlsChangeRequestSchema, watchedUrlsChangeResponseSchema, watchedUrlsResponseSchema } from "../indexing-coverage.mjs";
|
|
1
2
|
import { addPartnerTeamMemberSchema, bindPartnerSiteTeamSchema, bindPartnerTeamCatalogResponseSchema, bindPartnerTeamCatalogSchema, builderStateSchema, createPartnerTeamSchema, gscComparisonFilterSchema, gscdumpAnalysisBundleResponseSchema, gscdumpAnalysisPresetSchema, gscdumpAnalysisResponseSchema, gscdumpAvailableSiteSchema, gscdumpCanonicalMismatchesResponseSchema, gscdumpDataDetailResponseSchema, gscdumpDataResponseSchema, gscdumpDeletePartnerUserResponseSchema, gscdumpIndexPercentResponseSchema, gscdumpIndexingDiagnosticsResponseSchema, gscdumpIndexingResponseSchema, gscdumpIndexingTransitionFieldSchema, gscdumpKeywordSparklinesResponseSchema, gscdumpPageTrendResponseSchema, gscdumpQueryTrendResponseSchema, gscdumpSiteRegistrationSchema, gscdumpSitemapChangesResponseSchema, gscdumpSitemapExportQuerySchema, gscdumpSitemapExportResponseSchema, gscdumpSitemapMembershipParamsSchema, gscdumpSitemapMembershipResponseSchema, gscdumpSitemapUrlsQuerySchema, gscdumpSitemapUrlsResponseSchema, gscdumpSitemapsResponseSchema, gscdumpTeamRoleSchema, gscdumpTopAssociationResponseSchema, gscdumpUserRegistrationSchema, indexingUrlsResponseSchema, partnerSiteTeamBindingResponseSchema, partnerSitemapActionResponseSchema, partnerSitemapActionSchema, partnerTeamCreatedResponseSchema, partnerTeamDeletedResponseSchema, partnerTeamMemberAddedResponseSchema, partnerTeamMemberRemovedResponseSchema, partnerTeamMemberRoleResponseSchema, partnerTeamMembersResponseSchema, partnerTeamRenamedResponseSchema, registerPartnerSiteSchema, registerPartnerUserSchema, renamePartnerTeamSchema, searchTypeSchema, siteIntIdCrosswalkResponseSchema, sitemapChangesTruncationReasonSchema, teamCatalogRefSchema, updatePartnerUserTokensSchema } from "../schemas.mjs";
|
|
2
3
|
import { bingConnectionV1Schemas } from "./bing.mjs";
|
|
3
4
|
import "./version.mjs";
|
|
@@ -5,6 +6,7 @@ import { HTTP_V1_ERROR_CODES, defineHttpOperation, defineHttpSurface, defineResp
|
|
|
5
6
|
import { bingDataQueryV1Schema, bingDataV1Schemas } from "./bing-data.mjs";
|
|
6
7
|
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";
|
|
7
8
|
import { GSCDUMP_V1_ANALYTICS_DIMENSIONS, createGscdumpV1BrowserSchemas } from "./browser.mjs";
|
|
9
|
+
import { indexNowConfigureV1Schema, indexNowConnectionV1Schemas, indexNowSubmissionReceiptV1Schemas, indexNowSubmitV1Schema } from "./indexnow.mjs";
|
|
8
10
|
import { gscdumpV1OperationRoute, gscdumpV1Surface } from "./route-catalog.mjs";
|
|
9
11
|
import { z } from "zod";
|
|
10
12
|
function errorEnvelopeSchemas(codes, publicRequestId) {
|
|
@@ -259,6 +261,15 @@ function createGscdumpV1Protocol() {
|
|
|
259
261
|
pagination: bingIndexingEvidencePagination.client
|
|
260
262
|
}), partnerResponseMeta);
|
|
261
263
|
const bingConnectionResponse = defineSuccessResponse(bingConnectionV1Schemas, partnerResponseMeta);
|
|
264
|
+
const indexNowConnectionResponse = defineSuccessResponse(indexNowConnectionV1Schemas, partnerResponseMeta);
|
|
265
|
+
const indexNowSubmissionResponse = defineSuccessResponse(defineResponseObject({ submissionReceipt: indexNowSubmissionReceiptV1Schemas.producer }, { submissionReceipt: indexNowSubmissionReceiptV1Schemas.client }), partnerResponseMeta);
|
|
266
|
+
const indexNowSubmissionReceiptsResponse = defineSuccessResponse(defineResponseObject({
|
|
267
|
+
submissionReceipts: z.array(indexNowSubmissionReceiptV1Schemas.producer),
|
|
268
|
+
pagination: bingIndexingEvidencePagination.producer
|
|
269
|
+
}, {
|
|
270
|
+
submissionReceipts: z.array(indexNowSubmissionReceiptV1Schemas.client),
|
|
271
|
+
pagination: bingIndexingEvidencePagination.client
|
|
272
|
+
}), partnerResponseMeta);
|
|
262
273
|
const indexingTransition = defineResponseObject({
|
|
263
274
|
url: z.string(),
|
|
264
275
|
field: gscdumpIndexingTransitionFieldSchema,
|
|
@@ -444,6 +455,8 @@ function createGscdumpV1Protocol() {
|
|
|
444
455
|
reason: z.enum(["domain_mismatch", "rate_limited"])
|
|
445
456
|
}))
|
|
446
457
|
}), partnerResponseMeta);
|
|
458
|
+
const watchedUrlsResponse = defineSuccessResponse(defineResponseObject(watchedUrlsResponseSchema.shape), partnerResponseMeta);
|
|
459
|
+
const watchedUrlsChangeResponse = defineSuccessResponse(defineResponseObject(watchedUrlsChangeResponseSchema.shape), partnerResponseMeta);
|
|
447
460
|
const dateRangeQuery = z.strictObject({
|
|
448
461
|
startDate: calendarDate,
|
|
449
462
|
endDate: calendarDate
|
|
@@ -1363,6 +1376,339 @@ function createGscdumpV1Protocol() {
|
|
|
1363
1376
|
}
|
|
1364
1377
|
}
|
|
1365
1378
|
}),
|
|
1379
|
+
getSiteIndexNowConnection: defineHttpOperation({
|
|
1380
|
+
...gscdumpV1OperationRoute("partner.sites.indexing.indexnow.connection.get"),
|
|
1381
|
+
visibility: "public",
|
|
1382
|
+
semantics: {
|
|
1383
|
+
kind: "query",
|
|
1384
|
+
sideEffects: "none",
|
|
1385
|
+
idempotent: true,
|
|
1386
|
+
retry: "idempotent",
|
|
1387
|
+
readConsistency: "primary"
|
|
1388
|
+
},
|
|
1389
|
+
auth: {
|
|
1390
|
+
credentials: ["user_key", "partner_key"],
|
|
1391
|
+
scopes: ["indexing:read"],
|
|
1392
|
+
ownership: [{
|
|
1393
|
+
credential: "user_key",
|
|
1394
|
+
rule: "authorized_site"
|
|
1395
|
+
}, {
|
|
1396
|
+
credential: "partner_key",
|
|
1397
|
+
rule: "authorized_site"
|
|
1398
|
+
}]
|
|
1399
|
+
},
|
|
1400
|
+
request: {
|
|
1401
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
1402
|
+
query: null,
|
|
1403
|
+
headers: requestHeaders,
|
|
1404
|
+
body: null
|
|
1405
|
+
},
|
|
1406
|
+
responses: { 200: indexNowConnectionResponse },
|
|
1407
|
+
errors: partnerSiteErrors,
|
|
1408
|
+
errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
|
|
1409
|
+
resources: {
|
|
1410
|
+
reads: [{
|
|
1411
|
+
type: "site.indexing",
|
|
1412
|
+
idFrom: "params.siteId"
|
|
1413
|
+
}],
|
|
1414
|
+
changes: []
|
|
1415
|
+
},
|
|
1416
|
+
lifecycle: { introduced: "1.7.0" },
|
|
1417
|
+
docs: {
|
|
1418
|
+
summary: "Get IndexNow connection",
|
|
1419
|
+
description: "Returns the exact Site host and IndexNow key verification state.",
|
|
1420
|
+
tags: ["Indexing"],
|
|
1421
|
+
examples: {
|
|
1422
|
+
request: { params: { siteId: "s_01" } },
|
|
1423
|
+
response: {
|
|
1424
|
+
data: {
|
|
1425
|
+
_tag: "disconnected",
|
|
1426
|
+
host: "example.com"
|
|
1427
|
+
},
|
|
1428
|
+
meta: {
|
|
1429
|
+
requestId: "req_01",
|
|
1430
|
+
surface: "partner",
|
|
1431
|
+
version: "1.0"
|
|
1432
|
+
}
|
|
1433
|
+
}
|
|
1434
|
+
}
|
|
1435
|
+
}
|
|
1436
|
+
}),
|
|
1437
|
+
configureSiteIndexNowConnection: defineHttpOperation({
|
|
1438
|
+
...gscdumpV1OperationRoute("partner.sites.indexing.indexnow.connection.configure"),
|
|
1439
|
+
visibility: "public",
|
|
1440
|
+
semantics: {
|
|
1441
|
+
kind: "mutation",
|
|
1442
|
+
sideEffects: "state",
|
|
1443
|
+
idempotent: true,
|
|
1444
|
+
retry: "idempotent",
|
|
1445
|
+
readConsistency: null
|
|
1446
|
+
},
|
|
1447
|
+
auth: {
|
|
1448
|
+
credentials: ["user_key", "partner_key"],
|
|
1449
|
+
scopes: ["indexing:write"],
|
|
1450
|
+
ownership: [{
|
|
1451
|
+
credential: "user_key",
|
|
1452
|
+
rule: "authorized_site"
|
|
1453
|
+
}, {
|
|
1454
|
+
credential: "partner_key",
|
|
1455
|
+
rule: "authorized_site"
|
|
1456
|
+
}]
|
|
1457
|
+
},
|
|
1458
|
+
request: {
|
|
1459
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
1460
|
+
query: null,
|
|
1461
|
+
headers: requestHeaders,
|
|
1462
|
+
body: indexNowConfigureV1Schema
|
|
1463
|
+
},
|
|
1464
|
+
responses: { 200: indexNowConnectionResponse },
|
|
1465
|
+
errors: partnerSiteErrors,
|
|
1466
|
+
errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
|
|
1467
|
+
resources: {
|
|
1468
|
+
reads: [{
|
|
1469
|
+
type: "site.indexing",
|
|
1470
|
+
idFrom: "params.siteId"
|
|
1471
|
+
}],
|
|
1472
|
+
changes: [{
|
|
1473
|
+
type: "site.indexing",
|
|
1474
|
+
idFrom: "params.siteId"
|
|
1475
|
+
}]
|
|
1476
|
+
},
|
|
1477
|
+
lifecycle: { introduced: "1.7.0" },
|
|
1478
|
+
docs: {
|
|
1479
|
+
summary: "Configure IndexNow connection",
|
|
1480
|
+
description: "Stores an IndexNow key and key file location for the Site.",
|
|
1481
|
+
tags: ["Indexing"],
|
|
1482
|
+
examples: {
|
|
1483
|
+
request: {
|
|
1484
|
+
params: { siteId: "s_01" },
|
|
1485
|
+
body: { key: "abc12345" }
|
|
1486
|
+
},
|
|
1487
|
+
response: {
|
|
1488
|
+
data: {
|
|
1489
|
+
_tag: "verification-required",
|
|
1490
|
+
host: "example.com",
|
|
1491
|
+
keyLocation: "https://example.com/abc12345.txt",
|
|
1492
|
+
reason: null
|
|
1493
|
+
},
|
|
1494
|
+
meta: {
|
|
1495
|
+
requestId: "req_01",
|
|
1496
|
+
surface: "partner",
|
|
1497
|
+
version: "1.0"
|
|
1498
|
+
}
|
|
1499
|
+
}
|
|
1500
|
+
}
|
|
1501
|
+
}
|
|
1502
|
+
}),
|
|
1503
|
+
verifySiteIndexNowConnection: defineHttpOperation({
|
|
1504
|
+
...gscdumpV1OperationRoute("partner.sites.indexing.indexnow.connection.verify"),
|
|
1505
|
+
visibility: "public",
|
|
1506
|
+
semantics: {
|
|
1507
|
+
kind: "mutation",
|
|
1508
|
+
sideEffects: "state",
|
|
1509
|
+
idempotent: true,
|
|
1510
|
+
retry: "idempotent",
|
|
1511
|
+
readConsistency: null
|
|
1512
|
+
},
|
|
1513
|
+
auth: {
|
|
1514
|
+
credentials: ["user_key", "partner_key"],
|
|
1515
|
+
scopes: ["indexing:write"],
|
|
1516
|
+
ownership: [{
|
|
1517
|
+
credential: "user_key",
|
|
1518
|
+
rule: "authorized_site"
|
|
1519
|
+
}, {
|
|
1520
|
+
credential: "partner_key",
|
|
1521
|
+
rule: "authorized_site"
|
|
1522
|
+
}]
|
|
1523
|
+
},
|
|
1524
|
+
request: {
|
|
1525
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
1526
|
+
query: null,
|
|
1527
|
+
headers: requestHeaders,
|
|
1528
|
+
body: null
|
|
1529
|
+
},
|
|
1530
|
+
responses: { 200: indexNowConnectionResponse },
|
|
1531
|
+
errors: partnerSiteErrors,
|
|
1532
|
+
errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
|
|
1533
|
+
resources: {
|
|
1534
|
+
reads: [{
|
|
1535
|
+
type: "site.indexing",
|
|
1536
|
+
idFrom: "params.siteId"
|
|
1537
|
+
}],
|
|
1538
|
+
changes: [{
|
|
1539
|
+
type: "site.indexing",
|
|
1540
|
+
idFrom: "params.siteId"
|
|
1541
|
+
}]
|
|
1542
|
+
},
|
|
1543
|
+
lifecycle: { introduced: "1.7.0" },
|
|
1544
|
+
docs: {
|
|
1545
|
+
summary: "Verify IndexNow key file",
|
|
1546
|
+
description: "Checks the key file on the exact Site host.",
|
|
1547
|
+
tags: ["Indexing"],
|
|
1548
|
+
examples: {
|
|
1549
|
+
request: { params: { siteId: "s_01" } },
|
|
1550
|
+
response: {
|
|
1551
|
+
data: {
|
|
1552
|
+
_tag: "connected",
|
|
1553
|
+
host: "example.com",
|
|
1554
|
+
keyLocation: "https://example.com/abc12345.txt",
|
|
1555
|
+
verifiedAt: "2026-09-30T00:00:00.000Z"
|
|
1556
|
+
},
|
|
1557
|
+
meta: {
|
|
1558
|
+
requestId: "req_01",
|
|
1559
|
+
surface: "partner",
|
|
1560
|
+
version: "1.0"
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
}
|
|
1564
|
+
}
|
|
1565
|
+
}),
|
|
1566
|
+
submitSiteIndexNow: defineHttpOperation({
|
|
1567
|
+
...gscdumpV1OperationRoute("partner.sites.indexing.indexnow.submissions.create"),
|
|
1568
|
+
visibility: "public",
|
|
1569
|
+
semantics: {
|
|
1570
|
+
kind: "mutation",
|
|
1571
|
+
sideEffects: "state",
|
|
1572
|
+
idempotent: true,
|
|
1573
|
+
retry: "idempotent",
|
|
1574
|
+
readConsistency: null
|
|
1575
|
+
},
|
|
1576
|
+
auth: {
|
|
1577
|
+
credentials: ["user_key", "partner_key"],
|
|
1578
|
+
scopes: ["indexing:write"],
|
|
1579
|
+
ownership: [{
|
|
1580
|
+
credential: "user_key",
|
|
1581
|
+
rule: "authorized_site"
|
|
1582
|
+
}, {
|
|
1583
|
+
credential: "partner_key",
|
|
1584
|
+
rule: "authorized_site"
|
|
1585
|
+
}]
|
|
1586
|
+
},
|
|
1587
|
+
request: {
|
|
1588
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
1589
|
+
query: null,
|
|
1590
|
+
headers: requestHeaders,
|
|
1591
|
+
body: indexNowSubmitV1Schema
|
|
1592
|
+
},
|
|
1593
|
+
responses: { 200: indexNowSubmissionResponse },
|
|
1594
|
+
errors: partnerSiteErrors,
|
|
1595
|
+
errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
|
|
1596
|
+
resources: {
|
|
1597
|
+
reads: [{
|
|
1598
|
+
type: "site.indexing",
|
|
1599
|
+
idFrom: "params.siteId"
|
|
1600
|
+
}],
|
|
1601
|
+
changes: [{
|
|
1602
|
+
type: "site.indexing",
|
|
1603
|
+
idFrom: "params.siteId"
|
|
1604
|
+
}]
|
|
1605
|
+
},
|
|
1606
|
+
lifecycle: { introduced: "1.7.0" },
|
|
1607
|
+
docs: {
|
|
1608
|
+
summary: "Submit IndexNow change notifications",
|
|
1609
|
+
description: "Queues change notifications and returns a Submission Receipt. Acceptance does not prove indexing.",
|
|
1610
|
+
tags: ["Indexing"],
|
|
1611
|
+
examples: {
|
|
1612
|
+
request: {
|
|
1613
|
+
params: { siteId: "s_01" },
|
|
1614
|
+
body: {
|
|
1615
|
+
urls: ["https://example.com/page"],
|
|
1616
|
+
idempotencyKey: "req_01"
|
|
1617
|
+
}
|
|
1618
|
+
},
|
|
1619
|
+
response: {
|
|
1620
|
+
data: { submissionReceipt: {
|
|
1621
|
+
_tag: "queued",
|
|
1622
|
+
id: "in_01",
|
|
1623
|
+
urls: ["https://example.com/page"],
|
|
1624
|
+
createdAt: "2026-09-30T00:00:00.000Z",
|
|
1625
|
+
updatedAt: "2026-09-30T00:00:00.000Z",
|
|
1626
|
+
attempts: 0,
|
|
1627
|
+
httpStatus: null,
|
|
1628
|
+
reason: null,
|
|
1629
|
+
retryAt: null
|
|
1630
|
+
} },
|
|
1631
|
+
meta: {
|
|
1632
|
+
requestId: "req_01",
|
|
1633
|
+
surface: "partner",
|
|
1634
|
+
version: "1.0"
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
}),
|
|
1640
|
+
listSiteIndexNowSubmissionReceipts: defineHttpOperation({
|
|
1641
|
+
...gscdumpV1OperationRoute("partner.sites.indexing.indexnow.submissions.list"),
|
|
1642
|
+
visibility: "public",
|
|
1643
|
+
semantics: {
|
|
1644
|
+
kind: "query",
|
|
1645
|
+
sideEffects: "none",
|
|
1646
|
+
idempotent: true,
|
|
1647
|
+
retry: "idempotent",
|
|
1648
|
+
readConsistency: "primary"
|
|
1649
|
+
},
|
|
1650
|
+
auth: {
|
|
1651
|
+
credentials: ["user_key", "partner_key"],
|
|
1652
|
+
scopes: ["indexing:read"],
|
|
1653
|
+
ownership: [{
|
|
1654
|
+
credential: "user_key",
|
|
1655
|
+
rule: "authorized_site"
|
|
1656
|
+
}, {
|
|
1657
|
+
credential: "partner_key",
|
|
1658
|
+
rule: "authorized_site"
|
|
1659
|
+
}]
|
|
1660
|
+
},
|
|
1661
|
+
request: {
|
|
1662
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
1663
|
+
query: z.strictObject({
|
|
1664
|
+
limit: z.coerce.number().int().min(1).max(100).default(25),
|
|
1665
|
+
offset: z.coerce.number().int().min(0).default(0)
|
|
1666
|
+
}),
|
|
1667
|
+
headers: requestHeaders,
|
|
1668
|
+
body: null
|
|
1669
|
+
},
|
|
1670
|
+
responses: { 200: indexNowSubmissionReceiptsResponse },
|
|
1671
|
+
errors: partnerSiteErrors,
|
|
1672
|
+
errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
|
|
1673
|
+
resources: {
|
|
1674
|
+
reads: [{
|
|
1675
|
+
type: "site.indexing",
|
|
1676
|
+
idFrom: "params.siteId"
|
|
1677
|
+
}],
|
|
1678
|
+
changes: []
|
|
1679
|
+
},
|
|
1680
|
+
lifecycle: { introduced: "1.7.0" },
|
|
1681
|
+
docs: {
|
|
1682
|
+
summary: "List IndexNow Submission Receipts",
|
|
1683
|
+
description: "Returns Submission Receipts for this Site.",
|
|
1684
|
+
tags: ["Indexing"],
|
|
1685
|
+
examples: {
|
|
1686
|
+
request: {
|
|
1687
|
+
params: { siteId: "s_01" },
|
|
1688
|
+
query: {
|
|
1689
|
+
limit: 25,
|
|
1690
|
+
offset: 0
|
|
1691
|
+
}
|
|
1692
|
+
},
|
|
1693
|
+
response: {
|
|
1694
|
+
data: {
|
|
1695
|
+
submissionReceipts: [],
|
|
1696
|
+
pagination: {
|
|
1697
|
+
total: 0,
|
|
1698
|
+
limit: 25,
|
|
1699
|
+
offset: 0,
|
|
1700
|
+
hasMore: false
|
|
1701
|
+
}
|
|
1702
|
+
},
|
|
1703
|
+
meta: {
|
|
1704
|
+
requestId: "req_01",
|
|
1705
|
+
surface: "partner",
|
|
1706
|
+
version: "1.0"
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1710
|
+
}
|
|
1711
|
+
}),
|
|
1366
1712
|
getSiteBingConnection: defineHttpOperation({
|
|
1367
1713
|
...gscdumpV1OperationRoute("partner.sites.indexing.bing.connection.get"),
|
|
1368
1714
|
visibility: "public",
|
|
@@ -2126,6 +2472,211 @@ function createGscdumpV1Protocol() {
|
|
|
2126
2472
|
}
|
|
2127
2473
|
}
|
|
2128
2474
|
}),
|
|
2475
|
+
listSiteWatchedUrls: defineHttpOperation({
|
|
2476
|
+
...gscdumpV1OperationRoute("partner.sites.indexing.watched.list"),
|
|
2477
|
+
visibility: "public",
|
|
2478
|
+
semantics: {
|
|
2479
|
+
kind: "query",
|
|
2480
|
+
sideEffects: "none",
|
|
2481
|
+
idempotent: true,
|
|
2482
|
+
retry: "idempotent",
|
|
2483
|
+
readConsistency: "primary"
|
|
2484
|
+
},
|
|
2485
|
+
auth: {
|
|
2486
|
+
credentials: ["user_key", "partner_key"],
|
|
2487
|
+
scopes: ["indexing:read"],
|
|
2488
|
+
ownership: [{
|
|
2489
|
+
credential: "user_key",
|
|
2490
|
+
rule: "authorized_site"
|
|
2491
|
+
}, {
|
|
2492
|
+
credential: "partner_key",
|
|
2493
|
+
rule: "authorized_site"
|
|
2494
|
+
}]
|
|
2495
|
+
},
|
|
2496
|
+
request: {
|
|
2497
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
2498
|
+
query: null,
|
|
2499
|
+
headers: requestHeaders,
|
|
2500
|
+
body: null
|
|
2501
|
+
},
|
|
2502
|
+
responses: { 200: watchedUrlsResponse },
|
|
2503
|
+
errors: partnerSiteErrors,
|
|
2504
|
+
errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
|
|
2505
|
+
resources: {
|
|
2506
|
+
reads: [{
|
|
2507
|
+
type: "site.indexing",
|
|
2508
|
+
idFrom: "params.siteId"
|
|
2509
|
+
}],
|
|
2510
|
+
changes: []
|
|
2511
|
+
},
|
|
2512
|
+
lifecycle: { introduced: "4.6.0" },
|
|
2513
|
+
docs: {
|
|
2514
|
+
summary: "List Watched URLs",
|
|
2515
|
+
description: "Returns the Site's Watched URLs. gscdump inspects each one every 7 days, before other scheduled URLs, and never backs off. Each Checkpoint is one scheduled URL Inspection, newest first, with the parsed coverage state and Google's coverage text.",
|
|
2516
|
+
tags: ["Indexing"],
|
|
2517
|
+
examples: {
|
|
2518
|
+
request: { params: { siteId: "s_01" } },
|
|
2519
|
+
response: {
|
|
2520
|
+
data: {
|
|
2521
|
+
watched: [{
|
|
2522
|
+
url: "https://example.com/guide",
|
|
2523
|
+
addedAt: "2026-09-30T00:00:00.000Z",
|
|
2524
|
+
dueAt: "2026-10-07T01:00:00.000Z",
|
|
2525
|
+
checkpoints: [{
|
|
2526
|
+
checkedAt: "2026-09-30T01:00:00.000Z",
|
|
2527
|
+
coverageState: "unknown_to_google",
|
|
2528
|
+
googleCoverageState: "URL is unknown to Google",
|
|
2529
|
+
verdict: "NEUTRAL",
|
|
2530
|
+
lastCrawlTime: null
|
|
2531
|
+
}]
|
|
2532
|
+
}],
|
|
2533
|
+
limit: 50,
|
|
2534
|
+
cadenceDays: 7,
|
|
2535
|
+
meta: { siteUrl: "sc-domain:example.com" }
|
|
2536
|
+
},
|
|
2537
|
+
meta: {
|
|
2538
|
+
requestId: "req_01",
|
|
2539
|
+
surface: "partner",
|
|
2540
|
+
version: "1.0"
|
|
2541
|
+
}
|
|
2542
|
+
}
|
|
2543
|
+
}
|
|
2544
|
+
}
|
|
2545
|
+
}),
|
|
2546
|
+
addSiteWatchedUrls: defineHttpOperation({
|
|
2547
|
+
...gscdumpV1OperationRoute("partner.sites.indexing.watched.add"),
|
|
2548
|
+
visibility: "public",
|
|
2549
|
+
semantics: {
|
|
2550
|
+
kind: "mutation",
|
|
2551
|
+
sideEffects: "state",
|
|
2552
|
+
idempotent: true,
|
|
2553
|
+
retry: "idempotent",
|
|
2554
|
+
readConsistency: null
|
|
2555
|
+
},
|
|
2556
|
+
auth: {
|
|
2557
|
+
credentials: ["user_key", "partner_key"],
|
|
2558
|
+
scopes: ["indexing:write"],
|
|
2559
|
+
ownership: [{
|
|
2560
|
+
credential: "user_key",
|
|
2561
|
+
rule: "authorized_site"
|
|
2562
|
+
}, {
|
|
2563
|
+
credential: "partner_key",
|
|
2564
|
+
rule: "authorized_site"
|
|
2565
|
+
}]
|
|
2566
|
+
},
|
|
2567
|
+
request: {
|
|
2568
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
2569
|
+
query: null,
|
|
2570
|
+
headers: requestHeaders,
|
|
2571
|
+
body: watchedUrlsChangeRequestSchema
|
|
2572
|
+
},
|
|
2573
|
+
responses: { 200: watchedUrlsChangeResponse },
|
|
2574
|
+
errors: partnerSiteErrors,
|
|
2575
|
+
errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
|
|
2576
|
+
resources: {
|
|
2577
|
+
reads: [{
|
|
2578
|
+
type: "site.indexing",
|
|
2579
|
+
idFrom: "params.siteId"
|
|
2580
|
+
}],
|
|
2581
|
+
changes: [{
|
|
2582
|
+
type: "site.indexing",
|
|
2583
|
+
idFrom: "params.siteId"
|
|
2584
|
+
}]
|
|
2585
|
+
},
|
|
2586
|
+
lifecycle: { introduced: "4.6.0" },
|
|
2587
|
+
docs: {
|
|
2588
|
+
summary: "Add Watched URLs",
|
|
2589
|
+
description: "Adds URLs on the Site host to the Site's Watched URLs, up to 50 per Site. A new Watched URL is due for inspection at once. Each scheduled inspection spends the Site's daily URL Inspection budget and the URL Inspections meter. URLs off the Site host, fragment URLs, and URLs past the limit come back in `skipped`.",
|
|
2590
|
+
tags: ["Indexing"],
|
|
2591
|
+
examples: {
|
|
2592
|
+
request: {
|
|
2593
|
+
params: { siteId: "s_01" },
|
|
2594
|
+
body: { urls: ["https://example.com/guide"] }
|
|
2595
|
+
},
|
|
2596
|
+
response: {
|
|
2597
|
+
data: {
|
|
2598
|
+
changed: ["https://example.com/guide"],
|
|
2599
|
+
unchanged: [],
|
|
2600
|
+
skipped: [],
|
|
2601
|
+
total: 1,
|
|
2602
|
+
limit: 50
|
|
2603
|
+
},
|
|
2604
|
+
meta: {
|
|
2605
|
+
requestId: "req_01",
|
|
2606
|
+
surface: "partner",
|
|
2607
|
+
version: "1.0"
|
|
2608
|
+
}
|
|
2609
|
+
}
|
|
2610
|
+
}
|
|
2611
|
+
}
|
|
2612
|
+
}),
|
|
2613
|
+
removeSiteWatchedUrls: defineHttpOperation({
|
|
2614
|
+
...gscdumpV1OperationRoute("partner.sites.indexing.watched.remove"),
|
|
2615
|
+
visibility: "public",
|
|
2616
|
+
semantics: {
|
|
2617
|
+
kind: "mutation",
|
|
2618
|
+
sideEffects: "state",
|
|
2619
|
+
idempotent: true,
|
|
2620
|
+
retry: "idempotent",
|
|
2621
|
+
readConsistency: null
|
|
2622
|
+
},
|
|
2623
|
+
auth: {
|
|
2624
|
+
credentials: ["user_key", "partner_key"],
|
|
2625
|
+
scopes: ["indexing:write"],
|
|
2626
|
+
ownership: [{
|
|
2627
|
+
credential: "user_key",
|
|
2628
|
+
rule: "authorized_site"
|
|
2629
|
+
}, {
|
|
2630
|
+
credential: "partner_key",
|
|
2631
|
+
rule: "authorized_site"
|
|
2632
|
+
}]
|
|
2633
|
+
},
|
|
2634
|
+
request: {
|
|
2635
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
2636
|
+
query: null,
|
|
2637
|
+
headers: requestHeaders,
|
|
2638
|
+
body: watchedUrlsChangeRequestSchema
|
|
2639
|
+
},
|
|
2640
|
+
responses: { 200: watchedUrlsChangeResponse },
|
|
2641
|
+
errors: partnerSiteErrors,
|
|
2642
|
+
errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
|
|
2643
|
+
resources: {
|
|
2644
|
+
reads: [{
|
|
2645
|
+
type: "site.indexing",
|
|
2646
|
+
idFrom: "params.siteId"
|
|
2647
|
+
}],
|
|
2648
|
+
changes: [{
|
|
2649
|
+
type: "site.indexing",
|
|
2650
|
+
idFrom: "params.siteId"
|
|
2651
|
+
}]
|
|
2652
|
+
},
|
|
2653
|
+
lifecycle: { introduced: "4.6.0" },
|
|
2654
|
+
docs: {
|
|
2655
|
+
summary: "Remove Watched URLs",
|
|
2656
|
+
description: "Removes URLs from the Site's Watched URLs and deletes their Checkpoints. The stored URL Inspection results stay. URLs that were not watched come back in `unchanged`.",
|
|
2657
|
+
tags: ["Indexing"],
|
|
2658
|
+
examples: {
|
|
2659
|
+
request: {
|
|
2660
|
+
params: { siteId: "s_01" },
|
|
2661
|
+
body: { urls: ["https://example.com/guide"] }
|
|
2662
|
+
},
|
|
2663
|
+
response: {
|
|
2664
|
+
data: {
|
|
2665
|
+
changed: ["https://example.com/guide"],
|
|
2666
|
+
unchanged: [],
|
|
2667
|
+
skipped: [],
|
|
2668
|
+
total: 0,
|
|
2669
|
+
limit: 50
|
|
2670
|
+
},
|
|
2671
|
+
meta: {
|
|
2672
|
+
requestId: "req_01",
|
|
2673
|
+
surface: "partner",
|
|
2674
|
+
version: "1.0"
|
|
2675
|
+
}
|
|
2676
|
+
}
|
|
2677
|
+
}
|
|
2678
|
+
}
|
|
2679
|
+
}),
|
|
2129
2680
|
recoverSitePermission: defineHttpOperation({
|
|
2130
2681
|
...gscdumpV1OperationRoute("partner.sites.permission.recover"),
|
|
2131
2682
|
visibility: "public",
|
|
@@ -4721,9 +5272,14 @@ function createGscdumpV1Protocol() {
|
|
|
4721
5272
|
indexingTransitionsResponse,
|
|
4722
5273
|
indexingUrlsQuery,
|
|
4723
5274
|
indexingUrlsResponse,
|
|
5275
|
+
watchedUrlsResponse,
|
|
5276
|
+
watchedUrlsChangeResponse,
|
|
4724
5277
|
bingIndexingEvidenceQuery,
|
|
4725
5278
|
bingIndexingEvidenceResponse,
|
|
4726
5279
|
bingConnectionResponse,
|
|
5280
|
+
indexNowConnectionResponse,
|
|
5281
|
+
indexNowSubmissionResponse,
|
|
5282
|
+
indexNowSubmissionReceiptsResponse,
|
|
4727
5283
|
lifecycleResponse,
|
|
4728
5284
|
registerSiteRequest,
|
|
4729
5285
|
sitemapChangesQuery,
|
|
@@ -61,6 +61,31 @@ export declare const GSCDUMP_V1_ROUTE_CATALOG: {
|
|
|
61
61
|
readonly method: "GET";
|
|
62
62
|
readonly template: "/sites/{siteId}/indexing/bing/evidence";
|
|
63
63
|
};
|
|
64
|
+
readonly 'partner.sites.indexing.indexnow.connection.get': {
|
|
65
|
+
readonly surface: "partner";
|
|
66
|
+
readonly method: "GET";
|
|
67
|
+
readonly template: "/sites/{siteId}/indexing/indexnow/connection";
|
|
68
|
+
};
|
|
69
|
+
readonly 'partner.sites.indexing.indexnow.connection.configure': {
|
|
70
|
+
readonly surface: "partner";
|
|
71
|
+
readonly method: "POST";
|
|
72
|
+
readonly template: "/sites/{siteId}/indexing/indexnow/connection";
|
|
73
|
+
};
|
|
74
|
+
readonly 'partner.sites.indexing.indexnow.connection.verify': {
|
|
75
|
+
readonly surface: "partner";
|
|
76
|
+
readonly method: "POST";
|
|
77
|
+
readonly template: "/sites/{siteId}/indexing/indexnow/connection/verify";
|
|
78
|
+
};
|
|
79
|
+
readonly 'partner.sites.indexing.indexnow.submissions.create': {
|
|
80
|
+
readonly surface: "partner";
|
|
81
|
+
readonly method: "POST";
|
|
82
|
+
readonly template: "/sites/{siteId}/indexing/indexnow/submissions";
|
|
83
|
+
};
|
|
84
|
+
readonly 'partner.sites.indexing.indexnow.submissions.list': {
|
|
85
|
+
readonly surface: "partner";
|
|
86
|
+
readonly method: "GET";
|
|
87
|
+
readonly template: "/sites/{siteId}/indexing/indexnow/submissions";
|
|
88
|
+
};
|
|
64
89
|
readonly 'partner.sites.indexing.bing.connection.get': {
|
|
65
90
|
readonly surface: "partner";
|
|
66
91
|
readonly method: "GET";
|
|
@@ -116,6 +141,21 @@ export declare const GSCDUMP_V1_ROUTE_CATALOG: {
|
|
|
116
141
|
readonly method: "POST";
|
|
117
142
|
readonly template: "/sites/{siteId}/indexing/inspect";
|
|
118
143
|
};
|
|
144
|
+
readonly 'partner.sites.indexing.watched.list': {
|
|
145
|
+
readonly surface: "partner";
|
|
146
|
+
readonly method: "GET";
|
|
147
|
+
readonly template: "/sites/{siteId}/indexing/watched";
|
|
148
|
+
};
|
|
149
|
+
readonly 'partner.sites.indexing.watched.add': {
|
|
150
|
+
readonly surface: "partner";
|
|
151
|
+
readonly method: "POST";
|
|
152
|
+
readonly template: "/sites/{siteId}/indexing/watched";
|
|
153
|
+
};
|
|
154
|
+
readonly 'partner.sites.indexing.watched.remove': {
|
|
155
|
+
readonly surface: "partner";
|
|
156
|
+
readonly method: "POST";
|
|
157
|
+
readonly template: "/sites/{siteId}/indexing/watched/remove";
|
|
158
|
+
};
|
|
119
159
|
readonly 'partner.sites.permission.recover': {
|
|
120
160
|
readonly surface: "partner";
|
|
121
161
|
readonly method: "POST";
|