Uptime multirregión
Vigilar una docena de sitios con un monitor por cada uno se vuelve inmanejable rápido.
Este endpoint registra un único monitor programado sobre una lista de URLs: en cada ejecución comprueba cada dirección de la lista y llama a su webhook cuando alguna cambia de estado, de modo que toda una cartera queda cubierta desde una sola tarea en lugar de un monitor por sitio.
Un monitor para toda una lista
Lo clásico es un monitor de disponibilidad por sitio, y cuando ya vigila diez o veinte, la contabilidad se convierte en el trabajo. Quien administra una cartera —una agencia, una red de tiendas, un desarrollador con muchos proyectos— quiere lo contrario: un único monitor que cargue con toda la lista. web.uptime_multi existe para que una sola tarea programada cubra cada URL que le entregue, con un veredicto por dirección en lugar de un promedio borroso.
Qué envía, qué recibe
Registre el monitor con las URLs objetivo y una cadencia. Corre de forma asíncrona: recibe un schedule_id de inmediato y, a partir de ahí, cada dirección de la lista se comprueba en ese horario. Cuando cambia la disponibilidad de cualquier URL, llega un webhook que nombra cuál cambió, así no tiene que reconciliar a mano una pila de monitores sueltos.
Quién lo necesita en la práctica
Equipos que operan su propia página de estado, agencias que vigilan decenas de sitios de clientes y plataformas SaaS que integran datos de disponibilidad en el panel de sus clientes chocan con el mismo problema al usar un monitor por sitio: la gestión crece más rápido que el valor. Un único monitor basado en lista es la solución estándar, y ahora está disponible como una simple llamada de API en lugar de una plataforma completa que hay que adoptar.
Pensado para automatizaciones, no para paneles
Al registrarse de forma asíncrona y entregar por webhook, encaja de forma natural en un cron, un generador de páginas de estado o un bot de respuesta a incidentes, sin necesidad de sondear constantemente. Registre el monitor, deje que el webhook de cambio llegue a su sistema de alertas y defina usted mismo el umbral de qué cuenta como 'caído' (cualquier URL de la lista fallando, o una crítica en particular, según qué tan cauteloso quiera ser).
Un precio a la medida de la carga
A $0.002 por solicitud puede registrar monitores frecuentes sobre muchos endpoints sin hacer cálculos mentales sobre su factura. Las tareas fallidas -entendidas como una tarea que no logró ejecutarse de nuestro lado, no como que su sitio estuviera caído- se reintentan automáticamente hasta tres veces y nunca se cobran, así que un tropiezo pasajero de nuestro lado jamás le cuesta un centavo.
Qué puede hacer con ella
Backend de una página de estado pública
Alimente una página de estado orientada a clientes con los webhooks de cambio de un solo monitor que cubre toda su lista de endpoints.
Vigilancia de clientes de una agencia
Una agencia que administra 40 sitios de clientes registra un monitor que comprueba cada dominio cada cinco minutos y enruta las alertas del webhook a su sistema de tickets.
Alta de nuevos sitios
A medida que cada nuevo sitio de cliente entra en producción, se agrega a la lista del monitor existente, así la cobertura crece sin montar un monitor nuevo cada vez.
Detectar cuál se cayó
Cuando toda una cartera está en un solo monitor, el webhook de cambio nombra exactamente qué URL se cayó, así va directo al sitio afectado en lugar de revisarlos uno por uno.
Preguntas frecuentes
¿Cuántas URLs puede vigilar un monitor?
Agrega tantas direcciones como necesite a la lista; cada una se comprueba en el horario del monitor y se reporta por separado, así la lista nunca se reduce a un solo promedio.
¿Existe un plan gratuito para esta api de monitoreo de disponibilidad?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cómo recibo los resultados?
Por webhook firmado a su endpoint cuando el estado de una URL cambia (lo recomendado para automatizaciones) o por un enlace firmado válido durante 24 horas si prefiere consultar el último resultado usted mismo.
¿Qué se considera 'caído' en la respuesta?
Le entregamos la disponibilidad y los códigos de estado por URL; usted define su propio umbral (alguna URL de la lista inalcanzable, una crítica en particular o todas) según su tolerancia.
¿Puedo chequear puertos que no sean HTTP?
Este endpoint se enfoca en disponibilidad HTTP/HTTPS con método y código esperado configurables; no es un escáner TCP o ping genérico.
¿Se cobra si un chequeo falla?
Solo si su destino realmente no responde -eso es un resultado válido, no un fallo. Si la tarea en sí no logra ejecutarse de nuestro lado, se reintenta automáticamente hasta tres veces y nunca se factura.
¿Puedo correrlo cada minuto para muchos dominios?
Sí, ese es justamente el uso previsto; a $0.002 por solicitud está pensado para monitoreo de alta frecuencia en múltiples dominios.
¿En qué se diferencia de un script de uptime casero?
Un script casero es un trabajo y una lista que mantiene usted mismo; este registra un único monitor que comprueba toda su lista en un horario y entrega un webhook de cambio, sin que tenga que mantener infraestructura propia.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. Esta capacidad está disponible actualmente mediante la API, no como herramienta interactiva en la Web.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/web/uptime-multi \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'const res = await fetch("https://api.kit.forhosting.com/web/uptime-multi", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://example.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/uptime-multi",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://example.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/uptime-multi", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://example.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/uptime-multi", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"url": "https://example.com"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.uptime_multi",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
timeout_sec | 30 |
max_crawl_pages | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |