## Vue d'ensemble
L'API KennHosting vous permet d'automatiser la gestion de vos services d'hébergement, VPS, domaines et factures depuis n'importe quelle application.
**URL de base :**
```
https://kennhosting.com/api/v1
```
## Fonctionnalités disponibles
Lister, consulter et renouveler vos hébergements et VPS.
Vérifier la disponibilité, enregistrer des domaines, gérer les DNS.
Consulter et payer vos factures programmatiquement.
Recevez des événements en temps réel lors des changements d'état de vos services.
Construisez votre propre plateforme d'hébergement sous votre marque — clients, provision, wallet, webhooks et branding email white-label.
Tokens `kh_test_*` pour développer sans risque — simulations complètes, wallet sandbox rechargeable librement.
## Format des requêtes
L'API accepte et retourne du **JSON** pour toutes les requêtes.
```http
Content-Type: application/json
Accept: application/json
```
## Format des réponses
Toutes les réponses suivent cette structure :
```json
{
"success": true,
"data": [ ... ],
"meta": {
"total": 47,
"per_page": 20,
"current_page": 1
}
}
```
La clé `meta` n’est présente que pour les **listes paginées** (services, factures, tickets, etc.).
En cas d'erreur :
```json
{
"success": false,
"error": {
"code": "not_found",
"message": "Service not found."
}
}
```
Voir [Codes d'erreur](/api/erreurs) pour la liste des codes et le détail des réponses `validation_error` (champ `details`).
**URL complète :** toutes les routes documentées « `/v1/… » sont servies sous **`/api/v1/…`** (ex. `GET https://kennhosting.com/api/v1/services`).
## Versionnement
L'API actuelle est la **version 1** (`/v1`). Les changements incompatibles seront publiés sous une nouvelle version, avec une période de transition d'au moins **6 mois** avant la dépréciation de l'ancienne version.
Les changements compatibles (nouveaux champs, nouveaux endpoints) sont ajoutés sans changement de version.
## Limites de débit
| Plan | Requêtes / minute | Requêtes / jour |
|------|------------------|-----------------|
| Standard | 60 | 10 000 |
| Business | 300 | 50 000 |
| Enterprise | Sur demande | Sur demande |
En cas de dépassement, l'API retourne une erreur `429 Too Many Requests` avec l'en-tête `Retry-After` indiquant le délai avant la prochaine requête autorisée.
## SDK et bibliothèques
Les SDK officiels pour PHP, JavaScript/Node.js et Python sont en cours de développement. En attendant, vous pouvez utiliser directement l'API REST avec n'importe quel client HTTP.
**Exemple avec cURL :**
```bash
curl -X GET "https://kennhosting.com/api/v1/services" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
```
**Exemple avec JavaScript (fetch) :**
```javascript
const response = await fetch('https://kennhosting.com/api/v1/services', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json',
}
});
const { data } = await response.json();
```
**Exemple avec PHP (Guzzle) :**
```php
$client = new \GuzzleHttp\Client([
'base_uri' => 'https://kennhosting.com/api/v1/',
'headers' => [
'Authorization' => 'Bearer ' . env('KENNHOSTING_API_KEY'),
'Accept' => 'application/json',
],
]);
$response = $client->get('services');
$services = json_decode($response->getBody(), true)['data'];
```