Base URL
https://smylady-backend.onrender.com1. Authentifizierung
Alle API-Aufrufe benötigen einen Bearer Token im Header:
Authorization: Bearer YOUR_TOKENLogge dich ein um deinen API-Token zu sehen.
So erhältst du den Token:
- Logge dich auf shareyourparty.de ein
- Öffne die Browser-Entwicklertools (F12) → Application → Local Storage
- Kopiere den Wert von syp_token
Hinweis: Der Token ist 7 Tage gültig.
2. Event erstellen
POST /eventsContent-Type: multipart/form-data
Pflichtfelder
| Feld | Typ | Beschreibung | Beispiel |
|---|---|---|---|
name | String | Event-Name | "Techno Night Vol. 5" |
description | String | Beschreibung | "Die beste Techno Night!" |
eventDate | ISO Date | Datum | "2026-08-15T00:00:00.000Z" |
eventStartTime | ISO Date | Datum + Uhrzeit | "2026-08-15T16:00:00.000Z" |
category | String | Kategorie | "Music" |
partyType | String | Event-Typ | "social" |
musicType | String | Musik-Typ | "techno" |
locationName | String | Adresse | "Karlsplatz 1, 1010 Wien" |
Optionale Felder
| Feld | Typ | Default | Beschreibung |
|---|---|---|---|
totalTickets | Number | 1 | Anzahl Tickets |
price | Number | 0 | Preis in Euro (0 = kostenlos) |
visibility | String | "public" | "public", "subscribers", "selected" |
offerings | String | "" | Angebot |
restrictions | String | "" | Einschränkungen |
locationType | String | "physical" | "physical", "online", "tba" |
onlineUrl | String | "" | Link zum Online-Event |
paymentType | String | "online" | "online" oder "door" |
files | File(s) | — | Bilder (max 5, JPG/PNG) |
Beispiel
curl -X POST "https://smylady-backend.onrender.com/events" \
-H "Authorization: Bearer YOUR_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,priceCSV-Felder
| Spalte | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|
name | Ja | Event-Name | Techno Night |
address | Ja | Adresse | Karlsplatz 1, Wien |
eventDate | Ja | Datum (YYYY-MM-DD) | 2026-08-15 |
eventStartTime | Ja | Datum + Uhrzeit (ISO) | 2026-08-15T19:00:00 |
category | Ja | Kategorie | Music |
description | Ja | Beschreibung | Die beste Night! |
imageUrl | Ja | Bild-URL | https://example.com/bild.jpg |
visibility | Nein | Default: public | public |
totalTickets | Nein | Anzahl | 200 |
partyType | Nein | Default: social | social |
musicType | Nein | Default: other | techno |
offerings | Nein | Angebot | Drinks |
restrictions | Nein | Einschränkungen | Ab 18 |
price | Nein | Preis (Default: 0) | 15 |
Beispiel
curl -X POST "https://smylady-backend.onrender.com/events/bulk-upload" \
-H "Authorization: Bearer YOUR_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/:id— Nur 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 YOUR_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 YOUR_TOKEN"6. Eigene Events abrufen
GET /events/my-events
curl -X GET "https://smylady-backend.onrender.com/events/my-events" \
-H "Authorization: Bearer YOUR_TOKEN"7. Erlaubte Werte
Kategorien (category)
GastronomyBusinessSportsNatureThemeMusicOn the RoofClubbingWorkshopYogaOtherEvent-Typen (partyType)
birthdayweddingcorporatesocialotherMusik-Typen (musicType)
poprockjazzclassicalelectronichip_hoptechnohousernbindiednbdj_setlive_bandmixedreggaelatinafrobeatssoulmetalcountrytrancefolkno_musicother8. Fehlerbehebung
| Code | Ursache | Lösung |
|---|---|---|
401 | Token fehlt/abgelaufen | Neuen Token holen |
403 | Keine Berechtigung | Organizer-Rolle prüfen |
400 | Pflichtfeld fehlt | Fehlermeldung prüfen |
500 | Serverfehler | office@shareyourparty.de |
Bei Fragen: office@shareyourparty.de