Hoshibi API

API-Dokumentation

Privater Dienst. Ohne gültigen Schlüssel antwortet jeder Endpunkt außer /health mit 401.

Anmelden

Jede Anfrage braucht einen API-Schlüssel (X-API-Key) oder eine Sitzung (Authorization: Bearer …). Verwalten kann man nur mit einer Sitzung. Die bekommst du mit Schlüssel und Telegram-Code.

Schritt 1 · Code anfordern
curl -X POST https://api.hoshibi.de/login \
  -H "X-API-Key: $API_KEY"
Schritt 2 · Code einlösen, Token erhalten
curl -X POST https://api.hoshibi.de/verify \
  -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \
  -d '{"code":"123456"}'

Der Code kommt per Telegram, gilt 5 Minuten und darf 5-mal falsch sein. Das Token gilt 24 Stunden.

Endpunkte

GET/healthErreichbarkeit, ohne Anmeldung
POST/loginTelegram-Code anfordern (Schlüssel)
POST/verifyCode einlösen → Token
GET/meInfos zur Sitzung
GET/statusZahlen und Zustand
POST/logoutSitzung beenden
GET/entries?q=&tag=&limit=&offset=Einträge suchen
POST/entries{"title","body","tags","pinned"}
PATCH/entries/:idFelder ändern
DELETE/entries/:idEintrag löschen
GET/entries/exportAlles als JSON
GET/keysSchlüssel auflisten
POST/keys{"name"} → Schlüssel, einmalig sichtbar
POST/keys/:id/suspend{"duration_seconds"} oder {"until"}
POST/keys/:id/unsuspendPause aufheben
DELETE/keys/:idSchlüssel widerrufen
GET/audit?limit=&type=Protokoll
GET/audit/exportProtokoll als CSV

Beispiel: Eintrag anlegen

mit Token
curl -X POST https://api.hoshibi.de/entries \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"title":"WLAN Ferienhaus","body":"SSID: Ostsee-47","tags":["reise"]}'

Antwortcodes

200/201Erfolg
400Ungültige Anfrage
401Schlüssel, Sitzung oder Code ungültig
403Schlüssel pausiert
404Nicht gefunden
429Zu viele Anfragen
502Telegram nicht erreichbar

Hoshibi API 2.0.0 · Ein Hoshibi-Projekt