API-Dokumentation: Event-Management

Diese Seite erklärt einfach, wie externe Nutzer ihre eigenen Events verwalten (Erstellen/Anpassen/Löschen).

1) Zugang

Token anfordern (in Benutzer-Web-Session):

POST /api/token
Body: { "name": "Meine App" }
Antwort: { "token": "abc123..." }

Beispiel mit curl:

curl -X POST https://bikegraz.at/api/token \
  -H "Content-Type: application/json" \
  -d '{"name":"Meine App"}' \
  -c "cookie.txt"      # Session-Cookie aus vorherigem Login nutzen

Token in weiteren API-Requests nutzen:

Authorization: Bearer <token>

2) Wichtige Endpunkte

  • GET /api/events - alle Events auflisten (öffentlich)
  • GET /api/events/{event} - Event lesen (eigene oder fremde)
  • GET /api/events/ical - Events als iCal-Datei exportieren
  • POST /api/events - eigenes Event anlegen
  • PUT /api/events/{event} - eigenes Event ändern
  • DELETE /api/events/{event} - eigenes Event löschen

3) Minimaler POST-Body

{
  "title": "Meine Ausfahrt",
  "start_at": "2026-04-10 10:00:00",
  "location": "Graz"
}

Pflichtfelder: title, start_at
Optional: description, location, end_at, latitude, longitude, etc.

4) Rechte

  • Nur mit gültigem API-Token
  • Nur der Ersteller kann sein Event bearbeiten/löschen

5) Typische Antwortcodes

  • 201 bei Erstellen
  • 200 bei Update
  • 204 bei Löschen
  • 200 bei Export iCal
  • 401 bei fehlender Anmeldung
  • 403 bei Zugriff auf schreibgeschützte Aktion
  • 422 bei Eingabefehlern

6) iCal-Export Beispiel

Download als Datei:

curl -X GET "https://bikegraz.at/api/events/ical" \
  -H "Authorization: Bearer <token>" \
  -o "bikegraz-events.ics"

Die Datei enthält alle Events im ical-Standard (BEGIN:VCALENDAR / BEGIN:VEVENT).

Code-Referenz: App\Http\Controllers\Api\EventController, StoreEventRequest, UpdateEventRequest.