Aller au contenu
hs-sql-agent
2.0.3
Documentation 2.0.3
Documentation Référence

Référence de l’API HTTP Admin

Surface réelle des contrôleurs HTTP de hs-sql-agent 2.0.2, issue du code source et utilisée par l’interface Admin intégrée.

Auth & identité Connexion, refresh, OIDC, MFA, récupération de mot de passe, compte, sessions, membres et rôles.
Contrôle runtime Bases, clés MCP, métadonnées sémantiques, Custom Tools, politique de sécurité, audit et opérabilité.
MCP est séparé Le transport Streamable HTTP /mcp ne fait pas partie de cette référence REST Admin.

Cette page répertorie les routes de contrôleurs qui existent dans le code source hs-sql-agent 2.0.2, mais leur disponibilité dépend des capabilities sélectionnées. L’interface Admin intégrée utilise normalement la composition avec identité intégrée ; un hôte ASP.NET Core peut choisir une autre composition.

Authentification, autorisation et propriété MVC

Lorsque la capability Admin API est sélectionnée, son montage public reste /api. Les canonical permission paths comme /auth/role et /runtime/db-management sont des identifiants de ressources d’autorisation, pas des chemins HTTP.

En mode d’identité intégré, les routes Admin protégées utilisent l’authentification HsSqlAgent et les contrôles canonical permission/action. Des exceptions anonymes existent pour les flux qui doivent commencer sans session Admin, notamment first-run, sign-in, certains endpoints OIDC/password-recovery et la fin d’un challenge MFA.

En mode d’autorisation hôte, l’application hôte possède les valeurs d’authentification par défaut et sa politique d’autorisation. Les canonical permission keys demandées sont transmises via HsSqlAgentPermissionResource.Permissions. En mode hôte modulaire, UseHsSqlAgentAdminApi() n’appelle volontairement pas MapControllers() ; le mapping des endpoints MVC reste sous la responsabilité de l’hôte.

Consultez Permissions.

Les sections Auth, Member et Role ci-dessous ne s’appliquent que lorsque la capability d’identité intégrée est sélectionnée.

Auth — /api/Auth

MethodRouteUsage
GET/api/Auth/first-runinspecter l’état de première configuration
POST/api/Auth/sign-inauthentifier les identifiants Admin
POST/api/Auth/sign-upcréer le premier Admin lorsque le flux first-run l’autorise
POST/api/Auth/refresh-tokenéchanger un identifiant de refresh
POST/api/Auth/sign-outterminer la session courante
GET/api/Auth/sessionslister les sessions de l’utilisateur courant
DELETE/api/Auth/sessions/{sessionId}révoquer une session
DELETE/api/Auth/sessionsrévoquer les autres sessions
GET/api/Auth/oidc/statusinspecter la disponibilité OIDC
GET/api/Auth/oidc/logindémarrer la connexion OIDC
GET/api/Auth/oidc/callbackcallback de connexion externe
POST/api/Auth/oidc/exchangeéchanger le code de connexion OIDC de courte durée
GET/api/Auth/mfa/statusinspecter l’état MFA
POST/api/Auth/mfa/setupcommencer la configuration TOTP
POST/api/Auth/mfa/confirmconfirmer la configuration TOTP
POST/api/Auth/mfa/disabledésactiver TOTP après validation
POST/api/Auth/mfa/verifyterminer un challenge MFA de connexion
POST/api/Auth/forgot-passworddemander une réinitialisation de mot de passe
POST/api/Auth/reset-passwordconsommer le token et définir le nouveau mot de passe
GET/api/Auth/accountlire le profil du compte courant
PUT/api/Auth/accountmodifier username/e-mail
PUT/api/Auth/account/passwordmodifier le mot de passe courant

Members — /api/Member

MethodRoutePermission
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

Consultez Membres et rôles pour les garde-fous contre l’auto-verrouillage et les règles de cycle de vie.

Roles — /api/Role

MethodRoutePermission
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

MethodRoutePermission
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

Métadonnées sémantiques — /api/DbSemantic

MethodRoutePermission
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

Ici, semantic signifie /runtime/db-management/semantic.

Runtime des clés MCP — /api/runtime

MethodRoutePermission
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-connectionl’une des permissions configurées MCP-key/DB create-edit
GET/api/runtime/client-configMCP keys view

L’endpoint client-config retourne l’endpoint MCP public configuré utilisé pour générer la configuration cliente.

Custom Tools — /api/CustomSqlTool

MethodRouteUsage
GET/api/CustomSqlToollister les outils
GET/api/CustomSqlTool/{id}lire un outil
POST/api/CustomSqlToolcréer un brouillon
PUT/api/CustomSqlTool/{id}modifier un brouillon
DELETE/api/CustomSqlTool/{id}supprimer l’outil
GET/api/CustomSqlTool/{id}/revisionslister les révisions
GET/api/CustomSqlTool/{id}/impactinspecter impact/dépendances
POST/api/CustomSqlTool/{id}/publishvalider et publier
POST/api/CustomSqlTool/{id}/disabledésactiver un outil publié
POST/api/CustomSqlTool/{id}/rollback/{revisionId}valider et revenir à une révision
POST/api/CustomSqlTool/test-executeexécution de test ; le chemin DML prévisualise sans commit

Ces routes utilisent /runtime/custom-tools avec view, create, edit ou delete selon l’opération.

Audit et Operability — /api/runtime

ZoneRoutes
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

Consultez Audit et Opérabilité pour les filtres, champs de réponse et permissions.

Security Policy — /api/runtime/security

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

État Credential

GET /api/Credential/status existe en 2.0.2 et retourne un simple état de fonctionnement de la Credential API. Le contrôleur lui-même ne possède pas d’attribut [Authorize]. Traitez-le comme un endpoint de statut étroit, pas comme une API authentifiée de gestion d’identifiants.

Erreurs et compatibilité

Les contrôleurs utilisent des codes HTTP ordinaires : 400 pour validation, 401/403 pour authentification/autorisation, 404 pour les ressources absentes, 409 pour les états conflictuels d’outil/rôle, 413 pour un export d’audit trop volumineux et 429 lorsque la pression sur les opérations SQL bornées l’exige.

Pour l’automatisation cliente, fixez la version 2.0.2 et validez le modèle de réponse réellement consommé. Cette page documente les routes et contrats importants sans prétendre que chaque modèle de vue Admin constitue un SDK externe versionné de façon permanente.