Desarrolladores

Una clave para la API REST y el servidor MCP

Lee tus datos de monitorización, configura y ajusta sitios y monitores, y ejecútalos desde scripts, CI o un agente de IA. Una clave de API, de solo lectura o con acceso completo, y el mismo límite en REST y MCP.

Inicio rápido

Cada solicitud se autentica con una clave de API que creas en la app. Apunta curl, tu CI o cualquier cliente HTTP a 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 — One run in detail, then the fix brief Relvato's AI would answer
curl https://app.relvato.com/api/v1/runs/RUN_ID \
  -H "Authorization: Bearer rlv_your_key"
curl https://app.relvato.com/api/v1/runs/RUN_ID/fix-prompt \
  -H "Authorization: Bearer rlv_your_key"

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

Autenticación

Envía tu clave en cada solicitud como Authorization: Bearer rlv_your_key (también funciona una cabecera x-api-key). Una clave ausente, revocada o desconocida devuelve 401.

Crea y revoca claves en API access dentro de la app. Las claves empiezan por rlv_ y se muestran una sola vez al crearlas. Cada clave es read-only (todo lo que lee: sitios, salud, rendimiento, ejecuciones, monitores, actualizaciones, actividad, informes de corrección, ajustes de alertas) o full access (además añade y configura sitios y monitores, los ejecuta, revisa resultados y aplica las correcciones propuestas). Las claves creadas antes de que existieran los alcances tienen acceso completo. Trátalas como una contraseña.

Endpoints REST

Cada endpoint se limita a la cuenta de la clave y devuelve JSON. URL base https://app.relvato.com/api/v1.

MétodoEndpointDescripción
GET/api/v1Confirma la clave y lista los endpoints disponibles.
GET/api/v1/sitesLista los sitios web que Relvato monitoriza para ti.
GET/api/v1/sites/:id/overviewEl diagnóstico de un sitio: qué requiere atención, la última ejecución de cada monitor y el uso del plan.
GET/api/v1/sites/:id/settingsLos ajustes de un sitio — nunca valores secretos.
GET/api/v1/sites/:id/healthSalud ahora y en el tiempo (?range=28|90|182), resumen de los grupos, uptime de las sondas.
GET/api/v1/sites/:id/performanceWeb Vitals de laboratorio y de visitas reales, qué ralentiza el sitio, las mejoras principales.
GET/api/v1/sites/:id/activityEl registro de actividad de WordPress (?filter, ?search, ?days, ?limit).
GET/api/v1/sites/:id/updatesVentanas de actualización automática de WordPress, versiones retenidas, actualizaciones seguras, endurecimiento.
GET/api/v1/sites/:id/quarantineModo cuarentena: la sesión activa, sus cambios, sesiones anteriores.
GET/api/v1/checks/:idUn monitor completo: horario, sus ajustes, hallazgos ignorados, última ejecución.
GET/api/v1/notificationsLas notificaciones del panel.
GET/api/v1/runsVerificaciones recientes, de más nueva a más antigua — parámetros opcionales siteId, checkId, status, before (paginación) y limit (1–100).
GET/api/v1/runs/:idUna ejecución en detalle: pasos, avisos, hallazgos y métricas (compactadas si son grandes).
GET/api/v1/runs/:id/fix-promptPara una ejecución que encontró un problema: el informe que responde la IA de Relvato — stack, qué cambió, el error y la evidencia.
GET/api/v1/alert-settingsQuién recibe qué: frecuencia, gravedad, canales y reparto. Nunca URLs ni secretos.
POST/api/v1/sites/:id/scanEncola un escaneo bajo demanda de un sitio y devuelve los ids de ejecución. Necesita una clave de acceso completo; cuenta para tu cupo mensual de ejecuciones.

Ejemplo: listar sitios

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

Ejemplo: ejecuciones recientes

Una ejecución que falló pero se resolvió después (línea base aceptada o ignorada) informa status: "passed" con resolved: true.

{
  "runs": [
    {
      "id": "rn_9f8e7d",
      "siteId": "st_1a2b3c",
      "checkId": "ck_4d5e6f",
      "journey": "checkout",
      "checkName": "Checkout",
      "status": "passed",
      "resolved": false,
      "trigger": "schedule",
      "startedAt": "2026-08-31T09:15:00.000Z",
      "durationMs": 4210,
      "error": null,
      "warning": null
    }
  ]
}

