Zum Inhalt springen
hs-sql-agent
2.0.3
Dokumentation 2.0.3
Dokumentation Referenz

Admin HTTP API Referenz

Quellcodegestützte HTTP-Controller-Oberfläche von hs-sql-agent 2.0.2, die von der mitgelieferten Admin UI verwendet wird.

Auth und Identität Login, Refresh, OIDC, MFA, Passwort-Wiederherstellung, Konto, Sitzungen, Mitglieder und Rollen.
Laufzeitsteuerung Datenbanken, MCP-Schlüssel, semantische Metadaten, Custom Tools, Sicherheitsrichtlinien, Audit und Operability.
MCP ist getrennt Der Streamable-HTTP-Transport unter /mcp gehört nicht zu dieser Admin-REST-Referenz.

Diese Seite listet Controller-Routen auf, die im Quellcode von hs-sql-agent 2.0.2 existieren; ob ein Controller tatsächlich veröffentlicht wird, hängt jedoch von den ausgewählten Capabilities ab. Die mitgelieferte Admin UI verwendet normalerweise die Zusammensetzung mit integrierter Identität. Ein eingebetteter ASP.NET-Core-Host kann eine andere Zusammensetzung wählen.

Authentifizierung, Autorisierung und MVC-Verantwortung

Wenn die Admin-API-Capability ausgewählt ist, bleibt ihr öffentlicher Mount /api. Kanonische Permission Paths wie /auth/role und /runtime/db-management sind Kennungen für Autorisierungsressourcen, keine HTTP-Pfade.

Im Modus mit integrierter Identität verwenden geschützte Admin-Routen die HsSqlAgent-Authentifizierung sowie kanonische Permission/Action-Prüfungen. Notwendige anonyme Ausnahmen bestehen unter anderem für First Run, Sign-in, ausgewählte OIDC-/Passwort-Wiederherstellungsendpunkte und den Abschluss einer MFA-Challenge.

Bei Host-Autorisierung besitzt die Host-Anwendung die Authentifizierungsdefaults und ihre Authorization Policy. Angeforderte kanonische Permission Keys werden über HsSqlAgentPermissionResource.Permissions übergeben. Im modularen Host-Modus ruft UseHsSqlAgentAdminApi() absichtlich nicht MapControllers() auf; das MVC-Endpoint-Mapping bleibt damit unter Kontrolle des Hosts.

Siehe Berechtigungen.

Die folgenden Abschnitte Auth, Member und Role gelten nur, wenn die Capability für integrierte Identität ausgewählt ist.

Auth — /api/Auth

MethodeRouteZweck
GET/api/Auth/first-runStatus der Ersteinrichtung prüfen
POST/api/Auth/sign-inAdmin-Zugangsdaten authentifizieren
POST/api/Auth/sign-upersten Admin im erlaubten First-Run-Ablauf anlegen
POST/api/Auth/refresh-tokenRefresh Credential austauschen
POST/api/Auth/sign-outaktuelle Sitzung beenden
GET/api/Auth/sessionsSitzungen des aktuellen Benutzers auflisten
DELETE/api/Auth/sessions/{sessionId}einzelne Sitzung widerrufen
DELETE/api/Auth/sessionsandere Sitzungen widerrufen
GET/api/Auth/oidc/statusOIDC-Verfügbarkeit prüfen
GET/api/Auth/oidc/loginOIDC-Login starten
GET/api/Auth/oidc/callbackExternal-Login-Callback
POST/api/Auth/oidc/exchangekurzlebigen OIDC-Login-Code austauschen
GET/api/Auth/mfa/statusMFA-Zustand prüfen
POST/api/Auth/mfa/setupTOTP-Einrichtung starten
POST/api/Auth/mfa/confirmTOTP-Einrichtung bestätigen
POST/api/Auth/mfa/disableTOTP nach Validierung deaktivieren
POST/api/Auth/mfa/verifyMFA-Login-Challenge abschließen
POST/api/Auth/forgot-passwordPasswort-Reset anfordern
POST/api/Auth/reset-passwordReset Token verwenden und neues Passwort setzen
GET/api/Auth/accountaktuelles Kontoprofil lesen
PUT/api/Auth/accountBenutzername/E-Mail ändern
PUT/api/Auth/account/passwordaktuelles Passwort ändern

Members — /api/Member

MethodeRouteBerechtigung
POST/api/Member/auth/usercreate
GET/api/Member/auth/userview
PUT/api/Member/{id}/roles/auth/useredit
PUT/api/Member/{id}/status/auth/useredit
DELETE/api/Member/{id}/sessions/auth/useredit
PUT/api/Member/{id}/password-change-required/auth/useredit
DELETE/api/Member/{id}/auth/userdelete

Schutz vor Selbstaussperrung und Lebenszyklusregeln stehen unter Mitglieder und Rollen.

Roles — /api/Role

MethodeRouteBerechtigung
GET/api/Role/auth/roleview
POST/api/Role/auth/rolecreate
PUT/api/Role/{id}/auth/roleedit
DELETE/api/Role/{id}?force=false/auth/roledelete
GET/api/Role/{id}/dependencies/auth/roleview
GET/api/Role/permission-action-templates/auth/roleview

