Skip to content

Commit 5ee539e

Browse files
tud onboarding
1 parent 27be109 commit 5ee539e

File tree

6 files changed

+1134
-0
lines changed

6 files changed

+1134
-0
lines changed

docs/openapi/api.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ tags:
6767
description: Report generation and management operations
6868
- name: project
6969
description: Project management operations
70+
- name: site urls
71+
description: Site URL tracking and management operations
7072

7173
paths:
7274
/audits/latest/{auditType}:
@@ -214,6 +216,14 @@ paths:
214216
$ref: './site-top-pages-api.yaml#/site-top-pages-by-source'
215217
/sites/{siteId}/top-pages/{source}/{geo}:
216218
$ref: './site-top-pages-api.yaml#/site-top-pages-by-source-and-geo'
219+
/sites/{siteId}/url-store:
220+
$ref: './url-store-api.yaml#/url-store-list'
221+
/sites/{siteId}/url-store/by-source/{source}:
222+
$ref: './url-store-api.yaml#/url-store-by-source'
223+
/sites/{siteId}/url-store/by-audit/{auditType}:
224+
$ref: './url-store-api.yaml#/url-store-by-audit'
225+
/sites/{siteId}/url-store/{base64Url}:
226+
$ref: './url-store-api.yaml#/url-store-get'
217227
/sites/{siteId}/traffic/paid:
218228
$ref: './site-paid.yaml#/site-traffic-paid-top-pages'
219229
/sites/{siteId}/traffic/paid/url-page-type:

