Vai al contenuto
CLUP.life

Sviluppatori API reference

API reference

All routes of the CLUP.life REST API v1 with parameters, responses and examples — generated from the OpenAPI description. Download as JSON and YAML.

La documentazione tecnica è disponibile in tedesco e inglese; nella tua lingua mostriamo la versione inglese.

This reference is generated from the real OpenAPI description; it cannot drift from the API. A development test fails as soon as a route is missing or the description no longer matches the documentation.

Indirizzo base: https://api.clup.life/api/v1 · OpenAPI 3.1.0 · Versione 1.0.0

GET /ext/me

GET/ext/me

Who am I? Account, scopes of the key, memberships

Aree: profile:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/me"

GET /ext/directory/organizations

GET/ext/directory/organizations

Search the club directory (public organizations only)

Aree: directory:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
cursorQuerydisattivoContinuation from nextCursor of the previous response (no page numbers, no OFFSET)
limitQuerydisattivo1–100, default 30
qQuerydisattivoSearch term (display name; in the directory: name, short name or place)
categoriesQuerydisattivoTopics, separated with |
typesQuerydisattivoCLUB, ASSOCIATION, GROUP, MUNICIPALITY (comma-separated)
stateQuerydisattivoFederal state as a code, e.g. DE-RP (comma-separated)
placeQuerydisattivoTown or postal code
radiusKmQuerydisattivoRadius 1–300 (with place)
ageFromQuerydisattivoOffer for ages from
ageToQuerydisattivoOffer for ages up to
membersMinQuerydisattivoMinimum number of members
membersMaxQuerydisattivoMaximum number of members
foundedFromQuerydisattivoFounded from (year)
foundedToQuerydisattivoFounded up to (year)
acceptingQuerydisattivo1 = accepts new members
sortQuerydisattivorelevance, distance, name, size or new
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/directory/organizations"

GET /ext/events

GET/ext/events

Events in a period

Aree: events:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
fromQueryattivoStart of the period (ISO 8601, e.g. 2026-11-01T00:00:00Z)
toQueryattivoEnd of the period (at most 400 days after from)
organizationQuerydisattivoOnly events of this organization (slug)
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Create an event

Aree: events:writePremium (chiave dell’organizzazione)

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
orgPercorsoattivoIdentifier (slug) of the organization
{
  "title": "Sommerfest",
  "startsAt": "2026-07-04T14:00:00Z",
  "endsAt": "2026-07-04T20:00:00Z",
  "visibility": "MEMBERS"
}
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Member list (only if the person’s role shows it)

Aree: members:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
orgPercorsoattivoIdentifier (slug) of the organization
cursorQuerydisattivoContinuation from nextCursor of the previous response (no page numbers, no OFFSET)
limitQuerydisattivo1–100, default 30
qQuerydisattivoSearch term (display name; in the directory: name, short name or place)
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Posts

Aree: posts:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
orgPercorsoattivoIdentifier (slug) of the organization
cursorQuerydisattivoContinuation from nextCursor of the previous response (no page numbers, no OFFSET)
limitQuerydisattivo1–100, default 30
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Announcements

Aree: announcements:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
orgPercorsoattivoIdentifier (slug) of the organization
cursorQuerydisattivoContinuation from nextCursor of the previous response (no page numbers, no OFFSET)
limitQuerydisattivo1–100, default 30
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Publish an announcement

Aree: announcements:writePremium (chiave dell’organizzazione)

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
orgPercorsoattivoIdentifier (slug) of the organization
{
  "title": "Hallenzeiten ändern sich",
  "body": "Ab Montag trainieren wir in der kleinen Halle."
}
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Tasks

Aree: tasks:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
orgPercorsoattivoIdentifier (slug) of the organization
scopeQuerydisattivoopen (default) or done
cursorQuerydisattivoContinuation from nextCursor of the previous response (no page numbers, no OFFSET)
limitQuerydisattivo1–100, default 30
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Create a task

Aree: tasks:writePremium (chiave dell’organizzazione)

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
orgPercorsoattivoIdentifier (slug) of the organization
{
  "title": "Zelte prüfen",
  "dueDate": "2026-06-20"
}
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Published press releases and news

Aree: presse:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
artQuerydisattivoPRESS_RELEASE or NEWS
langQuerydisattivoLanguage code, e.g. de, en (falls back to German)
cursorQuerydisattivoContinuation from nextCursor of the previous response (no page numbers, no OFFSET)
limitQuerydisattivo1–100, default 30
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/presse/posts"

POST /ext/presse/posts

POST/ext/presse/posts

Create a press release or news item as a draft

Aree: presse:writePremium (chiave dell’organizzazione)

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

{
  "kind": "NEWS",
  "slug": "neue-funktion",
  "texts": [
    {
      "locale": "de",
      "title": "Neue Funktion",
      "summary": "Kurzer Anreißer der Meldung.",
      "body": "Text in einfachem Markdown."
    }
  ]
}
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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}

One post by slug (with presse:write also by id, including drafts)

Aree: presse:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
refPercorsoattivoSlug or identifier of the post
langQuerydisattivoLanguage code, e.g. de, en (falls back to German)
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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}

Change a post

Aree: presse:writePremium (chiave dell’organizzazione)

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
idPercorsoattivoIdentifier of the post
{
  "kind": "NEWS",
  "slug": "neue-funktion",
  "texts": [
    {
      "locale": "de",
      "title": "Neue Funktion",
      "summary": "Kurzer Anreißer der Meldung.",
      "body": "Geänderter Text."
    }
  ]
}
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Publish a post now

Aree: presse:writePremium (chiave dell’organizzazione)

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
idPercorsoattivoIdentifier of the post
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Schedule publication

Aree: presse:writePremium (chiave dell’organizzazione)

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
idPercorsoattivoIdentifier of the post
{
  "publishAt": "2026-11-01T08:00:00Z"
}
StatoSignificato
200Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Events as iCal

Aree: exports:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
fromQueryattivoStart of the period (ISO 8601, e.g. 2026-11-01T00:00:00Z)
toQueryattivoEnd of the period (at most 400 days after from)
organizationQuerydisattivoOnly events of this organization (slug)
StatoSignificato
200 (text/calendar)Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Events as CSV

Aree: exports:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
fromQueryattivoStart of the period (ISO 8601, e.g. 2026-11-01T00:00:00Z)
toQueryattivoEnd of the period (at most 400 days after from)
organizationQuerydisattivoOnly events of this organization (slug)
StatoSignificato
200 (text/csv)Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
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

Member list as CSV (leadership only, logged)

Aree: exports:read, members:read

I diritti della persona dietro la chiave valgono invariati; le organizzazioni estranee o non visibili rispondono 404.

NomeLuogoObbligoDescrizione
orgPercorsoattivoIdentifier (slug) of the organization
StatoSignificato
200 (text/csv)Success
401Key invalid, expired or revoked (INVALID_API_KEY)
403Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED)
404Not found — also for organizations the key may not see
429Too many requests (RATE_LIMITED); respect Retry-After
curl -H "Authorization: Bearer clup_k_…" \
  "https://api.clup.life/api/v1/ext/exports/organizations/mein-verein/members.csv"
API reference · CLUP.life