Ces endpoints (`/api/v1/reseller/accounts`) sont l’ancienne interface WHM. Préférez `/api/v1/reseller/whm/accounts` et les scopes dédiés (`reseller:hosting`). Toutes les routes sont sous **`/api/v1`** et nécessitent un utilisateur disposant d’un **service revendeur actif** (plan catégorie `reseller`). ## Lister les sous-comptes ```http GET /api/v1/reseller/accounts Authorization: Bearer kh_live_xxxx ``` ### Réponse Tableau d’objets au format renvoyé par WHM (normalisé côté application) : ```json { "success": true, "data": [ { "username": "clientsite", "domain": "clientsite.com", "plan": "default", "disk_used_mb": 1240, "disk_limit_mb": 10240, "suspended": false, "email": "admin@clientsite.com" } ] } ``` **Permission :** `reseller:read` --- ## Détail d’un sous-compte ```http GET /api/v1/reseller/accounts/{username} ``` Recherche le compte dans la liste WHM du revendeur ; **`404`** si le compte n’existe pas sous ce propriétaire. **Permission :** `reseller:read` --- ## Créer un sous-compte ```http POST /api/v1/reseller/accounts Content-Type: application/json ``` ```json { "domain": "clientsite.com", "username": "clientsite", "password": "Str0ngP@ssw0rd!", "email": "admin@clientsite.com", "plan": "nom_package_whm" } ``` | Champ | Requis | Description | |-------|--------|-------------| | `domain` | Oui | Domaine principal | | `plan` | Oui | Nom du package WHM | | `email` | Oui | Email du compte | | `username` | Non | Généré à partir du domaine si omis | | `password` | Non | Généré si omis (retourné **une seule fois** dans la réponse) | **Permission :** `reseller:write` --- ## Suspendre / réactiver / supprimer ```http POST /api/v1/reseller/accounts/{username}/suspend POST /api/v1/reseller/accounts/{username}/unsuspend DELETE /api/v1/reseller/accounts/{username} ``` **Permission :** `reseller:write` Le corps de `suspend` peut inclure `reason` (texte, optionnel). --- ## Erreurs fréquentes | Code JSON | HTTP | Signification | |------------|------|----------------| | `no_reseller_service` | 422 | Aucun service revendeur actif | | `whm_unavailable` | 503 | WHM non configuré | | `whm_error` | 422 / 503 | Erreur renvoyée par WHM | | `not_found` | 404 | Compte absent de la liste du revendeur | ## Permissions | Action | Scope | |--------|--------| | Liste, détail | `reseller:read` | | Création, suspend, unsuspend, suppression | `reseller:write` | Il n’existe pas d’endpoint `PATCH` pour modifier librement un compte WHM : seules les opérations ci-dessus sont exposées.