docs/openapi/schemas.yaml

Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1636,6 +1636,223 @@ SiteTopPageList:
16361636
type: array
16371637
items:
16381638
$ref: './schemas.yaml#/SiteTopPage'
1639+
AuditUrl:
1640+
type: object
1641+
required:
1642+
- siteId
1643+
- url
1644+
- source
1645+
- audits
1646+
- createdAt
1647+
- updatedAt
1648+
- createdBy
1649+
- updatedBy
1650+
properties:
1651+
siteId:
1652+
description: Parent site identifier
1653+
$ref: '#/Id'
1654+
url:
1655+
description: URL after canonicalization
1656+
$ref: '#/URL'
1657+
source:
1658+
description: Origin of the URL
1659+
type: string
1660+
default: manual
1661+
example: manual
1662+
audits:
1663+
description: Enabled audit types
1664+
type: array
1665+
items:
1666+
type: string
1667+
example: ['accessibility', 'broken-backlinks']
1668+
createdAt:
1669+
description: ISO 8601 timestamp when created
1670+
$ref: '#/DateTime'
1671+
updatedAt:
1672+
description: ISO 8601 timestamp when last modified
1673+
$ref: '#/DateTime'
1674+
createdBy:
1675+
description: User/service who created this URL
1676+
type: string
1677+
example: user-alice
1678+
updatedBy:
1679+
description: Last user/service to modify this URL
1680+
type: string
1681+
example: user-bob
1682+
example:
1683+
siteId: 'a1b2c3d4-e5f6-7g8h-9i0j-k11l12m13n14'
1684+
url: 'https://example.com/documents/report.pdf'
1685+
source: 'manual'
1686+
audits: ['accessibility', 'broken-backlinks']
1687+
createdAt: '2025-10-10T12:00:00Z'
1688+
updatedAt: '2025-10-10T15:30:00Z'
1689+
createdBy: 'user-alice'
1690+
updatedBy: 'user-bob'
1691+
AuditUrlInput:
1692+
type: object
1693+
required:
1694+
- url
1695+
- audits
1696+
properties:
1697+
url:
1698+
description: The URL to add
1699+
$ref: '#/URL'
1700+
source:
1701+
description: Origin of the URL (defaults to "manual")
1702+
type: string
1703+
default: manual
1704+
audits:
1705+
description: Enabled audit types
1706+
type: array
1707+
items:
1708+
type: string
1709+
example: ['accessibility', 'broken-backlinks']
1710+
example:
1711+
url: 'https://example.com/page1.html'
1712+
source: 'manual'
1713+
audits: ['accessibility', 'broken-backlinks']
1714+
AuditUrlUpdate:
1715+
type: object
1716+
required:
1717+
- url
1718+
- audits
1719+
properties:
1720+
url:
1721+
description: The URL to update
1722+
$ref: '#/URL'
1723+
audits:
1724+
description: Enabled audit types (overrides existing)
1725+
type: array
1726+
items:
1727+
type: string
1728+
example: ['accessibility']
1729+
example:
1730+
url: 'https://example.com/page1.html'
1731+
audits: ['accessibility']
1732+
AuditUrlListResponse:
1733+
type: object
1734+
required:
1735+
- items
1736+
properties:
1737+
items:
1738+
type: array
1739+
items:
1740+
$ref: './schemas.yaml#/AuditUrl'
1741+
cursor:
1742+
description: Pagination cursor for next page
1743+
type: string
1744+
example:
1745+
items:
1746+
- siteId: 'a1b2c3d4-e5f6-7g8h-9i0j-k11l12m13n14'
1747+
url: 'https://example.com/page1.html'
1748+
source: 'manual'
1749+
audits: ['accessibility']
1750+
createdAt: '2025-10-10T12:00:00Z'
1751+
updatedAt: '2025-10-10T15:30:00Z'
1752+
createdBy: 'user-alice'
1753+
updatedBy: 'user-bob'
1754+
cursor: 'eyJsYXN0S2V5Ijp7InNpdGVJZCI6ImV4YW1wbGUtY29tIn19'
1755+
AuditUrlBulkResponse:
1756+
type: object
1757+
required:
1758+
- metadata
1759+
- failures
1760+
- items
1761+
properties:
1762+
metadata:
1763+
type: object
1764+
required:
1765+
- total
1766+
- success
1767+
- failure
1768+
properties:
1769+
total:
1770+
type: integer
1771+
description: Total number of URLs in the request
1772+
success:
1773+
type: integer
1774+
description: Number of successfully processed URLs
1775+
failure:
1776+
type: integer
1777+
description: Number of failed URLs
1778+
failures:
1779+
type: array
1780+
items:
1781+
type: object
1782+
required:
1783+
- url
1784+
- reason
1785+
properties:
1786+
url:
1787+
type: string
1788+
reason:
1789+
type: string
1790+
description: Per-item error information
1791+
items:
1792+
type: array
1793+
items:
1794+
$ref: './schemas.yaml#/AuditUrl'
1795+
description: Successfully processed URLs
1796+
example:
1797+
metadata:
1798+
total: 3
1799+
success: 2
1800+
failure: 1
1801+
failures:
1802+
- url: 'https://example.com/invalid'
1803+
reason: 'Invalid URL format'
1804+
items:
1805+
- siteId: 'a1b2c3d4-e5f6-7g8h-9i0j-k11l12m13n14'
1806+
url: 'https://example.com/page1.html'
1807+
source: 'manual'
1808+
audits: ['accessibility']
1809+
createdAt: '2025-10-10T12:00:00Z'
1810+
updatedAt: '2025-10-10T15:30:00Z'
1811+
createdBy: 'user-alice'
1812+
updatedBy: 'user-bob'
1813+
AuditUrlDeleteResponse:
1814+
type: object
1815+
required:
1816+
- metadata
1817+
- failures
1818+
properties:
1819+
metadata:
1820+
type: object
1821+
required:
1822+
- total
1823+
- success
1824+
- failure
1825+
properties:
1826+
total:
1827+
type: integer
1828+
description: Total number of URLs in the request
1829+
success:
1830+
type: integer
1831+
description: Number of successfully deleted URLs
1832+
failure:
1833+
type: integer
1834+
description: Number of failed deletions
1835+
failures:
1836+
type: array
1837+
items:
1838+
type: object
1839+
required:
1840+
- url
1841+
- reason
1842+
properties:
1843+
url:
1844+
type: string
1845+
reason:
1846+
type: string
1847+
description: Per-item error information
1848+
example:
1849+
metadata:
1850+
total: 3
1851+
success: 2
1852+
failure: 1
1853+
failures:
1854+
- url: 'https://example.com/from-sitemap'
1855+
reason: 'Can only delete URLs with source: manual'
16391856
SiteExperimentVariant:
16401857
type: object
16411858
properties:

0 commit comments

Comments
 (0)