Geliştiriciler 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.
Teknik belgeler Almanca ve İngilizce sunulur; dilinizde İngilizce sürümü gösteriyoruz.
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.
Temel adres: https://api.clup.life/api/v1 · OpenAPI 3.1.0 · Sürüm 1.0.0
GET /ext/me
GET/ext/me
Who am I? Account, scopes of the key, memberships
Alanlar: profile:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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)
Alanlar: directory:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
cursor | Sorgu | kapalı | Continuation from nextCursor of the previous response (no page numbers, no OFFSET) |
limit | Sorgu | kapalı | 1–100, default 30 |
q | Sorgu | kapalı | Search term (display name; in the directory: name, short name or place) |
categories | Sorgu | kapalı | Topics, separated with | |
types | Sorgu | kapalı | CLUB, ASSOCIATION, GROUP, MUNICIPALITY (comma-separated) |
state | Sorgu | kapalı | Federal state as a code, e.g. DE-RP (comma-separated) |
place | Sorgu | kapalı | Town or postal code |
radiusKm | Sorgu | kapalı | Radius 1–300 (with place) |
ageFrom | Sorgu | kapalı | Offer for ages from |
ageTo | Sorgu | kapalı | Offer for ages up to |
membersMin | Sorgu | kapalı | Minimum number of members |
membersMax | Sorgu | kapalı | Maximum number of members |
foundedFrom | Sorgu | kapalı | Founded from (year) |
foundedTo | Sorgu | kapalı | Founded up to (year) |
accepting | Sorgu | kapalı | 1 = accepts new members |
sort | Sorgu | kapalı | relevance, distance, name, size or new |
| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: events:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
from | Sorgu | açık | Start of the period (ISO 8601, e.g. 2026-11-01T00:00:00Z) |
to | Sorgu | açık | End of the period (at most 400 days after from) |
organization | Sorgu | kapalı | Only events of this organization (slug) |
| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: events:writePremium (kuruluş anahtarı)
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
org | Yol | açık | Identifier (slug) of the organization |
{
"title": "Sommerfest",
"startsAt": "2026-07-04T14:00:00Z",
"endsAt": "2026-07-04T20:00:00Z",
"visibility": "MEMBERS"
}| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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)
Alanlar: members:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
org | Yol | açık | Identifier (slug) of the organization |
cursor | Sorgu | kapalı | Continuation from nextCursor of the previous response (no page numbers, no OFFSET) |
limit | Sorgu | kapalı | 1–100, default 30 |
q | Sorgu | kapalı | Search term (display name; in the directory: name, short name or place) |
| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: posts:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
org | Yol | açık | Identifier (slug) of the organization |
cursor | Sorgu | kapalı | Continuation from nextCursor of the previous response (no page numbers, no OFFSET) |
limit | Sorgu | kapalı | 1–100, default 30 |
| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: announcements:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
org | Yol | açık | Identifier (slug) of the organization |
cursor | Sorgu | kapalı | Continuation from nextCursor of the previous response (no page numbers, no OFFSET) |
limit | Sorgu | kapalı | 1–100, default 30 |
| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: announcements:writePremium (kuruluş anahtarı)
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
org | Yol | açık | Identifier (slug) of the organization |
{
"title": "Hallenzeiten ändern sich",
"body": "Ab Montag trainieren wir in der kleinen Halle."
}| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: tasks:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
org | Yol | açık | Identifier (slug) of the organization |
scope | Sorgu | kapalı | open (default) or done |
cursor | Sorgu | kapalı | Continuation from nextCursor of the previous response (no page numbers, no OFFSET) |
limit | Sorgu | kapalı | 1–100, default 30 |
| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: tasks:writePremium (kuruluş anahtarı)
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
org | Yol | açık | Identifier (slug) of the organization |
{
"title": "Zelte prüfen",
"dueDate": "2026-06-20"
}| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: presse:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
art | Sorgu | kapalı | PRESS_RELEASE or NEWS |
lang | Sorgu | kapalı | Language code, e.g. de, en (falls back to German) |
cursor | Sorgu | kapalı | Continuation from nextCursor of the previous response (no page numbers, no OFFSET) |
limit | Sorgu | kapalı | 1–100, default 30 |
| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: presse:writePremium (kuruluş anahtarı)
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
{
"kind": "NEWS",
"slug": "neue-funktion",
"texts": [
{
"locale": "de",
"title": "Neue Funktion",
"summary": "Kurzer Anreißer der Meldung.",
"body": "Text in einfachem Markdown."
}
]
}| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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)
Alanlar: presse:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
ref | Yol | açık | Slug or identifier of the post |
lang | Sorgu | kapalı | Language code, e.g. de, en (falls back to German) |
| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: presse:writePremium (kuruluş anahtarı)
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
id | Yol | açık | Identifier of the post |
{
"kind": "NEWS",
"slug": "neue-funktion",
"texts": [
{
"locale": "de",
"title": "Neue Funktion",
"summary": "Kurzer Anreißer der Meldung.",
"body": "Geänderter Text."
}
]
}| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: presse:writePremium (kuruluş anahtarı)
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
id | Yol | açık | Identifier of the post |
| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: presse:writePremium (kuruluş anahtarı)
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
id | Yol | açık | Identifier of the post |
{
"publishAt": "2026-11-01T08:00:00Z"
}| Durum | Anlamı |
|---|---|
| 200 | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: exports:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
from | Sorgu | açık | Start of the period (ISO 8601, e.g. 2026-11-01T00:00:00Z) |
to | Sorgu | açık | End of the period (at most 400 days after from) |
organization | Sorgu | kapalı | Only events of this organization (slug) |
| Durum | Anlamı |
|---|---|
| 200 (text/calendar) | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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
Alanlar: exports:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
from | Sorgu | açık | Start of the period (ISO 8601, e.g. 2026-11-01T00:00:00Z) |
to | Sorgu | açık | End of the period (at most 400 days after from) |
organization | Sorgu | kapalı | Only events of this organization (slug) |
| Durum | Anlamı |
|---|---|
| 200 (text/csv) | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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)
Alanlar: exports:read, members:read
Anahtarın arkasındaki kişinin hakları değişmeden geçerlidir; yabancı veya görünmeyen kuruluşlar 404 yanıtı verir.
| Ad | Yer | Yükümlülük | Açıklama |
|---|---|---|---|
org | Yol | açık | Identifier (slug) of the organization |
| Durum | Anlamı |
|---|---|
| 200 (text/csv) | Success |
| 401 | Key invalid, expired or revoked (INVALID_API_KEY) |
| 403 | Scope missing (INSUFFICIENT_SCOPE), right missing (FORBIDDEN) or Premium required (PREMIUM_REQUIRED) |
| 404 | Not found — also for organizations the key may not see |
| 429 | Too 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"