Ejemplo: una ejecución en detalle

Los hallazgos llegan en metrics.items. Una ejecución grande se compacta en lugar de cortarse: las series largas pasan a ser resúmenes y lo que se omitió aparece en metricsTrimmed; el titular y los hallazgos siempre se conservan.

{
  "runId": "rn_9f8e7d",
  "runUrl": "https://app.relvato.com/runs/rn_9f8e7d",
  "check": { "key": "google-search", "name": "Google Search" },
  "status": "passed",
  "warning": "https://style4street.com/category/topuri/hanorace/ lost 57% of its Google impressions",
  "metrics": {
    "headline": { "tone": "warn", "text": "🔎 1 thing to review on Google Search (as of 2026-09-24)" },
    "items": [
      { "text": "https://style4street.com/category/topuri/hanorace/ lost 57% of its Google impressions — 98 in the 7 days to 2026-09-24, against 226 in an average week before", "tone": "warn" }
    ],
    "search": { "engine": "google", "tiles": [ … ], "dailies": [ { "label": "Impressions per day", "days": 84, "last7Total": 2196, "usualLast7Total": 2583 } ], … }
  },
  "metricsTrimmed": {
    "note": "Large parts were left out to keep this short — the run page has everything.",
    "omitted": ["search.dailies (the per-day values — summarized)", "search.tiles[].weekly (the 8 weekly bars)"]
  }
}

Ejemplo: el informe de corrección de una ejecución

Para una ejecución que encontró un problema, fix-prompt devuelve el informe que responde la propia IA de Relvato: el stack del sitio, qué cambió justo antes, el error y los hallazgos y, para Google / Bing Search, la evidencia que descarta causas. Pásalo a tu propio modelo o léelo tú.

{
  "runId": "rn_9f8e7d",
  "runUrl": "https://app.relvato.com/runs/rn_9f8e7d",
  "hasIssue": true,
  "prompt": "# Help me understand a Google Search change on my WordPress site\n\nYou are a senior SEO specialist. … ## Evidence Relvato already has …"
}

Límites de tasa

Las solicitudes se limitan por minuto y por cuenta, sumando REST y MCP. Tu plan fija el máximo:

PlanSolicitudes / min
Free30
Pro120
Business600
Agency2,400

Cada respuesta incluye X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset. Al superar el límite se devuelve 429 con una cabecera Retry-After.

Códigos de estado

EstadoSignificado
200Éxito.
400A la petición le falta algo o no se puede hacer; el mensaje dice qué.
401Clave de API ausente, desconocida o revocada.
403La clave es de solo lectura y la petición cambiaría algo o lanzaría un escaneo.
404Sitio o ejecución no encontrados para esta cuenta.
409El sitio está desactivado o aún no has demostrado que es tuyo (dominio sin verificar o plugin de WordPress nunca conectado).
429Límite de tasa alcanzado, o cupo mensual de ejecuciones agotado.

Servidor MCP (para agentes de IA)

Relvato también es un servidor remoto Model Context Protocol con 57 herramientas, así un agente como Claude puede hacer en una conversación lo que harías en el panel: añadir un sitio y guiarte para conectarlo, elegir y configurar sus monitores (hasta las páginas que revisa el monitor visual), ejecutarlos, explicar los resultados y, si estás de acuerdo, aceptar un cambio intencionado o darte el enlace para aplicar en WordPress la corrección que propone una ejecución. Se conecta iniciando sesión en Relvato o con una clave de API; en ambos casos comparte el límite de la API REST. Aprobar cambios de integridad de archivos, scripts y DNS, quién recibe las alertas, los secretos y borrar se quedan en el panel.

Incluido en el GitHub MCP Registry ↗.

Inicia sesión, sin clave. Añade el endpoint como conector en Claude (claude.ai, Desktop o Claude Code), ChatGPT o VS Code. El cliente abre el inicio de sesión de Relvato; le permites leer tus sitios y resultados y hacer cambios: añadir sitios y monitores, cambiar horarios y lanzar escaneos. El inicio de sesión funciona en clientes compatibles con Client ID Metadata Documents; Cursor y el gateway MCP de Docker aún no lo son, así que usan una clave de API.

