API-Dokumentation

Events automatisiert erstellen und verwalten

OpenAPI-Spezifikation (openapi.json)

Base URL

https://smylady-backend.onrender.com

1. Authentifizierung

Alle API-Aufrufe benötigen einen Bearer Token im Header:

Authorization: Bearer DEIN_TOKEN

Logge dich ein um deinen API-Token zu sehen.

So erhältst du den Token:

  1. Logge dich auf shareyourparty.de ein
  2. Öffne die Browser-Entwicklertools (F12) → Application → Local Storage
  3. Kopiere den Wert von syp_token

Hinweis: Der Token ist 7 Tage gültig.

2. Event erstellen

POST /eventsContent-Type: multipart/form-data

Pflichtfelder

FeldTypBeschreibungBeispiel
nameStringEvent-Name"Techno Night Vol. 5"
descriptionStringBeschreibung"Die beste Techno Night!"
eventDateISO DateDatum"2026-08-15T00:00:00.000Z"
eventStartTimeISO DateDatum + Uhrzeit"2026-08-15T16:00:00.000Z"
categoryStringKategorie"Music"
partyTypeStringEvent-Typ"social"
musicTypeStringMusik-Typ"techno"
locationNameStringAdresse"Karlsplatz 1, 1010 Wien"

Optionale Felder

FeldTypDefaultBeschreibung
totalTicketsNumber1Anzahl Tickets
priceNumber0Preis in Euro (0 = kostenlos)
visibilityString"public""public", "subscribers", "selected"
offeringsString""Angebot
restrictionsString""Einschränkungen
locationTypeString"physical""physical", "online", "tba"
onlineUrlString""Link zum Online-Event
paymentTypeString"online""online" oder "door"
filesFile(s)Bilder (max 5, JPG/PNG)

Beispiel

curl -X POST "https://smylady-backend.onrender.com/events" \
  -H "Authorization: Bearer DEIN_TOKEN" \
  -F "name=Techno Night Vol. 5" \
  -F "description=Die beste Techno Night in Wien!" \
  -F "eventDate=2026-08-15T00:00:00.000Z" \
  -F "eventStartTime=2026-08-15T16:00:00.000Z" \
  -F "category=Music" \
  -F "partyType=social" \
  -F "musicType=techno" \
  -F "locationName=Karlsplatz 1, 1010 Wien" \
  -F "totalTickets=200" \
  -F "price=15" \
  -F "files=@event-bild.jpg"
eventStartTime ist in UTC. Für ein Event um 18:00 Wiener Zeit, sende 16:00 UTC (Sommer, CEST) bzw. 17:00 UTC (Winter, CET).

Antwort-Beispiel

{
  "status": 201,
  "message": "Event created successfully",
  "data": {
    "_id": "6a5f1234abcd5678ef901234",
    "name": "Techno Night Vol. 5",
    "status": "Pending"
  }
}

Events werden nach Erstellung geprüft und freigeschaltet.

3. Bulk Upload (CSV)

POST /events/bulk-uploadContent-Type: multipart/form-data

CSV-Header

name,address,eventDate,eventStartTime,category,description,imageUrl,visibility,totalTickets,partyType,musicType,offerings,restrictions,price

CSV-Felder

SpaltePflichtBeschreibungBeispiel
nameJaEvent-NameTechno Night
addressJaAdresseKarlsplatz 1, Wien
eventDateJaDatum (YYYY-MM-DD)2026-08-15
eventStartTimeJaDatum + Uhrzeit (ISO)2026-08-15T19:00:00
categoryJaKategorieMusic
descriptionJaBeschreibungDie beste Night!
imageUrlJaBild-URLhttps://example.com/bild.jpg
visibilityNeinDefault: publicpublic
totalTicketsNeinAnzahl200
partyTypeNeinDefault: socialsocial
musicTypeNeinDefault: othertechno
offeringsNeinAngebotDrinks
restrictionsNeinEinschränkungenAb 18
priceNeinPreis (Default: 0)15

CSV-Vorlage

Beispiel

curl -X POST "https://smylady-backend.onrender.com/events/bulk-upload" \
  -H "Authorization: Bearer DEIN_TOKEN" \
  -F "file=@events.csv"

Antwort bei Erfolg

{
  "status": 201,
  "message": "Bulk upload completed",
  "data": {
    "created": 12,
    "failed": 0
  }
}

Antwort bei Fehler

{
  "status": 400,
  "message": "Bulk upload completed with errors",
  "data": {
    "created": 10,
    "failed": 2,
    "errors": [
      { "row": 4, "message": "eventDate is required" }
    ]
  }
}

4. Event aktualisieren

PATCH /events/:idNur geänderte Felder senden.

Verwende die vollständige Event-ID (24 Zeichen) aus der Antwort beim Erstellen oder von GET /events/my-events. Die gekürzte ID aus der Event-URL reicht nicht aus.
curl -X PATCH "https://smylady-backend.onrender.com/events/{EVENT_ID}" \
  -H "Authorization: Bearer DEIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "price": 20, "totalTickets": 250 }'

5. Event löschen

DELETE /events/:id

Verwende die vollständige Event-ID (24 Zeichen) aus der Antwort beim Erstellen oder von GET /events/my-events. Die gekürzte ID aus der Event-URL reicht nicht aus.
curl -X DELETE "https://smylady-backend.onrender.com/events/{EVENT_ID}" \
  -H "Authorization: Bearer DEIN_TOKEN"

6. Eigene Events abrufen

GET /events/my-events

curl -X GET "https://smylady-backend.onrender.com/events/my-events" \
  -H "Authorization: Bearer DEIN_TOKEN"

7. Erlaubte Werte

Kategorien (category)

GastronomyBusinessSportsNatureThemeMusicOn the RoofClubbingWorkshopYogaOther

Event-Typen (partyType)

birthdayweddingcorporatesocialother

Musik-Typen (musicType)

poprockjazzclassicalelectronichip_hoptechnohousernbindiednbdj_setlive_bandmixedreggaelatinafrobeatssoulmetalcountrytrancefolkno_musicother

8. Fehlerbehebung

CodeUrsacheLösung
401Token fehlt/abgelaufenNeuen Token holen
403Keine BerechtigungOrganizer-Rolle prüfen
400Pflichtfeld fehltFehlermeldung prüfen
500Serverfehleroffice@shareyourparty.de