JuByteNexus – Core-API-Referenz

Vollständige Referenz der Core-Plattform-Endpunkte (ohne Module – die sind im Modul-Katalog). Konventionen (Auth, Fehlerobjekt, Pagination) siehe API-Vertrag. Basis: /api/v1.

Endpunkte ohne Permission-Spalte sind öffentlich oder nur authentifiziert; @RequiresPermission-Keys sind angegeben. Aktionen unter 4-Augen-Governance antworten ggf. mit {status:"pending_approval", approvalId}.

Auth & Konto

Auth (/api/v1/auth)

MethodePfadPermZweck
POST/auth/loginLogin (Email/Passwort, optional TOTP)
POST/auth/refreshAccess-Token erneuern (Refresh-Rotation)
POST/auth/logoutRefresh-Token widerrufen
GET/auth/meAktueller Benutzer
POST/auth/totp/setup · /auth/totp/confirm2FA einrichten/bestätigen

OAuth & WebAuthn (/api/v1/auth/oauth, /api/v1/auth/webauthn)

MethodePfadZweck
GET/auth/oauth/providers · /auth/oauth/discord/urlOAuth-Provider / Discord-Login-URL
POST/auth/oauth/discord/callbackDiscord-Callback → Tokens
POST/auth/webauthn/{register|login}/options · /auth/webauthn/{register|login}Passkey-Zeremonien
GET/DELETE/auth/webauthn/credentials[/{id}]Eigene Passkeys auflisten/entfernen

Account (/api/v1/account)

MethodePfadZweck
PUT/account/profile · /account/email · /account/passwordProfil/Email/Passwort ändern
POST/account/logout-allVon allen Geräten abmelden
GET/DELETE/account/sessions[/{id}]Sitzungen auflisten/beenden
GET/POST/account/2fa/recoveryRecovery-Codes zählen/neu generieren

Team, Rechte & Sicherheit

Team & Rollen (/api/v1)

MethodePfadPermZweck
GET/permissions · /rolesBerechtigungen / Rollen auflisten
POST/PUT/DELETE/roles[/{id}]core.team.manageRolle anlegen/ändern/löschen
GET/team · /team/directorycore.team.manage / –Team-Liste / Email↔MC-Verzeichnis
PUT/team/{id}/rolescore.team.manageRollen eines Mitglieds setzen
POST/team/{id}/disable · /team/{id}/enable · /team/invitecore.team.manageKonto sperren/entsperren/einladen
GET/team/activity/{leaderboard|feed} · /team/activity/mecore.team.manage / –Moderations-Leaderboard, Aktivitäts-Feed, eigene Stats

Account-Sicherheit & API-Keys

MethodePfadPermZweck
GET/security/accountscore.team.manageSuspendierte/gesperrte Konten
POST/security/accounts/{id}/unlockcore.team.manageLocked-out-Konto entsperren
GET/POST/DELETE/apikeys[/{id}]core.apikey.manageScoped API-Keys (nxa_) verwalten

Server, Nodes & Dateien

Server (/api/v1/servers)

MethodePfadPermZweck
GET/servers · /servers/{id} · /servers/{id}/history · /servers/{id}/playerscore.server.viewListe/Details/Metrik-Historie/Online-Spieler
DELETE/servers/{id}core.server.deleteServer löschen (optional Datei-Purge)
POST/servers/tokenscore.server.manageBridge-Token ausstellen
POST/servers/{id}/{tags|group|broadcast}core.server.manageTags/Gruppe/Broadcast
POST/GET/servers/{id}/console[/attach]core.server.consoleBefehl ausführen / Output streamen/puffern
POST/servers/{id}/powercore.server.lifecyclestart/stop/restart/kill
POST/servers/provisioncore.server.installServer auf Node provisionieren

Dateien, Backups, Welten

MethodePfadPermZweck
GET/PUT/DELETE/POST/servers/{id}/files…core.server.filesAuflisten, lesen/schreiben, verschieben, up/download, (un)archivieren
GET/POST/DELETE/servers/{id}/backups…core.server.backupBackups (voll/Welt) erstellen/wiederherstellen/löschen
GET/PUT/servers/{id}/backup-schedulecore.server.backupAuto-Backup-Zeitplan
GET/DELETE/servers/{id}/worlds[/{name}]core.server.worldsWelten auflisten/löschen

Nodes (/api/v1/nodes)

MethodePfadPermZweck
GET/PUT/DELETE/nodes[/{id}]core.node.manageHost-Nodes auflisten/umbenennen/löschen
POST/nodes/tokenscore.node.manageAgent-Token ausstellen

