Skip to main content
All routes are mounted under /api. The base URL in production is https://api.webyes.com. Authentication: Most endpoints require Authorization: Bearer <token> header. Rate limiting: Applied to sensitive endpoints (10 requests/minute by IP).

Health Check


Auth — /api/auth

Standard Auth

Google OAuth

Microsoft OAuth

Cognito Auth


Users — /api/user


Websites — /api/website

Required permissions:
  • Add: settings:website:add
  • Delete: settings:website:delete
  • Transfer: settings:website:transfer

Website Audits (Scans) — /api/website-audit

Scan config options:
  • scan_type: quick | full | custom
  • audit_types: ["accessibility", "best-practices", "performance", "seo"]
  • standards: ["wcag2.2a", "wcag2.2aa", "wcag2.2aaa", "ADA"]
  • audit_device: mobile | desktop
Required permission: scan:full_scan:add

Organisations — /api/organisation


Plans — /api/plan


Stripe / Billing — /api/stripe

Webhook events handled: customer.subscription.created/updated/deleted, invoice.payment_succeeded/failed

Audit Results — /api/results


Accessibility Data — /api/accessibility


Reports — /api/report


AI Solutions — /api/solutions

Request: Issue details including HTML snippet, issue rule ID, description Response: {current_code, correct_code, explanation} from Gemini AI

Scan Scheduling — /api/scan-schedule

Frequencies: daily | weekly | monthly | yearly | once

Uptime Monitoring — /api/uptime-monitor


Google Search Console — /api/search-console


Website Audit Settings — /api/website-audit-settings


Regions — /api/region


Real User Monitoring — /api/rum


Offboarding — /api/offboarding


Redis Utilities — /api/redis


Admin — /api/wy-admin

Internal admin endpoints for WebYes operations. Requires admin-level JWT.

Response Format

All endpoints return consistent JSON:
On error:
HTTP status codes follow REST conventions: 200 (OK), 201 (Created), 400 (Bad Request), 401 (Unauthorized), 403 (Forbidden), 404 (Not Found), 422 (Validation Error), 429 (Rate Limited).