Inhaltsverzeichnis

v1.0.0 OpenAPI 3.1.0

MeetAgain API

Programmatischer Zugriff auf öffentliche Events, mitgliederbezogene Aktionen (Zusagen, Kommentare, Bild-Upload) und Admin-Abfragen. Für nicht-öffentliche Endpunkte ist ein Personal Access Token (PAT) erforderlich.

Server: / Spec herunterladen: JSON YAML

Authentifizierung

Personal Access Token

Authentifiziere dich gegen die API mit einem Personal Access Token - einem langlebigen Bearer-Token, das an dein Konto gebunden ist.

Fuer eigene CLIs, Skripte oder Ops-Jobs. Erzeuge ein langlebiges Bearer-Token auf deiner Token-Seite und widerrufe es dort jederzeit.

Header: Authorization: Bearer mapat_...

Handelt als: du selbst (der Token-Aussteller)

admin

Plattform-Admin-Aktionen über die API. Nur für Benutzer mit ROLE_ADMIN.

GET /api/v1/admin/logs/cron Aktuelle Einträge aus dem Cron-Protokoll auflisten

Aktuelle Einträge aus dem Cron-Protokoll auflisten

Parameter

Name In Typ Beschreibung
limit query integer
Standard: 100

Antworten

Code Beschreibung
200 Seitenweise Liste des Cron-Protokolls CronLogList
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle

Beispiel-Anfrage

curl '/api/v1/admin/logs/cron?limit=1' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
GET /api/v1/admin/seo/status SEO-Zustand mit Veränderungen seit dem letzten Abruf

SEO-Zustand mit Veränderungen seit dem letzten Abruf

Parameter

Name In Typ Beschreibung
property query integer Property-ID; ohne Angabe wird die erste aktivierte verwendet

Antworten

Code Beschreibung
200 Kompakter aktueller Stand SeoStatus
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle oder unzureichender Geltungsbereich
404 Keine überwachte Property

Beispiel-Anfrage

curl '/api/v1/admin/seo/status?property=1' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
GET /api/v1/admin/seo/issues Erkannte SEO-Probleme auflisten

Erkannte SEO-Probleme auflisten

Parameter

Name In Typ Beschreibung
property query integer
filter query string
Standard: open

Antworten

Code Beschreibung
200 Liste der Probleme SeoIssueList
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle oder unzureichender Geltungsbereich
404 Keine überwachte Property

Beispiel-Anfrage

curl '/api/v1/admin/seo/issues?property=1&filter=value' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
GET /api/v1/admin/seo/actions Zuletzt protokollierte SEO-Maßnahmen auflisten

Zuletzt protokollierte SEO-Maßnahmen auflisten

Parameter

Name In Typ Beschreibung
limit query integer
Standard: 100

Antworten

Code Beschreibung
200 Liste der Maßnahmen SeoActionList
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle oder unzureichender Geltungsbereich

Beispiel-Anfrage

curl '/api/v1/admin/seo/actions?limit=1' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
POST /api/v1/admin/seo/actions SEO-Maßnahme für die spätere Zuordnung protokollieren

SEO-Maßnahme für die spätere Zuordnung protokollieren

Request Body

erforderlich

Content-Type: application/json

Name Typ Beschreibung
kind string
title string
detail string | null
git_sha string | null
issue_id integer | null
occurred_at string | null (date-time)

Antworten

Code Beschreibung
201 Die gespeicherte Maßnahme SeoAction
400 Fehlerhafter Anfragekörper
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle oder unzureichender Geltungsbereich
422 Unbekannte Maßnahmenart oder nicht lesbarer Zeitstempel

Beispiel-Anfrage

curl -X POST '/api/v1/admin/seo/actions' \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"kind":"value","title":"value","detail":"value","git_sha":"value","issue_id":"value","occurred_at":"value"}'
GET /api/v1/admin/logs/sendlog Einträge des E-Mail-Versandprotokolls auflisten

Einträge des E-Mail-Versandprotokolls auflisten

Parameter

Name In Typ Beschreibung
limit query integer
Standard: 100

Antworten

Code Beschreibung
200 Seitenweise Liste des Versandprotokolls SendlogList
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle

Beispiel-Anfrage

curl '/api/v1/admin/logs/sendlog?limit=1' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
GET /api/v1/admin/logs/cron/{id} Einen einzelnen Cron-Protokolleintrag abrufen

Einen einzelnen Cron-Protokolleintrag abrufen

