Vue d’ensemble

L’hébergement web utilise le quota WHM inclus dans votre forfait revendeur. Chaque compte cPanel créé consomme un slot — aucun débit wallet pour le compte lui-même. Si vous souhaitez en même temps enregistrer le domaine via KennHosting, passez "register_domain": true — dans ce cas, le wallet est débité pour le domaine uniquement. Scope requis : reseller:hosting

Provisionner un hébergement

POST /api/v1/reseller/clients/{client_id}/hosting
Corps de la requête :
ChampTypeRequisDescription
domainstringOuiDomaine principal du compte cPanel
register_domainbooleanNonEnregistrer le domaine via KennHosting (défaut : false)
whm_packagestringOuiNom du package WHM à appliquer (voir GET /api/v1/reseller/whm/packages)
send_welcome_emailbooleanNonEnvoyer l’email de bienvenue au client (défaut : true)
curl -X POST "https://kennhosting.com/api/v1/reseller/clients/1/hosting" \
  -H "Authorization: Bearer kh_live_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "jean-site.cm",
    "register_domain": true,
    "whm_package": "starter",
    "send_welcome_email": true
  }'
Réponse live (201) :
{
  "success": true,
  "data": {
    "sandbox": false,
    "client_id": 1,
    "domain": "jean-site.cm",
    "username": "jeansi12",
    "cpanel_url": "https://jean-site.cm:2083",
    "domain_registered": true,
    "amount_debited": 5000
  }
}
Réponse sandbox (201) :
{
  "success": true,
  "data": {
    "sandbox": true,
    "client_id": 1,
    "domain": "sandbox-site.cm",
    "username": "sb_3cffa8e3",
    "password": "sandbox_password_not_real",
    "whm_package": "starter",
    "domain_registered": false,
    "cpanel_url": "https://sandbox-site.cm:2083",
    "message": "Compte sandbox simulé — aucune ressource réelle créée."
  }
}

Suspendre un hébergement

POST /api/v1/reseller/clients/{client_id}/hosting/{cpanel_username}/suspend

Réactiver un hébergement

POST /api/v1/reseller/clients/{client_id}/hosting/{cpanel_username}/unsuspend

Supprimer un hébergement

DELETE /api/v1/reseller/clients/{client_id}/hosting/{cpanel_username}

Erreurs spécifiques

CodeDescription
whm_unavailableWHM non configuré ou hors-ligne
quota_exceededNombre maximum de comptes atteint sur votre plan WHM
domain_takenDomaine déjà utilisé sur un autre compte cPanel
En mode sandbox, aucune ressource réelle n’est créée. La réponse est une simulation avec des identifiants préfixés sb_. Le domaine n’est pas enregistré même si register_domain: true.