API Changelog

Was gibt's Neues in der API?

Alle Änderungen, neue Endpoints und Breaking Changes — chronologisch dokumentiert.

Oktober 2026

Breaking Change

Feld Mandant.users entfernt

Das Feld users am Typ Mandant wurde entfernt, da es aufgrund eines internen Fehlers keine Daten lieferte. Die Nutzer eines Mandanten liefert usersOfMandant.

  • Entfernt: Mandant.users — Ersatz ist usersOfMandant
Breaking Change

bookingEligibility: neue Status und genauere Antworten

bookingEligibility sagt jetzt genauer, ob und warum ein Termin oder Block buchbar ist. Bestehende Aufrufe bekommen dadurch teils andere Antworten — ein voller Termin etwa FULLY_BOOKED statt BOOKABLE.

  • Sechs neue Werte in BookingEligibilityStatus: FULLY_BOOKED (auch die Warteliste ist voll), NOT_ENOUGH_CREDITS, ONLY_BOOKABLE_AS_BLOCK, CANCELLED, ALREADY_STARTED und ONLY_BOOKABLE_AS_SINGLE_EVENTS (Block nach der Freigabe)
  • Volle Termine melden WAITLIST oder FULLY_BOOKED, abgesagte CANCELLED, begonnene ALREADY_STARTED — bisher jeweils BOOKABLE
  • Fehlende Punkte melden NOT_ENOUGH_CREDITS statt BOOKABLE
  • Block-Termine vor der Freigabe melden ONLY_BOOKABLE_AS_BLOCK statt NOT_YET_OPEN
  • DEADLINE_PASSED steht nur noch für den Anmeldeschluss aus dem Buchungsprofil
  • Ausgebucht und Buchungsfenster sehen jetzt auch ausgeloggte Nutzer, vor NOT_AUTHENTICATED
Breaking Change

Onlinezahlung nur bei zahlungsbereitem Mandanten

Ein Mandant kann nur noch etwas gegen Onlinezahlung anbieten und verkaufen, wenn er zahlungsbereit ist: mit Mollie verbunden und mit mindestens einem aktiven Zahlungsmittel in seiner Währung. Ob das zutrifft, liefert MandantBilling.canReceivePayments.

  • Ohne Zahlungsbereitschaft scheitern mit mandant-cant-receive-payments: Speichern mit Onlinezahlung (Termin mit canBePurchased, Block mit money, createProduct, updateProduct, setProductActive) und Kaufen mit Onlinezahlung (createBookingV2, createMultiBookingV2, Blockbuchung, buyShoppingCart)
  • Unverändert möglich: Punkte, Flatrate, manuelle Zahlung und Buchungen mit skipInvoice

August 2026

Breaking Change

Argument kind bei uploadMandantPictureV2 ist Pflicht

Beim Bild-Upload muss die Bildart jetzt angegeben werden. Der bisherige Standardwert coursePicture entfällt.

  • uploadMandantPictureV2: kind: PictureKind = coursePicture → kind: PictureKind!
  • Der Standardwert am Query-Argument mandantPictures(kind:) bleibt unverändert
Breaking Change

Query getInvoicePdf entfernt

Die Query getInvoicePdf wurde entfernt. Ersatz ist getInvoicePdfV2, das das PDF direkt als Base64 zurückgibt statt als Link auf eine erzeugte Datei.

  • Entfernt: getInvoicePdf — Ersatz ist getInvoicePdfV2

Juli 2026

Breaking Change

Vier veraltete V1-Endpunkte entfernt

Vier veraltete Endpunkte wurden entfernt. Alle vier haben einen V2-Nachfolger.

  • Entfernt: createMultiBooking — Ersatz ist createMultiBookingV2
  • Entfernt: addRemoveCreditsForAllUsers — Ersatz ist addRemoveCreditsForAllUsersV2 (deprecated seit 04/2026)
  • Entfernt: getLogsCsv — Ersatz ist getLogsCsvV2
  • Entfernt: pdfEventSummary — Ersatz ist pdfEventSummaryV2
  • Entfernt: Typen CreateMultiBookingResult und MultiBookingResult
Breaking Change

Teilnehmer-Kontaktdaten nur noch fuer Berechtigte

E-Mail-Adressen von Teilnehmern sehen jetzt nur noch Mandanten-Admins und globale Trainer. Kurs-Trainer erhalten in Buchungslisten null, die detaillierte Termin-PDF ist fuer sie nicht mehr abrufbar (die einfache Variante bleibt).

  • Feld User.email ist jetzt nullable: String! → String — Clients muessen mit null umgehen koennen
  • Event.bookings liefert email nur noch fuer Admins und globale Trainer
  • pdfEventSummaryV2 mit withDetails: true erfordert jetzt Admin- oder globale Trainer-Rechte

April 2026

Breaking Change

ICS-API entfernt

Die bisherige ICS-API wurde entfernt.

  • Entfernt: icsLink(eventId: ID!): String
  • Entfernt: icsLinkV2(eventId: ID!): IcsLinkResult
  • Entfernt: Typ IcsLinkResult
  • Entfernt: REST-Endpunkt /events/ics/:eventId

März 2026

Breaking Change v1

Mutation cancelEvent entfernt

Die veraltete Mutation cancelEvent wurde entfernt (deprecated seit Juli 2025). Bitte stattdessen cancelEventV2 verwenden.

Breaking Change v1

Mutation addEvents entfernt

Die veraltete Mutation addEvents wurde entfernt. Bitte stattdessen addEventsV2 verwenden.

API-Änderungen per E-Mail erhalten

Wir informieren dich bei neuen Features, Breaking Changes und Deprecations.

Du erhältst eine Bestätigungsmail. Abmeldung jederzeit möglich.