{"status":"success","data":{"resources":[{"name":"loadLanguageFiles","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/loadLanguageFiles.html","description":"Loads a contao language file. Scope: FE and BE Allowed user types: no restriction Parameters: >> var_name (mandatory): an array of language file names to load >> var_keys (mandatory): an array of keys defining the language values to actually return, using dot notation (e.g. TL_LANG.key1.key2) >> str_language (optional): the language code of the language to be loaded >> bln_noCache (optional): true\/false to indicate whether or not to use the cache"},{"name":"getCurrentBackendUserName","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/getCurrentBackendUserName.html","description":"Returns the currently logged in backend user's name Scope: BE Allowed user types: apiUser, beUser"},{"name":"getCurrentFrontendUserName","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/getCurrentFrontendUserName.html","description":"Returns the currently logged in frontend user's name Scope: FE Allowed user types: apiUser, feUser @throws \\Exception"},{"name":"liveticker_delete","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_delete.html","description":""},{"name":"news","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news.html","description":"News API Scope: FE Allowed user types: no restriction"},{"name":"news_like","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news_like.html","description":""},{"name":"news_manage","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news_manage.html","description":""},{"name":"news_save","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news_save.html","description":""},{"name":"news_visibility","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news_visibility.html","description":""},{"name":"news_delete","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news_delete.html","description":""},{"name":"news_upload","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news_upload.html","description":""},{"name":"news_media","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news_media.html","description":""},{"name":"news_media_folder","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news_media_folder.html","description":""},{"name":"news_media_attach","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news_media_attach.html","description":""},{"name":"news_media_detach","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/news_media_detach.html","description":""},{"name":"file_upload","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/file_upload.html","description":""},{"name":"file_move","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/file_move.html","description":""},{"name":"file_delete","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/file_delete.html","description":""},{"name":"events_manage","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/events_manage.html","description":""},{"name":"event_manage_save","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/event_manage_save.html","description":""},{"name":"event_manage_visibility","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/event_manage_visibility.html","description":""},{"name":"event_manage_upload","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/event_manage_upload.html","description":""},{"name":"events","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/events.html","description":"Events API Scope: FE Allowed user types: no restriction"},{"name":"contacts","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/contacts.html","description":""},{"name":"training","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/training.html","description":""},{"name":"team_photo_upload","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/team_photo_upload.html","description":""},{"name":"team_photo_delete","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/team_photo_delete.html","description":""},{"name":"team_photo_data","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/team_photo_data.html","description":""},{"name":"teams","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/teams.html","description":""},{"name":"header","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/header.html","description":"Headerbild API Scope: FE Allowed user types: no restriction"},{"name":"auth_me","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/auth_me.html","description":"Authentifiziert den aktuell angemeldeten Firebase-Benutzer und l\u00e4dt Benutzer + Rollen aus der GWE-MariaDB. Neue Benutzer erhalten automatisch die Rolle \"user\"."},{"name":"account_delete","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/account_delete.html","description":"L\u00f6scht das Konto des aktuell authentifizierten Benutzers. Fachliche Inhalte (z. B. historische Liveticker) bleiben erhalten, sind nach dem Entfernen des Benutzerstamms aber nicht mehr einer Person zuordenbar."},{"name":"users","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/users.html","description":""},{"name":"user_delete","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/user_delete.html","description":""},{"name":"user_roles","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/user_roles.html","description":""},{"name":"squad_catalog","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/squad_catalog.html","description":"Grunddaten f\u00fcr die Kaderverwaltung."},{"name":"my_teams","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/my_teams.html","description":"Liefert die dem aktuellen Benutzer zugeordneten Mannschaften."},{"name":"clubs","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/clubs.html","description":"Vereine anlegen\/bearbeiten. Nur Admin."},{"name":"teams_manage","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/teams_manage.html","description":"Mannschaften anlegen\/bearbeiten. Anlegen nur Admin; Bearbeiten durch Admin oder explizit zugewiesene Team-Manager\/Editoren der jeweiligen Mannschaft."},{"name":"team_management_v2","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/team_management_v2.html","description":""},{"name":"account_contact_v2","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/account_contact_v2.html","description":""},{"name":"team_directory_v2","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/team_directory_v2.html","description":""},{"name":"person_management_v2","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/person_management_v2.html","description":""},{"name":"faq","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/faq.html","description":""},{"name":"seasons_manage","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/seasons_manage.html","description":""},{"name":"competitions_manage","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/competitions_manage.html","description":"Wettbewerbe anlegen\/bearbeiten. Nur Admin."},{"name":"profile_link","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/profile_link.html","description":""},{"name":"profile_candidates","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/profile_candidates.html","description":""},{"name":"profile_requests","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/profile_requests.html","description":""},{"name":"profile_review","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/profile_review.html","description":""},{"name":"profile_self_update","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/profile_self_update.html","description":""},{"name":"profile_account","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/profile_account.html","description":""},{"name":"profile_photo_upload","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/profile_photo_upload.html","description":""},{"name":"profile_photo_delete","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/profile_photo_delete.html","description":""},{"name":"profile_photo_data","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/profile_photo_data.html","description":""},{"name":"players","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/players.html","description":""},{"name":"club_players","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/club_players.html","description":"Vereinsspieler laden. Neues Modell: Ein Spieler geh\u00f6rt zun\u00e4chst nur zu einem Verein. Mannschaft und Saison entstehen erst am konkreten Spiel. GET:?clubId=1?clubId=1&includeInactive=1 Berechtigung: - admin: alle Vereine - team_manager: Vereine, in denen der Benutzer mindestenseiner Mannschaft zugeordnet ist"},{"name":"player_historic_stats","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/player_historic_stats.html","description":""},{"name":"club_player_save","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/club_player_save.html","description":""},{"name":"club_player_remove","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/club_player_remove.html","description":"Vereinsspieler aus dem aktuellen Vereinsbestand entfernen. Das ist KEIN Hard-Delete. Der Datensatz in players bleibt erhalten. NUR der Eintrag in club_players wird auf inactive gesetzt."},{"name":"team_access","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/team_access.html","description":"Team-Berechtigungen f\u00fcr team_manager. Admin: - action=list - add \/ update \/ remove"},{"name":"register_token","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/register_token.html","description":""},{"name":"push_settings","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/push_settings.html","description":"Liest oder \u00e4ndert die globale Push-Steuerung. GET= aktuellen Zustand lesen POST = Zustand mit {\"enabled\": true|false} \u00e4ndern Beide Operationen sind ausschlie\u00dflich f\u00fcr Administratoren freigegeben."},{"name":"security_audit","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/security_audit.html","description":"Liefert Administratoren die j\u00fcngsten sicherheitsrelevanten \u00c4nderungen."},{"name":"push_test","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/push_test.html","description":"Sendet als Administrator einen gezielten Test-Push an das eigene Ger\u00e4t."},{"name":"push","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/push.html","description":""},{"name":"database_backup","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/database_backup.html","description":"Nur per Cron-Secret erreichbare Spiegelung der App-Datenbank."},{"name":"historic_statistics_import","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/historic_statistics_import.html","description":"Gepr\u00fcfter Einmalimport der historischen Saisonstatistiken."},{"name":"event_reminder","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/event_reminder.html","description":""},{"name":"liveticker_create","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_create.html","description":""},{"name":"liveticker_lineup_template","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_lineup_template.html","description":"Liefert die Aufstellungsvorlage f\u00fcr eine Mannschaft in einem konkreten Liveticker. Verhalten: - Existiert bereits eine Aufstellung f\u00fcr dieses Match, wird diese geladen. - Sonst wird die letzte abgeschlossene Aufstellung derselben Mannschaftals Vorlage geladen. - Zus\u00e4tzlich werden alle aktuell aktiven Vereinsspieler geliefert. GET:?livetickerId=123&teamId=4"},{"name":"liveticker_player_state","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_player_state.html","description":"Gibt den aktuellen Spielerzustand f\u00fcr die Liveticker-Steuerung zur\u00fcck. GET:?livetickerId=123&teamSide=HOME"},{"name":"liveticker_lineup_save","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_lineup_save.html","description":"Speichert die konkrete Aufstellung einer Mannschaft f\u00fcr das aktuelle Match. POST JSON: {\"livetickerId\": 123,\"teamId\": 4,\"formation\": \"4-2-3-1\",\"players\": [{\"playerId\": 12,\"lineupRole\": \"starter\",\"shirtNumber\": 7,\"sortOrder\": 1,\"started\": 1,\"position\": \"RM\",\"positionGroup\": \"MID\",\"startingPosition\": \"RM\"}] }"},{"name":"liveticker_manual_create","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_manual_create.html","description":""},{"name":"liveticker_manual_update","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_manual_update.html","description":""},{"name":"liveticker_manual_list","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_manual_list.html","description":""},{"name":"liveticker_active","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_active.html","description":""},{"name":"liveticker_state","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_state.html","description":""},{"name":"liveticker_history","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_history.html","description":""},{"name":"liveticker_archive","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_archive.html","description":"\u00d6ffentliches Liveticker-Archiv f\u00fcr eingeloggte Benutzer. Erlaubt: - user - liveticker - admin Enth\u00e4lt nur abgeschlossene Spiele, die nicht mehr zum aktuellen 2-Stunden-Zeitfenster geh\u00f6ren."},{"name":"liveticker_event_update","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_event_update.html","description":"Korrektur eines bestehenden Liveticker-Ereignisses. Admins duerfen auch Archive korrigieren; waehrend des Livetickers duerfen dies ebenso der Ersteller und der aktuelle Besitzer."},{"name":"liveticker_event_likes","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_event_likes.html","description":"Loeschung eines einzelnen Ereignisses mit vollstaendiger Neuberechnung von Spielstand und Match-Spielerstatistik. Es gelten dieselben Rechte wie beim Bearbeiten eines Ereignisses."},{"name":"liveticker_event_like_toggle","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_event_like_toggle.html","description":""},{"name":"liveticker_event_delete","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_event_delete.html","description":""},{"name":"admin_orphan_statistics_cleanup","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/admin_orphan_statistics_cleanup.html","description":"Bereinigt ausschlie\u00dflich interne Matches, die von keinem Liveticker mehr referenziert werden. Diese Datens\u00e4tze stammen aus der fr\u00fcheren L\u00f6schlogik, die Match-Statistiken nach dem L\u00f6schen eines Livetickers stehen lie\u00df."},{"name":"liveticker_photo_add","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_photo_add.html","description":"Legt ein anklickbares Medienereignis mit Fotos und\/oder Videos an. Multipart-Felder: - livetickerId (Pflicht) - comment (optional, maximal 1000 Zeichen) - media[] (ein bis zehn Fotos oder kurze Videos) Als Komfort f\u00fcr Clients mit Einzelauswahl wird alternativ auch das Feld \"file\" akzeptiert. Medienereignisse d\u00fcrfen vor dem Anpfiff, in Pausen und nach dem Abpfiff erg\u00e4nzt werden, solange der Benutzer den Ticker steuert."},{"name":"liveticker_media_add","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_media_add.html","description":""},{"name":"liveticker_event_add","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_event_add.html","description":""},{"name":"liveticker_settings","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_settings.html","description":"Aktualisiert vorbereitende Liveticker-Einstellungen. Die Wechselregel ist absichtlich nur bis zum ersten Spielstart ver\u00e4nderbar."},{"name":"liveticker_control_state","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_control_state.html","description":"Authentifizierter Steuerungsstatus. Anders als der \u00f6ffentliche State liefert dieser Endpunkt keine pauschalen Schreibrechte, sondern die auf den angemeldeten Benutzer bezogenen Aktionen f\u00fcr Freigabe und \u00dcbernahme."},{"name":"liveticker_release","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_release.html","description":"Der aktuelle Besitzer gibt die Steuerung zur \u00dcbernahme frei. Bis zur tats\u00e4chlichen \u00dcbernahme bleibt er Besitzer; parallele Schreibrechte werden ausdr\u00fccklich nicht vergeben."},{"name":"liveticker_takeover","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_takeover.html","description":"\u00dcbernimmt einen freigegebenen Liveticker exklusiv. Das FOR UPDATE sperrt konkurrierende \u00dcbernahmen; genau ein Benutzer wird neuer Besitzer."},{"name":"liveticker_clock","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_clock.html","description":""},{"name":"liveticker_finish","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_finish.html","description":""},{"name":"player_suspensions","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/player_suspensions.html","description":""},{"name":"player_suspension_save","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/player_suspension_save.html","description":""},{"name":"player_suspension_delete","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/player_suspension_delete.html","description":""},{"name":"admin_player_schema_migrate","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/admin_player_schema_migrate.html","description":"Einmalige Admin-Migration: historische Vereinswerte f\u00fcr Spieler. F\u00fcgt players.historic_goals und players.historic_appearances hinzu, falls die Spalten noch fehlen. Die Methode ist idempotent und kann gefahrlos erneut aufgerufen werden. Resource:admin_player_schema_migrate"},{"name":"statistics_review","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/statistics_review.html","description":""},{"name":"statistics","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/statistics.html","description":""},{"name":"admin_delete","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/admin_delete.html","description":"Admin-Hard-Delete NUR ADMIN. type:playerteamclub Dieses Endpoint l\u00f6scht bewusst endg\u00fcltig. Historische Daten werden dabei nur gel\u00f6scht, wenn sie direkt von dem explizit gel\u00f6schten Datensatz abh\u00e4ngen."},{"name":"app_presence","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/app_presence.html","description":""},{"name":"liveticker_web_presence","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/liveticker_web_presence.html","description":"Anonymous, short-lived presence signal from the public website ticker."},{"name":"comment_profile","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/comment_profile.html","description":""},{"name":"comments","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/comments.html","description":""},{"name":"comment_reports","url":"https:\/\/www.gw-eschenbach.de\/api\/resource\/comment_reports.html","description":""}]}}