See all checks
Developers

One key for the REST API and MCP server

Read your monitoring data and trigger scans from scripts, CI, or an AI agent. One API key, the same rate limit across REST and MCP.

Quick start

Every request authenticates with an API key you create in the app. Point curl, your CI, or any HTTP client at https://app.relvato.com/api/v1.

# 1 — Confirm your key works and see the endpoints
curl https://app.relvato.com/api/v1 \
  -H "Authorization: Bearer rlv_your_key"

# 2 — List the sites Relvato monitors for you
curl https://app.relvato.com/api/v1/sites \
  -H "Authorization: Bearer rlv_your_key"

# 3 — Read recent runs (optionally scoped to one site)
curl "https://app.relvato.com/api/v1/runs?limit=10" \
  -H "Authorization: Bearer rlv_your_key"

# 4 — Trigger an on-demand scan of a site
curl -X POST https://app.relvato.com/api/v1/sites/SITE_ID/scan \
  -H "Authorization: Bearer rlv_your_key"

Authentication

Send your key on every request as Authorization: Bearer rlv_your_key (an x-api-key header works too). A missing, revoked, or unknown key returns 401.

Create and revoke keys under API access in the app. Keys start with rlv_, are shown once at creation, and act on your whole account — treat them like a password.

REST endpoints

Every endpoint is scoped to the account behind the key and returns JSON. Base URL https://app.relvato.com/api/v1.

MethodEndpointDescription
GET/api/v1Confirms the key and lists the available endpoints.
GET/api/v1/sitesLists the websites Relvato monitors for you.
GET/api/v1/runsRecent verification runs, newest first — optional siteId and limit (1–100) query params.
POST/api/v1/sites/:id/scanQueues an on-demand scan of one site. Counts against your monthly run quota.

Example: list sites

{
  "sites": [
    {
      "id": "st_1a2b3c",
      "name": "style4street",
      "url": "https://style4street.com",
      "connectionType": "wordpress"
    }
  ]
}

Example: recent runs

A run that failed but was later resolved (baseline accepted or ignored) reports status: "passed" with resolved: true.

{
  "runs": [
    {
      "id": "rn_9f8e7d",
      "siteId": "st_1a2b3c",
      "journey": "checkout",
      "status": "passed",
      "startedAt": "2026-08-31T09:15:00.000Z",
      "durationMs": 4210,
      "resolved": false
    }
  ]
}

Rate limits

Requests are limited per minute, per account, across REST and MCP combined. Your plan sets the ceiling:

PlanRequests / min
Free30
Pro120
Business600
Agency2,400

Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset. Over the limit returns 429 with a Retry-After header.

Status codes

StatusMeaning
200Success.
401Missing, unknown, or revoked API key.
404Site not found for this account.
409Site is disabled, or its domain isn't verified yet.
429Rate limit hit, or the monthly run quota is used up.

MCP server (for AI agents)

Relvato is also a remote Model Context Protocol server, so an agent like Claude can list your sites, read runs, and trigger scans in a conversation. It uses the same key and the same rate limit as the REST API.

Endpoint https://app.relvato.com/api/mcp

ToolWhat it does
list_sitesList the websites Relvato is monitoring for the account.
list_runsList recent runs, newest first — optionally for one site.
trigger_scanRun an on-demand scan of a site now (respects the monthly quota).

Add it as a remote HTTP connector. In a client that reads an mcp.json, the entry looks like this:

{
  "mcpServers": {
    "relvato": {
      "type": "http",
      "url": "https://app.relvato.com/api/mcp",
      "headers": {
        "Authorization": "Bearer rlv_your_key"
      }
    }
  }
}

Frequently asked questions

Which plans include API and MCP access?

All of them, including Free — only the per-minute rate limit differs. Free allows 30 requests a minute; paid plans allow more.

How do I get a key?

Sign in and open API access in the app. You can create several keys and revoke any of them at any time; each key acts on your whole account.

Do REST and MCP share the rate limit?

Yes. The limit is per account, per minute, counted across both surfaces together.

Does triggering a scan use my quota?

Yes. On-demand scans — over REST or MCP — draw from the same monthly run quota as scheduled checks.

Build on your monitoring data

Create a key and make your first request in under a minute.