Parameter

Name In Typ Beschreibung
id * path integer

Antworten

Code Beschreibung
200 Details zum Cron-Protokolleintrag CronLogDetail
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle
404 Cron-Protokolleintrag nicht gefunden

Beispiel-Anfrage

curl '/api/v1/admin/logs/cron/1' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
PUT /api/v1/admin/images/{id}/alt Alt-Text für ein Bild speichern, nach Sprache abgelegt

Alt-Text für ein Bild speichern, nach Sprache abgelegt

Parameter

Name In Typ Beschreibung
id * path integer

Request Body

erforderlich

Content-Type: application/json

Name Typ Beschreibung
alt object Sprache => Alt-Text; leerer String löscht den Eintrag

Antworten

Code Beschreibung
200 Aktualisierter Eintrag mit neu berechneten erforderlichen und fehlenden Sprachen MissingAltImageItem
400 Fehlerhafter Anfragekörper
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle oder unzureichender Geltungsbereich
404 Bild nicht gefunden
422 Eine Sprache außerhalb der für das Bild erforderlichen Menge

Beispiel-Anfrage

curl -X PUT '/api/v1/admin/images/1/alt' \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"alt":"value"}'
GET /api/v1/admin/logs/sendlog/{id} Einen einzelnen Eintrag des Versandprotokolls abrufen

Einen einzelnen Eintrag des Versandprotokolls abrufen

Parameter

Name In Typ Beschreibung
id * path integer

Antworten

Code Beschreibung
200 Details zum Versandprotokolleintrag SendlogDetail
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle
404 Eintrag im Versandprotokoll nicht gefunden

Beispiel-Anfrage

curl '/api/v1/admin/logs/sendlog/1' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
GET /api/v1/admin/images/missing-alt Bilder ohne Alt-Text je Sprache auflisten (Keyset)

Bilder ohne Alt-Text je Sprache auflisten (Keyset)

Parameter

Name In Typ Beschreibung
after_id query integer Keyset-Cursor: nur Bilder mit größerer ID prüfen
limit query integer Pro Seite geprüfte Kandidaten (Treffer können weniger sein)
Standard: 50

Antworten

Code Beschreibung
200 Seite mit Bildern, denen in mindestens einer erforderlichen Sprache der Alt-Text fehlt MissingAltImageList
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle oder unzureichender Geltungsbereich

Beispiel-Anfrage

curl '/api/v1/admin/images/missing-alt?after_id=1&limit=1' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
GET /api/v1/admin/security/incidents Aktuelle Sicherheitsvorfälle auflisten

Aktuelle Sicherheitsvorfälle auflisten

Parameter

Name In Typ Beschreibung
limit query integer
Standard: 100
since query string (date-time) ISO-8601-Zeitstempel als Untergrenze für endedAt

Antworten

Code Beschreibung
200 Liste der Vorfälle IncidentList
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle

Beispiel-Anfrage

curl '/api/v1/admin/security/incidents?limit=1&since=value' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
GET /api/v1/admin/images/{id}/content Verkleinerte Vorschau des Originalbilds ausliefern

Verkleinerte Vorschau des Originalbilds ausliefern

Parameter

Name In Typ Beschreibung
id * path integer

Antworten

Code Beschreibung
200 Vorschau-Bytes (meist image/webp; bei fehlgeschlagener Umwandlung der ursprüngliche Medientyp)
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle oder unzureichender Geltungsbereich
404 Bild oder zugehörige Originaldatei nicht gefunden

Beispiel-Anfrage

curl '/api/v1/admin/images/1/content' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
GET /api/v1/admin/security/incidents/{id} Sicherheitsvorfall mit Anbieterberichten abrufen

Sicherheitsvorfall mit Anbieterberichten abrufen

Parameter

Name In Typ Beschreibung
id * path integer

Antworten

Code Beschreibung
200 Details zum Vorfall IncidentDetail
401 Bearer-Token fehlt oder ist ungültig
403 Unzureichende Rolle
404 Vorfall nicht gefunden

Beispiel-Anfrage

curl '/api/v1/admin/security/incidents/1' \
  -H "Authorization: Bearer $ACCESS_TOKEN"

event-actions

Aktionen angemeldeter Benutzer an Events: Zusagen, Kommentare, Bild-Upload

POST /api/v1/events/{id}/rsvp Für ein Event zusagen

Für ein Event zusagen

Antworten

