Zum Inhalt springen
CLUP.life

Entwickler API-Referenz

API-Referenz

Alle Routen der CLUP.life-REST-API v1 mit Parametern, Antworten und Beispielen — erzeugt aus der OpenAPI-Beschreibung. Download als JSON und YAML.

Diese Referenz wird beim Aufruf der Seite aus der echten OpenAPI-Beschreibung erzeugt; sie kann nicht von der Schnittstelle abweichen. Ein Test in der Entwicklung scheitert, sobald eine Route fehlt oder die Beschreibung nicht mehr zur Dokumentation passt.

Basisadresse: https://api.clup.life/api/v1 · OpenAPI 3.1.0 · Version 1.0.0

GET /ext/me

GET/ext/me

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

Bereiche: profile:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/me"

GET /ext/directory/organizations

GET/ext/directory/organizations

Vereinsverzeichnis durchsuchen (nur öffentliche Organisationen)

Bereiche: directory:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
cursorAbfrageneinFortsetzung aus nextCursor der vorigen Antwort (keine Seitenzahlen, kein OFFSET)
limitAbfragenein1–100, Standard 30
qAbfrageneinName, Kurzname oder Ort
categoriesAbfrageneinThemen, getrennt mit |
typesAbfrageneinCLUB, ASSOCIATION, GROUP, MUNICIPALITY (kommagetrennt)
stateAbfrageneinBundesland als Code, z. B. DE-RP (kommagetrennt)
placeAbfrageneinOrt oder Postleitzahl
radiusKmAbfrageneinUmkreis 1–300 (mit place)
ageFromAbfrageneinAngebot für Alter von
ageToAbfrageneinAngebot für Alter bis
membersMinAbfrageneinMindestzahl Mitglieder
membersMaxAbfrageneinHöchstzahl Mitglieder
foundedFromAbfrageneinGegründet ab (Jahr)
foundedToAbfrageneinGegründet bis (Jahr)
acceptingAbfragenein1 = nimmt neue Mitglieder auf
sortAbfrageneinrelevance, distance, name, size oder new
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/directory/organizations"

GET /ext/events

GET/ext/events

Termine eines Zeitraums

Bereiche: events:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
fromAbfragejaBeginn des Zeitraums (ISO 8601, z. B. 2026-11-01T00:00:00Z)
toAbfragejaEnde des Zeitraums (höchstens 400 Tage nach from)
organizationAbfrageneinNur Termine dieser Organisation (slug)
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/events?from=2026-11-01T00:00:00Z&to=2026-12-01T00:00:00Z"

POST /ext/organizations/{org}/events

POST/ext/organizations/{org}/events

Termin anlegen

Bereiche: events:writePremium (Organisationsschlüssel)

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
orgPfadjaKennung (slug) der Organisation
{
  "title": "Sommerfest",
  "startsAt": "2026-07-04T14:00:00Z",
  "endsAt": "2026-07-04T20:00:00Z",
  "visibility": "MEMBERS"
}
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -X POST -H "Authorization: Bearer clup_k_…" \
  -H "Content-Type: application/json" \
  -d '{"title":"Sommerfest","startsAt":"2026-07-04T14:00:00Z","endsAt":"2026-07-04T20:00:00Z","visibility":"MEMBERS"}' \
  "https://api.clup.life/api/v1/ext/organizations/mein-verein/events"

GET /ext/organizations/{org}/members

GET/ext/organizations/{org}/members

Mitgliederliste (nur wenn die Rolle der Person sie zeigt)

Bereiche: members:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
orgPfadjaKennung (slug) der Organisation
cursorAbfrageneinFortsetzung aus nextCursor der vorigen Antwort (keine Seitenzahlen, kein OFFSET)
limitAbfragenein1–100, Standard 30
qAbfrageneinSuche im Anzeigenamen
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/organizations/mein-verein/members"

GET /ext/organizations/{org}/posts

GET/ext/organizations/{org}/posts

Beiträge

