PulseAPIドキュメント
PulseAPIはAPIエンドポイントを監視し、問題発生時にアラートを送信します。このドキュメントではセットアップ、REST API、主要概念を説明します。
主要概念
エンドポイント
監視したいURL。各エンドポイントは設定可能な間隔(1分~1時間)でHTTPにより確認されます。
チェック
個別の監視プローブ。各チェックはステータスコード、レスポンスタイム、オプションのアサーション結果を記録します。
アラート
2回以上の連続失敗で自動的にトリガーされます。エンドポイント復旧時に回復アラートが送信されます。低速レスポンスアラートは1時間に1回に制限されています。
ステータスページ
エンドポイントの状態、稼働率バー、インシデントを表示する公開ページ。カスタムドメインとブランディングに対応。
インシデント
タイムライン更新、重要度レベル、ポストモーテムで障害を追跡します。サブスクライバーには自動で通知されます。
ベースURL
すべてのAPIエンドポイントはこのベースURLからの相対パスです。
公開エンドポイント (認証不要)
これらのエンドポイントはホステッド版と同じデータを返します。ブラウザから呼び出し可能で、自アプリ、README、ドキュメントへのステータス埋め込みに最適です。
GET
/status/:slugステータスデータページメタデータ、全体ステータス、エンドポイント別ステータス、稼働率配列、インシデント、コンポーネントの JSON。
SSE
/sse/status/:slugリアルタイムストリーム (SSE)Server-Sent Events ストリーム — ステータス変更、新規インシデント、チェック結果を即座に受信。ポーリング不要。
GET
/badge/:slug/uptime.svg埋め込みバッジShields.io 互換の SVG バッジ: 稼働率、現在のステータス、平均レスポンスタイム。任意の README やランディングに埋め込み可能。
リアルタイム例
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))
})クイック例
# 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"