Zum Inhalt springen
CLUP.life

Entwicklerdokumentation: API, Webhooks und MCP

CLUP.life an Website, Kalender, Automatisierung und KI-Assistenten anbinden: REST-API, signierte Webhooks und MCP-Server. In 5 Minuten zum ersten Aufruf.

Vereine, Verbände und Kommunen arbeiten nicht nur in CLUP.life. Sie haben eine Website, einen Kalender, eine Tabelle, vielleicht eine Automatisierung oder einen KI-Assistenten. Über die Schnittstellen von CLUP.life verbindest du diese Werkzeuge mit deinen Daten — mit denselben Rechten, die du in der App hast, und mit Datenschutz als Grundlage.

Die Bausteine#

BausteinWofürStufe
REST-API v1Termine, Beiträge, Mitteilungen, Aufgaben und Mitglieder lesen; Termine, Mitteilungen und Aufgaben anlegenLesen: Basis · Schreiben: Premium
Exporte (iCal, CSV, JSON)Termine im Kalender, Listen in Excel oder Google SheetsBasis
WebhooksEreignisse („neuer Termin“) an Zapier, Make, n8n oder eigenen Server meldenPremium
MCP-ServerKI-Assistenten (z. B. Claude) fragen „Was steht diese Woche an?“Lesen: Basis · Schreiben: Premium

In 5 Minuten zum ersten Aufruf#

  1. Konto anlegen oder anmelden — kostenlos registrieren. Schlüssel können nur Erwachsenenkonten anlegen.
  2. Schlüssel erzeugen: In der App unter Einstellungen → Schnittstellen einen Namen vergeben, nur die nötigen Bereiche wählen (für den Anfang profile:read und events:read), Gültigkeit wählen, Schlüssel anlegen.
  3. Schlüssel sofort kopieren. Er wird nur dieses eine Mal angezeigt; wir speichern nur eine Prüfsumme. Lege ihn in einer Umgebungsvariable ab, nie im Quelltext.
  4. Ersten Aufruf senden (siehe unten). Antwortet die Schnittstelle mit 200 und deinem Namen, funktioniert alles.
  5. Weiter: Termine abrufen, Beispiele kopieren, in der Konsole ausprobieren oder einen Webhook einrichten.

GET/ext/me

Wer bin ich? Konto, Bereiche des Schlüssels, Mitgliedschaften

Bereiche: profile:read

curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/me"

Die Antwort enthält dein Konto, die Bereiche des Schlüssels und deine Mitgliedschaften mit dem slug jeder Organisation. Diesen slug brauchst du für alle weiteren Aufrufe.

{
  "id": "u_8f3k2…",
  "displayName": "Mira Muster",
  "organizationKey": false,
  "scopes": ["profile:read", "events:read"],
  "memberships": [
    { "organization": { "slug": "tus-musterstadt", "name": "TuS Musterstadt", "type": "CLUB" }, "role": "MEMBER" }
  ]
}

Basisadresse und Format#

  • Basisadresse: https://api.clup.life/api/v1 (lokal: http://localhost:4000/api/v1). Alle Pfade der Referenz beginnen mit /ext.
  • Alle Aufrufe nur über HTTPS und mit dem Kopf Authorization: Bearer clup_k_….
  • Antworten sind JSON (UTF-8); Exporte liefern text/calendar bzw. text/csv. Zeitangaben sind ISO 8601.
  • Listen sind Cursor-Seiten: items und nextCursor; hänge ?cursor=<nextCursor> an, bis er null ist. Es gibt kein OFFSET.
  • Fehler haben immer einen stabilen code und eine verständliche message (siehe Limits und Fehlercodes).

Status der Schnittstelle#

Schnittstelle wird geprüft …

Wie geht es weiter?#

Entwicklerdokumentation: API, Webhooks und MCP · CLUP.life