OverviewGetting StartedAPI Reference

Documentation PulseAPI

PulseAPI surveille vos endpoints d'API et vous alerte en cas de problème. Cette documentation couvre la configuration, l'API REST et les concepts clés.

Concepts clés

Endpoints

URLs que vous souhaitez surveiller. Chaque endpoint est vérifié à un intervalle configurable (1 min à 1 heure) via HTTP.

Verifications

Sondes de surveillance individuelles. Chaque check enregistre le code de statut, le temps de réponse et les résultats optionnels des assertions.

Alertes

Déclenchées automatiquement après 2+ échecs consécutifs. Les alertes de rétablissement se déclenchent au retour de l'endpoint. Les alertes de réponse lente sont limitées à 1/heure.

Pages de statut

Pages publiques affichant l'état des endpoints, les barres de disponibilité et les incidents. Supportent les domaines personnalisés et le branding.

Incidents

Suivez les pannes avec des mises à jour chronologiques, des niveaux de sévérité et des postmortems. Les abonnés sont notifiés automatiquement.

URL de base

https://api.pulseapi.tech

Tous les endpoints de l'API sont relatifs à cette URL de base.

Endpoints publics (sans auth)

Ces endpoints servent les mêmes données que vos clients voient sur la page de statut hébergée. Sûrs à appeler depuis le navigateur ; parfaits pour embarquer le statut dans votre propre app, README ou docs.

GET/status/:slugDonnées de statut

JSON avec métadonnées de la page, statut global, statuts des endpoints, tableaux d'uptime, incidents et composants.

SSE/sse/status/:slugStream temps réel (SSE)

Stream Server-Sent Events — recevez changements de statut, nouveaux incidents et résultats de checks en direct. Sans polling.

GET/badge/:slug/uptime.svgBadges embarquables

Badges SVG compatibles Shields.io : pourcentage d'uptime, statut actuel et temps de réponse moyen. À intégrer dans n'importe quel README ou landing.

Exemple temps réel

const es = new EventSource('https://api.pulseapi.tech/sse/status/acme')

es.addEventListener('status:changed', (e) => {
  const payload = JSON.parse(e.data)
  updateBanner(payload.status)
})

es.addEventListener('incident:created', (e) => {
  showNotification(JSON.parse(e.data))
})

Exemple rapide

# Create an API key in Dashboard > Settings > API Keys, then:

# List your endpoints
curl -H "Authorization: pk_live_abc123..." \
  https://api.pulseapi.tech/endpoints

# Create a new endpoint
curl -X POST https://api.pulseapi.tech/endpoints \
  -H "Authorization: pk_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"name":"My API","url":"https://api.example.com/health","method":"GET","checkInterval":300,"timeout":10}'

# Check uptime stats
curl -H "Authorization: pk_live_abc123..." \
  "https://api.pulseapi.tech/endpoints/ENDPOINT_ID/stats?period=24h"

Prêt à commencer ? Lisez la Démarrage ou passez à la Référence API.