Skip to content

Overview

Overwatch is a multitenant website monitoring service built around four per-site apps: Broken Links (dead-link crawling, the core), Accessibility (a rendered axe-core scan), Uptime (multi-region monitors), and Performance (real-user Core Web Vitals from CrUX). Each app is toggled per site and serves its results over this HTTP API.

This reference covers the full public /v1 surface — both the endpoints a third-party CMS integration (Umbraco, Sanity, …) calls with an API key, and the endpoints the Overwatch dashboard calls with a session. Every request is scoped to one organization (tenant); you only ever see your own organization’s sites and reports.

Authentication

Two credentials are accepted, both resolving to one organization:

  • API key — send an organization-scoped key in the x-api-key header. This is the credential for CMS integrations. Keys may additionally be scoped to a subset of the organization’s sites.
  • Dashboard session — a Better Auth session, sent as Authorization: Bearer <sessionToken> (or a cookie), scoped to the session’s active organization.

Some endpoint groups are session-only — API-key callers get a 403: API-key management (/v1/keys*), member management (/v1/members*), org-wide usage (/v1/usage), billing (/v1/billing), notification settings (/v1/notifications*, /v1/sites/{id}/notifications), and account quotas (/v1/me/*). Each endpoint’s description states its auth and role requirements. See the Authentication guide for details on keys, sessions, and roles.

Conventions

  • All timestamps on persisted records (*_at fields) are epoch milliseconds. Two exceptions: live crawl status uses counters, and API key records use ISO 8601 strings (they come from the auth layer).
  • Boolean-ish columns such as enabled are returned as 0 or 1.
  • Errors are returned as { "error": "<message>" } with an appropriate HTTP status code.

Information

  • OpenAPI version: 3.1.0

An organization-scoped API key minted from the Overwatch dashboard.

Security scheme type: apiKey

Header parameter name: x-api-key

A dashboard session token, scoped to the session’s active organization.

Security scheme type: http