Code Beschreibung
200 Zusage hinzugefügt (oder bereits vorhanden) RsvpResult
401 Bearer-Token fehlt oder ist ungültig
403 Nicht erlaubt (Gruppenmitgliedschaft / gesperrt)
404 Event nicht gefunden ErrorResponse
409 Event abgesagt oder bereits begonnen ErrorResponse

Beispiel-Anfrage

curl -X POST '/api/v1/events/{id}/rsvp' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
DELETE /api/v1/events/{id}/rsvp Zusage für ein Event zurückziehen

Zusage für ein Event zurückziehen

Antworten

Code Beschreibung
200 Zusage entfernt (oder nicht vorhanden) RsvpResult
401 Bearer-Token fehlt oder ist ungültig
403 Nicht erlaubt
404 Event nicht gefunden ErrorResponse
409 Event abgesagt oder bereits begonnen ErrorResponse

Beispiel-Anfrage

curl -X DELETE '/api/v1/events/{id}/rsvp' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
POST /api/v1/events/{id}/images Bild zu einem Event hochladen

Bild zu einem Event hochladen

Request Body

erforderlich

Content-Type: multipart/form-data

Name Typ Beschreibung
file string (binary)

Antworten

Code Beschreibung
201 Bild hochgeladen ImageUploaded
400 Keine Datei oder nicht unterstütztes Format ErrorResponse
401 Bearer-Token fehlt oder ist ungültig
403 Nicht erlaubt
404 Event nicht gefunden

Beispiel-Anfrage

curl -X POST '/api/v1/events/{id}/images' \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -F "file=@/path/to/file"
POST /api/v1/events/{id}/comments Kommentar zu einem Event schreiben

Kommentar zu einem Event schreiben

Request Body

erforderlich

Content-Type: application/json

Name Typ Beschreibung
content string

Antworten

Code Beschreibung
201 Kommentar erstellt CommentCreated
400 Leerer oder zu langer Inhalt ErrorResponse
401 Bearer-Token fehlt oder ist ungültig
403 Nicht erlaubt
404 Event nicht gefunden

Beispiel-Anfrage

curl -X POST '/api/v1/events/{id}/comments' \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"value"}'
DELETE /api/v1/events/{id}/images/{imageId} Event-Bild löschen (eigener Upload oder als Admin)

Event-Bild löschen (eigener Upload oder als Admin)

Antworten

Code Beschreibung
204 Bild gelöscht
401 Bearer-Token fehlt oder ist ungültig
403 Nicht dein Bild und keine Admin-Rechte
404 Bild oder Event nicht gefunden

Beispiel-Anfrage

curl -X DELETE '/api/v1/events/{id}/images/{imageId}' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
DELETE /api/v1/events/{id}/comments/{commentId} Event-Kommentar löschen (eigener oder als Admin)

Event-Kommentar löschen (eigener oder als Admin)

Antworten

Code Beschreibung
204 Kommentar gelöscht
401 Bearer-Token fehlt oder ist ungültig
403 Nicht dein Kommentar und keine Admin-Rechte
404 Kommentar oder Event nicht gefunden

Beispiel-Anfrage

curl -X DELETE '/api/v1/events/{id}/comments/{commentId}' \
  -H "Authorization: Bearer $ACCESS_TOKEN"

events

Öffentliche Event-Listen und -Details

GET /api/v1/events Öffentliche kommende Events auflisten

Öffentliche kommende Events auflisten

Parameter

Name In Typ Beschreibung
locale query string
from query string (date-time) ISO-8601-Untergrenze (Standard: jetzt)
to query string (date-time) ISO-8601-Obergrenze
limit query integer
Standard: 20
offset query integer
Standard: 0

Antworten

Code Beschreibung
200 Seitenweise Event-Liste EventList

Beispiel-Anfrage

curl '/api/v1/events?locale=en&from=value&to=value&limit=1&offset=1'
GET /api/v1/events/{id} Ein einzelnes Event über die ID abrufen

Ein einzelnes Event über die ID abrufen

Parameter

Name In Typ Beschreibung
id * path integer
locale query string

Antworten

Code Beschreibung
200 Event-Details EventDetail
404 Event nicht gefunden oder im aktuellen Kontext nicht sichtbar ErrorResponse

Beispiel-Anfrage

curl '/api/v1/events/1?locale=value'

group-admin

Gruppenbezogene Admin-Aktionen. Erfordert die Rolle Eigentümer oder Organisator in der genannten Gruppe oder ROLE_ADMIN auf der Plattform.

