Termin erstellen (Create Appointment)
POST
/calendars/events/appointments
Legt einen neuen Termin an. Zeiten müssen als ISO 8601 mit Zeitzonen-Offset übergeben werden (z.B. 2025-10-30T08:45:00+01:00).
Erforderliche Header
Authorization: Bearer {{ token }}
Content-Type: application/json
Version: 2021-04-15 // Kalender/Termin-Version
Idempotency-Key: <uuid> // Empfohlen, um doppelte Buchungen zu verhindern
Request Body (JSON)
Die wichtigsten Felder zur Erstellung eines Termins.
{
// --- Erforderliche Felder ---
"calendarId": "1nBVY6R2cyx4qw86FJVD",
"locationId": "UFeZwU5X6PIJLwU2XO3k",
"contactId": "cVT5KgjznvtIfaf0UaaR",
"assignedUserId": "15tDtK9qqUdfHTtrL5np", // Therapeut
"startTime": "2025-10-30T08:45:00+01:00",
"endTime": "2025-10-30T10:15:00+01:00",
"title": "API Testbuchung | SOKAI",
"appointmentStatus": "confirmed",
// --- Optionale Felder (Empfohlen) ---
"notes": "API Testbuchung (Deskbot)",
"toNotify": false, // WICHTIG: 'false' verhindert WhatsApp/E-Mail-Automationen
// --- Optionale Felder (Spezialfälle) ---
"meetingLocationType": "custom",
"ignoreFreeSlotValidation": false // 'true' nur verwenden, wenn Slot-Prüfung umgangen werden soll
}
Request (cURL)
Ein vollständiger Beispiel-Request.
curl -L -X POST "https://deine-api-basis-url.com/calendars/events/appointments" \
-H "Authorization: Bearer {{ token }}" \
-H "Version: 2021-04-15" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 361dfac5-c2bd-4ba7-8abc-1234567890ab" \
-d '{
"title": "API Testbuchung | SOKAI",
"appointmentStatus": "confirmed",
"assignedUserId": "15tDtK9qqUdfHTtrL5np",
"calendarId": "fu4y48c9PlUoyFxnCw2A",
"locationId": "UFeZwU5X6PIJLwU2XO3k",
"contactId": "cVT5KgjznvtIfaf0UaaR",
"startTime": "2025-10-30T09:00:00+01:00",
"endTime": "2025-10-30T10:30:00+01:00",
"notes": "API Testbuchung (Deskbot)",
"toNotify": false
}'
Mögliche Antworten (Response)
Antwort (200 OK): Termin erstellt
{
"id": "w9dpzkNaNC1vJ4uEv50Q",
"calendarId": "fu4y48c9PlUoyFxnCw2A",
"locationId": "UFeZwU5X6PIJLwU2XO3k",
"contactId": "cVT5KgjznvtIfaf0UaaR",
"title": "API Testbuchung | SOKAI",
"appointmentStatus": "confirmed",
"assignedUserId": "15tDtK9qqUdfHTtrL5np",
"isRecurring": false,
"traceId": "9027c10e-40a4-4adf-98bd-da623716b468"
}
Hinweis zu Fehlermeldungen (z.B. 403):
Falls du einen Fehler wie does not have access to this location erhältst, prüfe, ob der API-Token die nötigen Rechte hat und ob `locationId` und `calendarId` korrekt sind.