Spieler

Players (/api/v1/players)

MethodePfadPermZweck
GET/players · /players/{id} · /players/overview · /players/rankscore.player.viewSuche, Akte, Statistik, Ränge
POST/players/{id}/kick · /players/{id}/messagecore.player.kick / .messageKicken / Nachricht senden
POST/players/{id}/rankplayermanagement.rank.setRang setzen (netzweit)
GET/players/{id}/ips · /players/{id}/altsplayermanagement.ip.viewIP-Historie / Alt-Erkennung
POST/DELETE/players/{id}/notes[/{noteId}]playermanagement.notes.writeNotizen
POST/DELETE/players/{id}/watchcore.player.watchBeobachtungsliste
GET/public/players/{name}Öffentliches Profil (wenn aktiviert)

Economy & Security-Alerts

MethodePfadPermZweck
GET/players/{id}/economy[/transactions]playermanagement.economy.viewBalance / Ledger
POST/players/{id}/economy/adjustplayermanagement.economy.manageBalance anpassen
GET/security/alerts[/stats]playermanagement.security.viewAnomalie-Alerts
POST/security/alerts/{id}/{resolve|ignore|false-positive}playermanagement.security.manageAlert bearbeiten

Module, Lizenz & System

Module (/api/v1/modules)

MethodePfadPermZweck
GET/modulesModule + Status auflisten
POST/modules/{id}/enable · /modules/{id}/disablecore.module.manageAktivieren/Deaktivieren
GET/PUT/modules/{id}/configcore.module.manageModul-Konfiguration je Scope
GET/POST/modules/{id}/config/history[/{changeId}/revert]core.module.manageÄnderungshistorie / Revert
GET/modules/config/allcore.module.manageDurchsuchbares Settings-Center

Lizenz (/api/v1/license)

Siehe Lizenz-API. Kurz: GET /license (öffentlich), GET /license/settings, POST /license/{activate\|activate-key\|refresh}, DELETE /license/key (alle core.license.manage).

System & Plattform

MethodePfadPermZweck
GET/system/info · /system/healthcore.module.manageVersion/Module · Health (DB, Module, Bridges, Agents)
GET/asyncapiAsyncAPI 3.0 (WS-/Webhook-Events)
GET/searchGlobale Suche (Player, Bans, Tickets, …)
GET/PUT/DELETE/feature-flags[/effective]core.flags.manageFeature-Flags
GET/PUT/DELETE/messages[/{key}]core.messages.manageNachrichten-Katalog
GET/PUT/branding · …/asset/{kind}core.branding.manageBranding (+ öffentlich: /public/branding…)
GET/PUT/POST/privacy/retention[/run]core.privacy.manageGDPR-Aufbewahrung + On-Demand-Purge
GET/POST/PUT/DELETE/webhooks[/{id}][/test]core.webhook.manageOutbound-Webhooks
GET/audit[/verify|/export]core.audit.viewAudit-Log (Hash-Chain, CSV)
GET/POST/approvals…core.approval.{view|request|decide}4-Augen-Genehmigungen
GET/POST/PUT/DELETE/policies…core.policy.manageGovernance-Policies
GET/POST/setup[/status]First-Run-Wizard (Owner anlegen)

UCP (User Control Panel, /api/v1/ucp)

MethodePfadZweck
POST/ucp/register · /ucp/linkAccount registrieren / Identität verknüpfen
GET/PUT/ucp/me/identities · /ucp/me/public-profileIdentitäten / öffentliches Profil
GET/POST/ucp/me/punishments[/{id}/appeal]Eigene Strafen / Einspruch
GET/DELETE/ucp/me/data-export · /ucp/meGDPR-Export / Account-Löschung

Realtime (WebSocket)

PfadZweck
/api/v1/wsPanel-Realtime: Client subscribe auf player.*, ban.*, server.*, module.*, report.*, notification.created; Server pusht {type,data,at}
/bridge/wsBridge↔Core: Handshake (Token→Server-Key), Player-Events, Vault-Sync, Metrik-Heartbeat, Straf-/Console-Requests (Bridge-Protokoll)
/agent/wsHost-Agent↔Core: Node-Heartbeat, Server-State, Console-Output

Event-Bus (Auswahl der Core-Events)

player.join · player.quit · player.chat · player.report · player.device · player.inventory · chatlog.requested · server.online · server.offline · punishment.request · punishment.revoke · scheduler.run.result · vault.groups · notification.created · module.enabled · module.disabled · config.changed

Module abonnieren diese per @Subscribe und publizieren eigene Events – siehe Modul-Katalog und SDK-Referenz.