Health Check
Überprüfen Sie den Betriebsstatus des SharpAPI-Dienstes, einschließlich Backend-Konnektivität und Datenaktualität.
GET /api/v1/healthAuthentifizierung
Keine Authentifizierung erforderlich. Dies ist ein öffentlicher Endpoint.
Beispielanfragen
cURL
curl -X GET "https://api.sharpapi.io/api/v1/health"Antwort
Healthy (200)
{
"status": "ok",
"version": "v1",
"timestamp": "2026-02-08T15:00:00.123Z",
"checks": {
"redis": {
"status": "ok",
"latency_ms": 2
},
"data": {
"status": "ok",
"message": "5 sportsbook snapshots available"
},
"schema": {
"status": "ok",
"message": "All 14 required fields present"
}
}
}Degraded (200)
Wenn der Dienst nur teilweise funktionsfähig ist, lautet der Status degraded:
{
"status": "degraded",
"version": "v1",
"timestamp": "2026-02-08T15:00:00.123Z",
"checks": {
"redis": {
"status": "ok",
"latency_ms": 5
},
"data": {
"status": "degraded",
"message": "No snapshot data in Redis"
},
"schema": {
"status": "degraded",
"message": "Schema drift: missing fields [selectionType] in draftkings snapshot"
}
}
}Down (503)
Wenn der Dienst nicht funktionsfähig ist, lautet der Status down und der HTTP-Statuscode ist 503:
{
"status": "down",
"version": "v1",
"timestamp": "2026-02-08T15:00:00.123Z",
"checks": {
"redis": {
"status": "down",
"message": "Redis unreachable"
}
}
}Antwort-Header
X-Request-Id: req_health456defDer Health-Endpoint gibt keine Rate-Limit-Header oder Tier-Header zurück, da keine Authentifizierung erforderlich ist.
Antwortfelder
Top-Level-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
status | string | Gesamtsystemstatus: ok, degraded oder down |
version | string | Aktuelle API-Version |
timestamp | string | ISO 8601-Zeitstempel dieser Health-Prüfung |
checks | object | Einzelne Subsystem-Health-Prüfungen |
Statuswerte
| Status | HTTP-Code | Bedeutung |
|---|---|---|
ok | 200 | Alle Systeme betriebsbereit |
degraded | 200 | Funktionsfähig, jedoch mit reduzierter Leistung oder veralteten Daten |
down | 503 | Dienst ist nicht verfügbar |
Redis-Prüfung
| Feld | Typ | Beschreibung |
|---|---|---|
status | string | Redis-Konnektivitätsstatus: ok oder down |
latency_ms | number | null | Round-Trip-Latenz zu Redis in Millisekunden |
message | string | Menschenlesbare Statusmeldung |
Datenprüfung
| Feld | Typ | Beschreibung |
|---|---|---|
status | string | Status der Datenaktualität: ok oder degraded |
message | string | Menschenlesbare Statusmeldung (z. B. “5 sportsbook snapshots available”) |
Schemaprüfung
Nur bei GET-Anfragen enthalten (nicht bei HEAD). Überprüft, ob die Upstream-Snapshot-Daten alle erforderlichen Felder enthalten.
| Feld | Typ | Beschreibung |
|---|---|---|
status | string | Schemakompatibilitätsstatus: ok oder degraded |
message | string | Menschenlesbare Statusmeldung (z. B. “All 14 required fields present”) |
Statuslogik
Der Gesamtstatus status wird durch die schlechteste Einzelprüfung bestimmt:
- ok – Alle Prüfungen sind
ok - degraded – Mindestens eine Prüfung ist
degraded, keine istdown - down – Mindestens eine Prüfung ist
down
Datenverfügbarkeit
| Bedingung | Status | Beschreibung |
|---|---|---|
| 1+ Sportsbook-Snapshots | ok | Snapshot-Daten in Redis verfügbar |
| 0 Snapshots in Redis | degraded | Keine Snapshot-Daten gefunden |
| Redis nicht erreichbar | (nicht geprüft) | Die Datenprüfung wird übersprungen, wenn Redis ausgefallen ist |
Anwendungsfälle
Monitoring und Alarmierung
Verwenden Sie den Health-Endpoint in Ihrem Monitoring-Stack (Prometheus, Datadog, UptimeRobot usw.), um Probleme zu erkennen:
# Simple health check for monitoring scripts
STATUS=$(curl -s https://api.sharpapi.io/api/v1/health | jq -r '.status')
if [ "$STATUS" != "ok" ]; then
echo "ALERT: SharpAPI status is $STATUS"
fiHealth-Prüfung vor Anfragen
Überprüfen Sie die Verfügbarkeit, bevor Sie kritische Anfragen stellen:
async function safeRequest(endpoint) {
const health = await fetch('https://api.sharpapi.io/api/v1/health')
.then(r => r.json());
if (health.status === 'down') {
throw new Error('SharpAPI is currently down');
}
if (health.status === 'degraded') {
console.warn('SharpAPI is degraded - data may be stale');
}
return fetch(`https://api.sharpapi.io/api/v1${endpoint}`, {
headers: { 'X-API-Key': 'YOUR_API_KEY' }
}).then(r => r.json());
}Uptime-Dashboard
import requests
from datetime import datetime
response = requests.get('https://api.sharpapi.io/api/v1/health')
health = response.json()
print(f"SharpAPI Status: {health['status'].upper()}")
print(f"Version: {health['version']}")
print(f"Checked at: {health['timestamp']}")
print()
for name, check in health['checks'].items():
status_icon = {'ok': 'PASS', 'degraded': 'WARN', 'down': 'FAIL'}
print(f" [{status_icon.get(check['status'], '???')}] {name}: {check.get('message', 'healthy')}")
if name == 'redis' and check.get('latency_ms') is not None:
print(f" Latency: {check['latency_ms']}ms")Verwandte Endpoints
- Kontoinformationen – Überprüfen Sie Ihren Kontostatus und Ihre Limits
- API-Referenz Übersicht – Vollständige API-Dokumentation