Si perteneces a una organización, eliges uno de sus espacios de trabajo en la pantalla de inicio de sesión; tu espacio personal no aparece ahí. Para conectar tu espacio personal, usa una clave de API.

Cosas que puedes pedir a un agente conectado a Relvato:

  • «¿Por qué falló anoche el checkout de mi tienda y cómo lo arreglo?»
  • «Configura la monitorización de example.com y dime qué tengo que hacer para conectarlo».
  • «¿Quién recibe una alerta cuando un monitor de Security encuentra un problema, y por qué canales?»
  • «Añade mis páginas de precios y del blog al monitor visual y ejecútalo».
  • «¿Qué tan rápida es mi tienda para visitantes reales y qué la ralentiza?»

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

HerramientaQué hace
Configurar el sitio
list_sitesLista los sitios de la cuenta y si cada uno está listo para ejecutar monitores.
add_siteAñade un sitio y devuelve su paso de configuración: conectar el plugin de WordPress o verificar el dominio.
verify_siteComprueba ese paso: la conexión del plugin, o el registro DNS o la metaetiqueta de verificación del dominio.
start_monitoring_for_goalsElige lo que importa (checkout, seguridad, búsqueda, velocidad, …) y obtén los monitores de tu plan que lo cubren.
list_checksLos monitores que puedes añadir: qué detecta cada uno, si tu plan lo incluye y cuáles se recomiendan.
add_checksAñade monitores a un sitio; cada uno indica si se añadió, si ya existía o por qué no.
dismiss_recommendationDeja de recomendar un monitor para un sitio, o recupera las recomendaciones descartadas.
calibrate_siteWooCommerce: vuelve a leer la tienda (un producto para comprar, tipo de checkout, moneda) después de un cambio.
verify_vitals_beaconComprueba que el beacon de Web Vitals de usuarios reales está instalado.
Leer
site_overviewVeredicto claro sobre el sitio: qué necesita atención, cada monitor con su última ejecución y horario, y el uso del plan. En WordPress, también las abilities de IA del sitio.
get_site_healthTasa de éxito ahora y en 30 días, la tendencia en 28–182 días, el resumen de cada grupo y el uptime de las sondas con sus incidentes.
get_performanceCore Web Vitals de laboratorio y de visitas reales, qué ralentiza el sitio y las mejoras principales con pasos.
get_checkUn monitor completo: horario, sus ajustes (páginas, máscaras, detalles del checkout, …), hallazgos ignorados, su receta si lo escribió la IA, última ejecución.
list_runsEjecuciones recientes, de más nueva a más antigua — por sitio, monitor o estado, con paginación.
get_runUna ejecución en detalle: pasos, hallazgos, comparaciones visuales con enlaces a imágenes, la corrección que propone, plugins que sugiere actualizar.
get_fix_promptPara una ejecución que encontró un problema: el mismo informe que responde la IA de Relvato, para razonar la causa probable y las soluciones.
get_updatesWordPress: ventanas de actualización automática y qué actualizaron o revirtieron, versiones retenidas, actualizaciones seguras, endurecimiento.
get_safe_updateSigue una actualización o desactivación segura de un plugin hasta que pasa, rompe un monitor o se deshace en WordPress.
get_quarantineModo cuarentena: disponible o no, activo hasta cuándo, cada cambio que vio, sesiones anteriores.
get_activity_logWordPress: inicios de sesión, intentos fallidos, cuentas, actualizaciones, ajustes y ediciones de archivos, dentro del historial de tu plan.
get_notificationsLas notificaciones del panel: monitores que fallan, problemas del plugin o del beacon, canales en pausa, facturación.
get_site_settingsLos ajustes de un sitio: lo que un agente puede cambiar y lo que se queda en el panel (nunca valores secretos).
get_alert_settingsQuién recibe qué: frecuencia, gravedad, el estado de cada canal y el reparto — sin URLs ni secretos.
get_status_pagesPáginas de estado e informes para clientes: solo ajustes, nunca un enlace privado ni direcciones de destinatarios.
list_heartbeatsLos heartbeats de un sitio (cron jobs que avisan): estado, programación, último ping, avisos perdidos — y con acceso completo, las URL de ping.
Ajustar
update_checkActiva o desactiva un monitor, o cambia cuándo se ejecuta: horario, reejecuciones al actualizar WordPress, ejecuciones extra aleatorias.
pause_monitor_groupPausa un grupo de monitores entero durante 1 hora, 24 horas o hasta reanudarlo, por ejemplo en un mantenimiento; vuelven a activarse justo los monitores que apagó.
resume_monitor_groupReanuda ahora un grupo en pausa; un monitor que el plan ya no permite sigue apagado, con el motivo.
update_visual_monitorAñade páginas propias por dirección al monitor visual y fija máscaras, dispositivos, navegadores y el umbral.
update_check_settingsLos ajustes propios de un monitor: detalles del checkout, páginas extra, lo que debe responder la función de IA del sitio, selectores DKIM, …
add_custom_checkDescribe lo que debe cumplirse en una página; la IA de Relvato escribe el monitor.
edit_custom_checkDa a un monitor personalizado un nuevo objetivo o página; la IA escribe una receta nueva para aprobar.
reauthor_custom_checkResponde a la pregunta de la IA, o haz que vuelva a escribir la receta de un monitor personalizado.
approve_custom_checkAprueba una receta propuesta para que el monitor personalizado se ejecute (las interactivas necesitan un OK explícito).
update_site_settingsRitmo, separación entre ejecuciones, reintento tras el firewall, recuperación de monitores inestables, reversión de plugins.
update_alert_settingsMomento de las alertas y gravedad mínima. Quién recibe las alertas y silenciar se quedan en el panel.
add_heartbeatCrea un heartbeat para un cron job o una copia de seguridad y obtén la URL que el trabajo llama cuando termina bien.
update_heartbeatRenombra, reprograma, pausa o reanuda un heartbeat. Eliminarlo se queda en el panel.
Ejecutar y actuar
trigger_scanEjecuta ahora los monitores de un sitio — todos, un grupo o uno — y devuelve los ids de ejecución y cuánto tardarán aproximadamente (usa el cupo mensual).
cancel_queued_runsDetiene las ejecuciones en cola de un sitio; la que está en marcha termina.
request_ai_fixPide a la IA de Relvato una sugerencia de corrección para una ejecución fallida (planes de pago).
apply_fixWordPress: da el enlace para aplicar en WordPress la corrección de un clic que propone una ejecución — solo esa —; después Relvato vuelve a ejecutar el monitor.
start_safe_updateWordPress: inicia la actualización o desactivación de un plugin vulnerable, que se aplica en WordPress; Relvato vuelve a comprobar y ofrece deshacerla si algo se rompe.
start_quarantineTras un hackeo: ejecuciones de seguridad cada hora durante 48 horas, con las actualizaciones de plugins en pausa.
extend_quarantineMantén el modo cuarentena 48 horas más.
send_test_alertEnvía una alerta de prueba por email, Slack o webhook.
resume_webhookVuelve a activar las alertas por webhook después de que Relvato las pausara por entregas fallidas.
report_false_positiveAvisa al equipo de Relvato de que un resultado es erróneo; no cambia nada en la ejecución.
Revisar resultados
ignore_findingHaz que un hallazgo deje de contar en un monitor (se puede deshacer). Solo si confirmas que es esperado.
unignore_findingHaz que un hallazgo ignorado vuelva a contar.
accept_visual_changeConvierte la captura de esta ejecución en la nueva referencia de una página (se puede deshacer).
ignore_visual_changeIgnora a partir de ahora la zona que cambió en una página (se puede deshacer).
flag_visual_change_as_problemMarca como fallo un cambio visual que la IA dejó pasar.
undo_visual_reviewDeshace la última aceptación u omisión visual.
accept_structure_changeAdopta la nueva estructura de una página como referencia (se puede deshacer).
ignore_structure_changeIgnora cambios concretos de elementos en una página (se puede deshacer).
undo_structure_reviewDeshace la última aceptación u omisión de estructura.