GET /api/v1/groups/{groupSlug}/admin/members Mitglieder einer Gruppe auflisten

Mitglieder einer Gruppe auflisten

Parameter

Name In Typ Beschreibung
groupSlug * path string

Antworten

Code Beschreibung
200 Mitgliederliste GroupMemberList
401 Bearer-Token fehlt oder ist ungültig
403 Aufrufer ist weder Eigentümer noch Organisator dieser Gruppe
404 Gruppe nicht gefunden ErrorResponse

Beispiel-Anfrage

curl '/api/v1/groups/groupSlug/admin/members' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
GET /api/v1/groups/{groupSlug}/admin/settings Einstellungen einer Gruppe lesen

Einstellungen einer Gruppe lesen

Parameter

Name In Typ Beschreibung
groupSlug * path string

Antworten

Code Beschreibung
200 Gruppeneinstellungen GroupSettings
401 Bearer-Token fehlt oder ist ungültig
403 Aufrufer ist weder Eigentümer noch Organisator dieser Gruppe
404 Gruppe nicht gefunden ErrorResponse

Beispiel-Anfrage

curl '/api/v1/groups/weiqi-club/admin/settings' \
  -H "Authorization: Bearer $ACCESS_TOKEN"

groups

Mandantengruppen (Multisite)

GET /api/v1/groups Aktive Gruppen auflisten

Aktive Gruppen auflisten

Antworten

Code Beschreibung
200 Liste von Gruppenübersichten GroupList

Beispiel-Anfrage

curl '/api/v1/groups'
GET /api/v1/groups/{groupSlug} Eine Gruppe über den Slug abrufen

Eine Gruppe über den Slug abrufen

Parameter

Name In Typ Beschreibung
groupSlug * path string

Antworten

Code Beschreibung
200 Gruppendetails GroupDetail
404 Gruppe nicht gefunden ErrorResponse

Beispiel-Anfrage

curl '/api/v1/groups/groupSlug'
GET /api/v1/groups/{groupSlug}/cms CMS-Seiten einer Gruppe auflisten

CMS-Seiten einer Gruppe auflisten

Parameter

Name In Typ Beschreibung
groupSlug * path string
language query string Zweibuchstabiger Sprachcode. Ohne Angabe wird die erste verfügbare Sprache des Eintrags verwendet. Fehlt der Seite die angegebene Sprache, wird auf "en" (oder die erste verfügbare) zurückgegriffen.

Antworten

Code Beschreibung
200 Liste der CMS-Seiten CmsPageList
404 Gruppe nicht gefunden ErrorResponse

Beispiel-Anfrage

curl '/api/v1/groups/weiqi-club/cms?language=en'
GET /api/v1/groups/{groupSlug}/cms/{cmsSlug} Metadaten einer CMS-Seite über Gruppe und Slug abrufen

Metadaten einer CMS-Seite über Gruppe und Slug abrufen

Parameter

Name In Typ Beschreibung
groupSlug * path string
cmsSlug * path string
language query string

Antworten

Code Beschreibung
200 Metadaten der CMS-Seite CmsPage
404 Gruppe nicht gefunden oder Seite nicht gefunden / in dieser Gruppe nicht sichtbar ErrorResponse

Beispiel-Anfrage

curl '/api/v1/groups/platform/cms/about?language=value'

me

Angemeldeter Benutzer (Lesezugriffe im Token-Geltungsbereich)

GET /api/v1/me Profil des angemeldeten Benutzers abrufen

Profil des angemeldeten Benutzers abrufen

Antworten

Code Beschreibung
200 Benutzerprofil MeProfile
401 Bearer-Token fehlt oder ist ungültig

Beispiel-Anfrage

curl '/api/v1/me' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
GET /api/v1/me/rsvps Kommende Zusagen des angemeldeten Benutzers auflisten

Kommende Zusagen des angemeldeten Benutzers auflisten

Antworten

Code Beschreibung
200 Liste der kommenden Events, für die der Benutzer zugesagt hat MeRsvpList
401 Bearer-Token fehlt oder ist ungültig

Beispiel-Anfrage

curl '/api/v1/me/rsvps' \
  -H "Authorization: Bearer $ACCESS_TOKEN"

status

Status

GET /api/status Endpunkt für die Statusprüfung

Endpunkt für die Statusprüfung

Antworten

Code Beschreibung
200 Dienst ist funktionsfähig HealthStatus

Beispiel-Anfrage

curl '/api/status'