SDK JavaScript / TypeScript
StatusInspector ofrece un SDK oficial para Node.js y TypeScript que simplifica la autenticación, el manejo de errores y el consumo de los endpoints principales de la API v1.
El SDK está actualmente en fase beta (v0.1.0). La publicación del paquete en npm está pendiente.
Instalación
Una vez publicado el paquete en npm:
npm install @statusinspector/api-client
# o
yarn add @statusinspector/api-client
Inicialización
import { StatusInspectorClient } from '@statusinspector/api-client';
const client = new StatusInspectorClient({
apiToken: 'tu-bearer-token',
baseUrl: 'https://back.statusinspector.com/api/v1',
});
El token se genera desde Cuenta → API → Tokens en el panel. Ver Autenticación de la API.
Recursos disponibles
Monitores
// Listar monitores
const { data, pagination } = await client.monitors.list({ status: 'down' });
// Obtener un monitor
const monitor = await client.monitors.get('42');
// Crear un monitor
const nuevo = await client.monitors.create({
name: 'API de producción',
monitor_type: 'http',
target: 'https://api.ejemplo.com/health',
interval_sec: 60,
timeout_ms: 5000,
});
// Actualizar (parcial)
await client.monitors.update('42', { is_paused: true });
// Eliminar
await client.monitors.delete('42');
Checks (historial)
// Últimos checks de un monitor
const { data } = await client.checks.listByMonitor('42', {
status: 'down',
from: '2026-05-01T00:00:00Z',
per_page: 50,
});
Incidentes
// Listar incidentes
const { data } = await client.incidents.list({
monitor_id: 42,
resolved: false,
});
// Obtener un incidente
const incident = await client.incidents.get('1234');
Páginas de estado
// Listar páginas de estado
const { data } = await client.statusPages.list();
// Obtener una página
const page = await client.statusPages.get('5');
Manejo de errores
El SDK lanza StatusInspectorApiError en caso de error HTTP o de red:
import { StatusInspectorApiError } from '@statusinspector/api-client';
try {
const monitor = await client.monitors.get('999');
} catch (err) {
if (err instanceof StatusInspectorApiError) {
console.error(err.code); // 'not_found'
console.error(err.message); // 'Monitor no encontrado.'
console.error(err.httpStatus); // 404
console.error(err.requestId); // 'abc123'
console.error(err.rateLimit); // { limit, remaining, reset, retry_after }
}
}
Información de rate limit
Todas las respuestas incluyen metadatos de rate limit accesibles en el resultado:
const result = await client.monitors.list();
console.log(result.meta.rate_limit);
// { limit: 120, remaining: 117, reset: 1747180860, retry_after: null }
Ver los límites por plan en Planes y límites.
Próximos pasos
- Publicar el paquete en npm como versión
0.1.0(beta) o1.0.0(estable) - Completar el tipado de atributos por recurso
- Añadir pipeline de publicación y verificación
Para consumir la API directamente con curl u otro cliente HTTP, consulta Referencia de endpoints.