Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions docs/openapi/api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ tags:
description: Report generation and management operations
- name: project
description: Project management operations
- name: site urls
description: Site URL tracking and management operations

paths:
/audits/latest/{auditType}:
Expand Down Expand Up @@ -224,6 +226,18 @@ paths:
$ref: './site-top-pages-api.yaml#/site-top-pages-by-source'
/sites/{siteId}/top-pages/{source}/{geo}:
$ref: './site-top-pages-api.yaml#/site-top-pages-by-source-and-geo'
/sites/{siteId}/url-store:
$ref: './url-store-api.yaml#/url-store-list'
/sites/{siteId}/url-store/by-source/{source}:
$ref: './url-store-api.yaml#/url-store-by-source'
/sites/{siteId}/url-store/by-audit/{auditType}:
$ref: './url-store-api.yaml#/url-store-by-audit'
/sites/{siteId}/url-store/by-platform/{platformType}:
$ref: './url-store-api.yaml#/url-store-by-platform'
/sites/{siteId}/url-store/offsite:
$ref: './url-store-api.yaml#/url-store-offsite'
/sites/{siteId}/url-store/{base64Url}:
$ref: './url-store-api.yaml#/url-store-get'
/sites/{siteId}/traffic/paid:
$ref: './site-paid.yaml#/site-traffic-paid-top-pages'
/sites/{siteId}/traffic/paid/url-page-type:
Expand Down
273 changes: 273 additions & 0 deletions docs/openapi/schemas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1636,6 +1636,279 @@ SiteTopPageList:
type: array
items:
$ref: './schemas.yaml#/SiteTopPage'
AuditUrl:
type: object
required:
- siteId
- url
- source
- audits
- createdAt
- updatedAt
- createdBy
- updatedBy
properties:
siteId:
description: Parent site identifier
$ref: '#/Id'
url:
description: URL after canonicalization
$ref: '#/URL'
source:
description: Origin of the URL
type: string
default: manual
example: manual
audits:
description: Enabled audit types
type: array
items:
type: string
example: ['accessibility', 'broken-backlinks']
rank:
description: Rank or position of the URL (e.g., for sorting high-value pages)
type: number
nullable: true
example: 1
traffic:
description: Traffic metric for the URL (e.g., page views, visitors)
type: number
nullable: true
example: 50000
platformType:
description: Platform type classification (primary-site, wikipedia, youtube-channel, etc.)
type: string
default: primary-site
enum: [primary-site, wikipedia, youtube-channel, reddit-community, facebook-page, twitter-profile, linkedin-company, instagram-account, tiktok-account, github-org, medium-publication]
example: primary-site
createdAt:
description: ISO 8601 timestamp when created
$ref: '#/DateTime'
updatedAt:
description: ISO 8601 timestamp when last modified
$ref: '#/DateTime'
createdBy:
description: User/service who created this URL
type: string
example: user-alice
updatedBy:
description: Last user/service to modify this URL
type: string
example: user-bob
example:
siteId: 'a1b2c3d4-e5f6-7g8h-9i0j-k11l12m13n14'
url: 'https://example.com/documents/report.pdf'
source: 'manual'
audits: ['accessibility', 'broken-backlinks']
rank: 1
traffic: 50000
platformType: 'primary-site'
createdAt: '2025-10-10T12:00:00Z'
updatedAt: '2025-10-10T15:30:00Z'
createdBy: 'user-alice'
updatedBy: 'user-bob'
AuditUrlInput:
type: object
required:
- url
- audits
properties:
url:
description: The URL to add
$ref: '#/URL'
source:
description: Origin of the URL (defaults to "manual")
type: string
default: manual
audits:
description: Enabled audit types
type: array
items:
type: string
example: ['accessibility', 'broken-backlinks']
rank:
description: Rank or position of the URL (optional, for sorting high-value pages)
type: number
nullable: true
example: 1
traffic:
description: Traffic metric for the URL (optional, e.g., page views, visitors)
type: number
nullable: true
example: 50000
platformType:
description: Platform type classification (optional, defaults to "primary-site")
type: string
default: primary-site
enum: [primary-site, wikipedia, youtube-channel, reddit-community, facebook-page, twitter-profile, linkedin-company, instagram-account, tiktok-account, github-org, medium-publication]
example: primary-site
example:
url: 'https://example.com/page1.html'
source: 'manual'
audits: ['accessibility', 'broken-backlinks']
rank: 1
traffic: 50000
platformType: 'primary-site'
AuditUrlUpdate:
type: object
required:
- url
- audits
properties:
url:
description: The URL to update
$ref: '#/URL'
audits:
description: Enabled audit types (overrides existing)
type: array
items:
type: string
example: ['accessibility']
rank:
description: Rank or position of the URL (optional, updates if provided)
type: number
nullable: true
example: 2
traffic:
description: Traffic metric for the URL (optional, updates if provided)
type: number
nullable: true
example: 75000
platformType:
description: Platform type classification (optional, updates if provided)
type: string
enum: [primary-site, wikipedia, youtube-channel, reddit-community, facebook-page, twitter-profile, linkedin-company, instagram-account, tiktok-account, github-org, medium-publication]
example: youtube-channel
example:
url: 'https://example.com/page1.html'
audits: ['accessibility']
rank: 2
traffic: 75000
platformType: 'youtube-channel'
AuditUrlListResponse:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: './schemas.yaml#/AuditUrl'
cursor:
description: Pagination cursor for next page
type: string
example:
items:
- siteId: 'a1b2c3d4-e5f6-7g8h-9i0j-k11l12m13n14'
url: 'https://example.com/page1.html'
source: 'manual'
audits: ['accessibility']
createdAt: '2025-10-10T12:00:00Z'
updatedAt: '2025-10-10T15:30:00Z'
createdBy: 'user-alice'
updatedBy: 'user-bob'
cursor: 'eyJsYXN0S2V5Ijp7InNpdGVJZCI6ImV4YW1wbGUtY29tIn19'
AuditUrlBulkResponse:
type: object
required:
- metadata
- failures
- items
properties:
metadata:
type: object
required:
- total
- success
- failure
properties:
total:
type: integer
description: Total number of URLs in the request
success:
type: integer
description: Number of successfully processed URLs
failure:
type: integer
description: Number of failed URLs
failures:
type: array
items:
type: object
required:
- url
- reason
properties:
url:
type: string
reason:
type: string
description: Per-item error information
items:
type: array
items:
$ref: './schemas.yaml#/AuditUrl'
description: Successfully processed URLs
example:
metadata:
total: 3
success: 2
failure: 1
failures:
- url: 'https://example.com/invalid'
reason: 'Invalid URL format'
items:
- siteId: 'a1b2c3d4-e5f6-7g8h-9i0j-k11l12m13n14'
url: 'https://example.com/page1.html'
source: 'manual'
audits: ['accessibility']
createdAt: '2025-10-10T12:00:00Z'
updatedAt: '2025-10-10T15:30:00Z'
createdBy: 'user-alice'
updatedBy: 'user-bob'
AuditUrlDeleteResponse:
type: object
required:
- metadata
- failures
properties:
metadata:
type: object
required:
- total
- success
- failure
properties:
total:
type: integer
description: Total number of URLs in the request
success:
type: integer
description: Number of successfully deleted URLs
failure:
type: integer
description: Number of failed deletions
failures:
type: array
items:
type: object
required:
- url
- reason
properties:
url:
type: string
reason:
type: string
description: Per-item error information
example:
metadata:
total: 3
success: 2
failure: 1
failures:
- url: 'https://example.com/from-sitemap'
reason: 'Can only delete URLs with source: manual'
SiteExperimentVariant:
type: object
properties:
Expand Down
Loading
Loading