Termin erstellen - API Hub
← Zurück zum API Hub

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.