Database Management — /api/DbManagement

MethodeRouteBerechtigung
GET/api/DbManagement/runtime/db-managementview
GET/api/DbManagement/{id}/runtime/db-managementview
POST/api/DbManagement/runtime/db-managementcreate
PUT/api/DbManagement/{id}/runtime/db-managementedit
DELETE/api/DbManagement/{id}/runtime/db-managementdelete
GET/api/DbManagement/{id}/schemas/runtime/db-managementview
GET/api/DbManagement/{id}/tables?schema=.../runtime/db-managementview
GET/api/DbManagement/{id}/columns?schema=...&table=.../runtime/db-managementview

Semantische Metadaten — /api/DbSemantic

MethodeRouteBerechtigung
GET/api/DbSemantic/{dbManagementId}semantic view
GET/api/DbSemantic/{dbManagementId}/modelsemantic view
POST/api/DbSemanticsemantic edit
DELETE/api/DbSemantic/{id}semantic edit
POST/api/DbSemantic/relationshipsemantic edit
DELETE/api/DbSemantic/relationship/{id}semantic edit
POST/api/DbSemantic/metricsemantic edit
DELETE/api/DbSemantic/metric/{id}semantic edit

semantic steht hier für /runtime/db-management/semantic.

MCP-Key-Runtime — /api/runtime

MethodeRouteBerechtigung
GET/api/runtime/mcp-keysMCP keys view
GET/api/runtime/mcp-keys/available-tools?dbManagementId=...MCP keys view
POST/api/runtime/mcp-keysMCP keys create
PUT/api/runtime/mcp-keys/{id}MCP keys edit
POST/api/runtime/mcp-keys/{id}/rotateMCP keys edit
POST/api/runtime/mcp-keys/{id}/cloneMCP keys create
POST/api/runtime/mcp-keys/{id}/revokeMCP keys revoke
POST/api/runtime/mcp-keys/test-db-connectioneine der konfigurierten MCP-Key-/DB-Create-Edit-Berechtigungen
GET/api/runtime/client-configMCP keys view

Der client-config-Endpunkt liefert den konfigurierten öffentlichen MCP-Endpunkt, der zur Erzeugung der Client-Konfiguration verwendet wird.

Custom Tools — /api/CustomSqlTool

MethodeRouteZweck
GET/api/CustomSqlToolTools auflisten
GET/api/CustomSqlTool/{id}einzelnes Tool lesen
POST/api/CustomSqlToolEntwurf anlegen
PUT/api/CustomSqlTool/{id}Entwurf bearbeiten
DELETE/api/CustomSqlTool/{id}Tool löschen
GET/api/CustomSqlTool/{id}/revisionsRevisionen auflisten
GET/api/CustomSqlTool/{id}/impactAuswirkungen/Abhängigkeiten prüfen
POST/api/CustomSqlTool/{id}/publishvalidieren und veröffentlichen
POST/api/CustomSqlTool/{id}/disableveröffentlichtes Tool deaktivieren
POST/api/CustomSqlTool/{id}/rollback/{revisionId}validieren und zurückrollen
POST/api/CustomSqlTool/test-executeTestausführung; DML wird nur als Preview ausgeführt und nicht committed

Diese Routen verwenden je nach Operation /runtime/custom-tools mit view, create, edit oder delete.

Audit und Operability — /api/runtime

BereichRouten
Audit/audit, /audit/daily-summary, /audit/export, /audit/retention, /audit/retention/dry-run, /audit/retention/execute
Operability/operability/metrics, /operability/db-health, /operability/key-usage, /operability/deliveries, /operability/deliveries/{id}/retry

Filter, Antwortfelder und Berechtigungen stehen unter Audit und Betriebszustand.

Security Policy — /api/runtime/security

MethodeRouteBerechtigung
GET/api/runtime/security/runtime/securityview
PUT/api/runtime/security/runtime/securityedit

Credential-Status

GET /api/Credential/status existiert in 2.0.2 und liefert lediglich einen einfachen Status der Credential API. Der Controller selbst besitzt kein [Authorize]-Attribut. Behandeln Sie ihn als eng begrenzten Status-Endpunkt, nicht als authentifizierte Credential-Management-API.

Fehler und Kompatibilität

Die Controller verwenden übliche HTTP-Statuscodes: beispielsweise 400 für Validierung, 401/403 für Authentifizierung/Autorisierung, 404 für fehlende Ressourcen, 409 für widersprüchlichen Tool-/Rollenzustand, 413 für zu große Audit-Exporte und gegebenenfalls 429 bei begrenztem Druck auf SQL-Operationen.

Externe Automatisierung sollte auf 2.0.2 festgelegt werden und das tatsächlich verwendete Response Model prüfen. Diese Seite dokumentiert bewusst Routen und wichtige Verträge, ohne jedes Admin View Model als dauerhaft versioniertes externes SDK darzustellen.