Schnellstart
Jede Anfrage authentifiziert sich mit einem API-Schlüssel, den du in der App erstellst. Richte curl, deine CI oder einen beliebigen HTTP-Client auf 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"
Authentifizierung
Sende deinen Schlüssel bei jeder Anfrage als Authorization: Bearer rlv_your_key (ein x-api-key-Header funktioniert ebenfalls). Ein fehlender, widerrufener oder unbekannter Schlüssel liefert 401.
Schlüssel erstellst und widerrufst du unter API-Zugang in der App. Schlüssel beginnen mit rlv_, werden nur einmal bei der Erstellung angezeigt und gelten für dein gesamtes Konto — behandle sie wie ein Passwort.
REST-Endpunkte
Jeder Endpunkt ist auf das Konto hinter dem Schlüssel beschränkt und liefert JSON. Basis-URL https://app.relvato.com/api/v1.
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /api/v1 | Bestätigt den Schlüssel und listet die verfügbaren Endpunkte. |
| GET | /api/v1/sites | Listet die Websites, die Relvato für dich überwacht. |
| GET | /api/v1/runs | Aktuelle Prüfläufe, neueste zuerst — optionale Query-Parameter siteId und limit (1–100). |
| POST | /api/v1/sites/:id/scan | Stellt einen Scan auf Abruf für eine Website in die Warteschlange. Zählt auf dein monatliches Lauf-Kontingent. |
Beispiel: Websites auflisten
{
"sites": [
{
"id": "st_1a2b3c",
"name": "style4street",
"url": "https://style4street.com",
"connectionType": "wordpress"
}
]
}Beispiel: aktuelle Läufe
Ein Lauf, der fehlgeschlagen war, aber später aufgelöst wurde (Baseline akzeptiert oder ignoriert), meldet status: "passed" mit 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
Anfragen sind pro Minute und Konto begrenzt — über REST und MCP zusammen. Dein Tarif setzt die Obergrenze:
| Tarif | Anfragen / Min. |
|---|---|
| Free | 30 |
| Pro | 120 |
| Business | 600 |
| Agency | 2,400 |
Jede Antwort enthält X-RateLimit-Limit, X-RateLimit-Remaining und X-RateLimit-Reset. Über dem Limit kommt 429 mit einem Retry-After-Header.
Statuscodes
| Status | Bedeutung |
|---|---|
200 | Erfolg. |
401 | Fehlender, unbekannter oder widerrufener API-Schlüssel. |
404 | Website für dieses Konto nicht gefunden. |
409 | Website ist deaktiviert oder ihre Domain ist noch nicht verifiziert. |
429 | Rate-Limit erreicht oder monatliches Lauf-Kontingent aufgebraucht. |
MCP-Server (für KI-Agenten)
Relvato ist auch ein Remote-Model Context Protocol-Server, sodass ein Agent wie Claude im Gespräch deine Websites auflisten, Läufe lesen und Scans starten kann. Er nutzt denselben Schlüssel und dasselbe Rate-Limit wie die REST-API.
Endpunkt https://app.relvato.com/api/mcp
| Tool | Funktion |
|---|---|
list_sites | Listet die Websites, die Relvato für das Konto überwacht. |
list_runs | Listet aktuelle Läufe, neueste zuerst — optional für eine Website. |
trigger_scan | Startet jetzt einen Scan auf Abruf für eine Website (berücksichtigt das Monatskontingent). |
Füge ihn als Remote-HTTP-Connector hinzu. In einem Client, der eine mcp.json liest, sieht der Eintrag so aus:
{
"mcpServers": {
"relvato": {
"type": "http",
"url": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer rlv_your_key"
}
}
}
}Häufige Fragen
Welche Tarife enthalten API- und MCP-Zugang?
Alle, auch Free — nur das Rate-Limit pro Minute unterscheidet sich. Free erlaubt 30 Anfragen pro Minute, kostenpflichtige Tarife mehr.
Wie bekomme ich einen Schlüssel?
Melde dich an und öffne den API-Zugang in der App. Du kannst mehrere Schlüssel erstellen und jederzeit widerrufen; jeder Schlüssel gilt für dein gesamtes Konto.
Teilen sich REST und MCP das Rate-Limit?
Ja. Das Limit gilt pro Konto und Minute, gezählt über beide Schnittstellen zusammen.
Verbraucht ein Scan mein Kontingent?
Ja. Scans auf Abruf — über REST oder MCP — ziehen aus demselben monatlichen Lauf-Kontingent wie geplante Prüfungen.