Bereiche: posts:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
orgPfadjaKennung (slug) der Organisation
cursorAbfrageneinFortsetzung aus nextCursor der vorigen Antwort (keine Seitenzahlen, kein OFFSET)
limitAbfragenein1–100, Standard 30
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/organizations/mein-verein/posts"

GET /ext/organizations/{org}/announcements

GET/ext/organizations/{org}/announcements

Mitteilungen

Bereiche: announcements:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
orgPfadjaKennung (slug) der Organisation
cursorAbfrageneinFortsetzung aus nextCursor der vorigen Antwort (keine Seitenzahlen, kein OFFSET)
limitAbfragenein1–100, Standard 30
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/organizations/mein-verein/announcements"

POST /ext/organizations/{org}/announcements

POST/ext/organizations/{org}/announcements

Mitteilung veröffentlichen

Bereiche: announcements:writePremium (Organisationsschlüssel)

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
orgPfadjaKennung (slug) der Organisation
{
  "title": "Hallenzeiten ändern sich",
  "body": "Ab Montag trainieren wir in der kleinen Halle."
}
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -X POST -H "Authorization: Bearer clup_k_…" \
  -H "Content-Type: application/json" \
  -d '{"title":"Hallenzeiten ändern sich","body":"Ab Montag trainieren wir in der kleinen Halle."}' \
  "https://api.clup.life/api/v1/ext/organizations/mein-verein/announcements"

GET /ext/organizations/{org}/tasks

GET/ext/organizations/{org}/tasks

Aufgaben

Bereiche: tasks:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
orgPfadjaKennung (slug) der Organisation
scopeAbfrageneinopen (Standard) oder done
cursorAbfrageneinFortsetzung aus nextCursor der vorigen Antwort (keine Seitenzahlen, kein OFFSET)
limitAbfragenein1–100, Standard 30
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/organizations/mein-verein/tasks"

POST /ext/organizations/{org}/tasks

POST/ext/organizations/{org}/tasks

Aufgabe anlegen

Bereiche: tasks:writePremium (Organisationsschlüssel)

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
orgPfadjaKennung (slug) der Organisation
{
  "title": "Zelte prüfen",
  "dueDate": "2026-06-20"
}
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -X POST -H "Authorization: Bearer clup_k_…" \
  -H "Content-Type: application/json" \
  -d '{"title":"Zelte prüfen","dueDate":"2026-06-20"}' \
  "https://api.clup.life/api/v1/ext/organizations/mein-verein/tasks"

GET /ext/presse/posts

GET/ext/presse/posts

Veröffentlichte Pressemeldungen und News

Bereiche: presse:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
artAbfrageneinPRESS_RELEASE oder NEWS
langAbfrageneinSprachcode, z. B. de, en (Rückfall Deutsch)
cursorAbfrageneinFortsetzung aus nextCursor der vorigen Antwort (keine Seitenzahlen, kein OFFSET)
limitAbfragenein1–100, Standard 30
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/presse/posts"

POST /ext/presse/posts

POST/ext/presse/posts

Pressemeldung oder News als Entwurf anlegen

Bereiche: presse:writePremium (Organisationsschlüssel)

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

{
  "kind": "NEWS",
  "slug": "neue-funktion",
  "texts": [
    {
      "locale": "de",
      "title": "Neue Funktion",
      "summary": "Kurzer Anreißer der Meldung.",
      "body": "Text in einfachem Markdown."
    }
  ]
}
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -X POST -H "Authorization: Bearer clup_k_…" \
  -H "Content-Type: application/json" \
  -d '{"kind":"NEWS","slug":"neue-funktion","texts":[{"locale":"de","title":"Neue Funktion","summary":"Kurzer Anreißer der Meldung.","body":"Text in einfachem Markdown."}]}' \
  "https://api.clup.life/api/v1/ext/presse/posts"

GET /ext/presse/posts/{ref}

GET/ext/presse/posts/{ref}

Ein Beitrag per slug (mit presse:write auch per Kennung, inkl. Entwurf)