En un cliente que lee un mcp.json, basta con el endpoint: el cliente te pide iniciar sesión la primera vez:

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

Para usar una clave de API en su lugar (un script, un cliente sin inicio de sesión o tu espacio personal si estás en una organización), añade la cabecera. Una clave de solo lectura solo recibe las herramientas de lectura:

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

Plugin para Claude Code

En Claude Code, el plugin de Relvato añade el servidor y tres skills para trabajar desde el repositorio de tu sitio. Instálalo desde nuestro marketplace, luego ejecuta /mcp e inicia sesión:

claude plugin marketplace add Relvato/relvato-mcp
claude plugin install relvato@relvato
  • /relvato:setup añade el sitio que despliega este repositorio, demuestra que es tuyo (puede añadir la metaetiqueta de verificación a tu código), elige monitores y lanza las primeras ejecuciones.
  • /relvato:check-after-deploy ejecuta los monitores del sitio tras un despliegue, dice cuánto tardarán e informa de lo que pasó y lo que falló.
  • /relvato:fix-failure lee una ejecución fallida, encuentra la causa en tu código, aplica la corrección más pequeña con tu visto bueno y vuelve a ejecutar ese monitor.

Perplexity

Con un plan Pro, Max o Enterprise de Perplexity, añade Relvato como conector personalizado: Settings → Connectors → + Custom connector → Remote. Usa el endpoint de arriba como URL del servidor MCP y Streamable HTTP como transporte.

