--- type: Reference status: ACTIVE owner: Backend Developer last_update: 2026-04-03 --- # API-Übersicht Stammdaten Abdeckung: Backend Sprint B‑1 (abgeschlossen). Konsolidierte Endpunkte für Reiter, Pferde, Vereine und Funktionäre. Implementiert mit Ktor; DTOs und Validierung in den jeweiligen Services. Hinweis Tenant/Headers: Stammdaten sind global bzw. nicht tenant‑spezifisch. Für domain‑spezifische Vorgänge (Entries, Kassa) gilt ADR‑0021/`X-Event-Id`. ## Reiter (`/reiter`) - GET `/reiter` — Liste (optional Filter: `lizenzKlasse`, `vereinId`; Pagination: `limit`, `offset`) - GET `/reiter/search?q=...` — Suche nach Name oder Satznummer - GET `/reiter/{id}` — Einzelabruf - GET `/reiter/satznummer/{nr}` — Lookup per Satznummer - POST `/reiter` — Anlegen - PUT `/reiter/{id}` — Aktualisieren (partiell) - DELETE `/reiter/{id}` — Löschen Quelle: `backend/services/masterdata/masterdata-api/.../ReiterController.kt` ## Pferde (`/horse`) - GET `/horse` — Liste (optional Filter: `jahrgang`, `besitzerId`; Pagination: `limit`, `offset`) - GET `/horse/search?q=...` — Suche nach Name/Nummern - GET `/horse/{id}` — Einzelabruf - POST `/horse` — Anlegen - PUT `/horse/{id}` — Aktualisieren (partiell) - DELETE `/horse/{id}` — Löschen Quelle: `backend/services/masterdata/masterdata-api/.../HorseController.kt` ## Vereine (`/verein`) - GET `/verein` — Liste (optional Filter: `verband`/Bundesland; Pagination: `limit`, `offset`) - GET `/verein/search?q=...` — Suche nach Name/Kurzname - GET `/verein/{id}` — Einzelabruf - POST `/verein` — Anlegen - PUT `/verein/{id}` — Aktualisieren (partiell) - DELETE `/verein/{id}` — Löschen Quelle: `backend/services/masterdata/masterdata-api/.../VereinController.kt` ## Funktionäre (`/funktionaer`) - GET `/funktionaer` — Liste (optional Filter: `rolle`; Pagination: `limit`, `offset`) - GET `/funktionaer/search?q=...` — Suche nach Name - GET `/funktionaer/{id}` — Einzelabruf - POST `/funktionaer` — Anlegen - PUT `/funktionaer/{id}` — Aktualisieren (partiell) - DELETE `/funktionaer/{id}` — Löschen Quelle: `backend/services/masterdata/masterdata-api/.../FunktionaerController.kt` ## Standards - Auth: Standard-Bearer optional je nach Deploymentprofil (siehe Service-Konfig) - Content-Type: `application/json; charset=utf-8` - Fehlerfälle: 400 (Validierung), 404 (nicht gefunden)