Bereiche: presse:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
refPfadjaslug oder Kennung des Beitrags
langAbfrageneinSprachcode, z. B. de, en (Rückfall Deutsch)
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/presse/posts/{ref}"

PUT /ext/presse/posts/{id}

PUT/ext/presse/posts/{id}

Beitrag ändern

Bereiche: presse:writePremium (Organisationsschlüssel)

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
idPfadjaKennung des Beitrags
{
  "kind": "NEWS",
  "slug": "neue-funktion",
  "texts": [
    {
      "locale": "de",
      "title": "Neue Funktion",
      "summary": "Kurzer Anreißer der Meldung.",
      "body": "Geänderter Text."
    }
  ]
}
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  -H "Content-Type: application/json" \
  -d '{"kind":"NEWS","slug":"neue-funktion","texts":[{"locale":"de","title":"Neue Funktion","summary":"Kurzer Anreißer der Meldung.","body":"Geänderter Text."}]}' \
  "https://api.clup.life/api/v1/ext/presse/posts/{id}"

POST /ext/presse/posts/{id}/publish

POST/ext/presse/posts/{id}/publish

Beitrag jetzt veröffentlichen

Bereiche: presse:writePremium (Organisationsschlüssel)

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
idPfadjaKennung des Beitrags
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -X POST -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/presse/posts/{id}/publish"

POST /ext/presse/posts/{id}/schedule

POST/ext/presse/posts/{id}/schedule

Veröffentlichung planen

Bereiche: presse:writePremium (Organisationsschlüssel)

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
idPfadjaKennung des Beitrags
{
  "publishAt": "2026-11-01T08:00:00Z"
}
StatusBedeutung
200Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -X POST -H "Authorization: Bearer clup_k_…" \
  -H "Content-Type: application/json" \
  -d '{"publishAt":"2026-11-01T08:00:00Z"}' \
  "https://api.clup.life/api/v1/ext/presse/posts/{id}/schedule"

GET /ext/exports/events.ics

GET/ext/exports/events.ics

Termine als iCal

Bereiche: exports:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
fromAbfragejaBeginn des Zeitraums (ISO 8601, z. B. 2026-11-01T00:00:00Z)
toAbfragejaEnde des Zeitraums (höchstens 400 Tage nach from)
organizationAbfrageneinNur Termine dieser Organisation (slug)
StatusBedeutung
200 (text/calendar)Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/exports/events.ics?from=2026-11-01T00:00:00Z&to=2026-12-01T00:00:00Z"

GET /ext/exports/events.csv

GET/ext/exports/events.csv

Termine als CSV

Bereiche: exports:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
fromAbfragejaBeginn des Zeitraums (ISO 8601, z. B. 2026-11-01T00:00:00Z)
toAbfragejaEnde des Zeitraums (höchstens 400 Tage nach from)
organizationAbfrageneinNur Termine dieser Organisation (slug)
StatusBedeutung
200 (text/csv)Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/exports/events.csv?from=2026-11-01T00:00:00Z&to=2026-12-01T00:00:00Z"

GET /ext/exports/organizations/{org}/members.csv

GET/ext/exports/organizations/{org}/members.csv

Mitgliederliste als CSV (nur Leitung, protokolliert)

Bereiche: exports:read, members:read

Die Rechte der Person hinter dem Schlüssel gelten unverändert; fremde oder nicht sichtbare Organisationen antworten 404.

NameOrtPflichtBeschreibung
orgPfadjaKennung (slug) der Organisation
StatusBedeutung
200 (text/csv)Erfolg
401Schlüssel ungültig, abgelaufen oder widerrufen (INVALID_API_KEY)
403Bereich fehlt (INSUFFICIENT_SCOPE), Recht fehlt (FORBIDDEN) oder Premium nötig (PREMIUM_REQUIRED)
404Nicht gefunden — auch für Organisationen, die der Schlüssel nicht sehen darf
429Zu viele Anfragen (RATE_LIMITED); Retry-After beachten
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/exports/organizations/mein-verein/members.csv"
API-Referenz · CLUP.life