En Authentication, elige API key y pega una clave de API de Relvato (créala en API access, en la app; una clave de solo lectura solo recibe las herramientas de lectura). La opción OAuth de Perplexity aún no funciona con el inicio de sesión de Relvato: necesita que el servidor registre Perplexity automáticamente, y Relvato no lo ofrece.

Webhooks

La API responde cuando preguntas. Para enterarte en cuanto un monitor encuentra un problema, añade un webhook: Relvato envía un evento JSON firmado a tu URL con cada alerta (Pro y superiores). Configurar un webhook →

Preguntas frecuentes

¿Qué planes incluyen acceso a API y MCP?

Todos, incluido Free — solo cambia el límite por minuto. Free permite 30 solicitudes por minuto; los planes de pago, más.

¿Cómo obtengo una clave?

Inicia sesión y abre Acceso a la API en la app. Elige solo lectura o acceso completo para cada clave; puedes crear varias y revocar cualquiera cuando quieras.

¿Qué puede hacer una clave de solo lectura?

Todo lo que solo lee: sitios, salud y uptime, rendimiento, ejecuciones y monitores, actualizaciones y actividad de WordPress, cuarentena, notificaciones, informes de corrección y ajustes de alertas, por REST y MCP. Un cliente MCP conectado con una clave de solo lectura solo ve las herramientas de lectura. Todo lo que añade, cambia, ejecuta o revisa devuelve 403 y necesita una clave de acceso completo.

¿REST y MCP comparten el límite?

Sí. El límite es por cuenta y por minuto, contado sumando ambas interfaces.

¿Lanzar un escaneo consume mi cupo?

Sí. Los escaneos bajo demanda — por REST o MCP — salen del mismo cupo mensual de ejecuciones que las ejecuciones programadas.

¿Puede un agente añadir sitios y cambiar monitores?

Sí — dentro de los límites de tu plan, con las mismas reglas que el panel. No puede saltarse la verificación de propiedad: un sitio nuevo solo se ejecuta cuando su plugin de WordPress está conectado o su dominio verificado. Solo puede aceptar o ignorar un resultado de formas que se pueden deshacer y, en WordPress, darte solo la corrección que propone una ejecución, para que la apliques en WordPress → Relvato. Aprobar cambios de integridad de archivos, scripts y DNS, detener el modo cuarentena, elegir quién recibe las alertas, los secretos y borrar se quedan en el panel.

¿Puede un asistente de IA conectarse sin clave de API?

Sí. Claude, ChatGPT y VS Code pueden iniciar sesión en Relvato (cualquier cliente compatible con Client ID Metadata Documents puede): añade el endpoint MCP y sigue el inicio de sesión. Tiene el mismo límite por minuto y los mismos límites del plan que una clave. Si perteneces a una organización, el inicio de sesión conecta uno de sus espacios de trabajo; para el personal, usa una clave de API.

¿Funciona Relvato con la API de Abilities de WordPress?

En los dos sentidos. El plugin de Relvato registra cuatro abilities (estado del sitio, monitores, brief de corrección y ejecutar monitores), así que un asistente conectado a un sitio WordPress por el MCP Adapter puede usar Relvato desde ahí. Y site_overview lista las abilities que registran todos los plugins de un sitio WordPress, tal como las leyó el último escaneo de exposición: cuáles puede ejecutar cualquiera y cuáles pueden borrar datos.

Construye sobre tus datos de monitorización

Crea una clave y haz tu primera solicitud en menos de un minuto.