## Types de tokens
L'API Revendeurs utilise deux types de tokens Sanctum, différenciés par leur **préfixe** :
| Préfixe | Mode | Comportement |
|---------|------|-------------|
| `kh_live_` | **Production** | Opérations réelles — wallet live débité, ressources créées |
| `kh_test_` | **Sandbox** | Simulations — aucune ressource réelle créée, wallet sandbox débité |
Ne jamais exposer vos tokens dans du code frontend ou un dépôt Git. Régénérez immédiatement un token compromis depuis votre [espace revendeur](https://kennhosting.com/reseller/api).
## Utilisation
Passez le token dans l'en-tête `Authorization` :
```http
Authorization: Bearer kh_live_1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```
```bash
curl -X GET "https://kennhosting.com/api/v1/reseller/catalog" \
-H "Authorization: Bearer kh_live_YOUR_TOKEN" \
-H "Accept: application/json"
```
## Création de tokens
Les tokens se créent depuis votre **espace client → Développeur** (`/client/developer`). Vous sélectionnez les scopes nécessaires lors de la création.
## Scopes disponibles
| Scope | Accès |
|-------|-------|
| `reseller:catalog` | Lire le catalogue KennHosting |
| `reseller:plans` | CRUD plans personnalisés |
| `reseller:clients` | CRUD clients revendeur |
| `reseller:hosting` | Provision et gestion hébergements cPanel |
| `reseller:domains` | Enregistrement et gestion domaines |
| `reseller:vps` | Provision et gestion VPS |
| `reseller:email` | Provision et gestion Email Pro |
| `reseller:wallet` | Consulter wallet et transactions, recharger |
| `reseller:webhooks` | Configurer les webhooks |
| `support:write` | Ouvrir et répondre aux tickets B2B |
Créez des tokens avec le **minimum de scopes nécessaires** pour votre intégration. Un token de lecture seule ne peut pas débiter votre wallet.
## Réponses d'erreur d'authentification
```json
// Token absent ou invalide → 401
{
"success": false,
"error": {
"code": "unauthenticated",
"message": "Unauthenticated."
}
}
// Scope manquant → 403
{
"success": false,
"error": {
"code": "forbidden",
"message": "Missing scope: reseller:clients"
}
}
```
## Limites de débit
60 requêtes par minute par token. En cas de dépassement : `429 Too Many Requests` avec l'en-tête `Retry-After`.