Base URL : **`/api/v1`**. ## Requête ```http GET /v1/domains/check?domain=mondomaine.com Authorization: Bearer kh_live_xxxx ``` ### Paramètres de query | Paramètre | Type | Requis | Description | |-----------|------|--------|-------------| | `domain` | string | Oui | Nom de domaine complet (FQDN), en minuscules de préférence | Aucun autre paramètre de query n’est requis : lorsque le domaine est **indisponible** et que la cause n’est pas un conflit local, l’API calcule et renvoie automatiquement des **suggestions** formatées côté serveur. ## Réponse — Domaine disponible ```json { "success": true, "data": { "available": true, "domain": "mondomaine.com", "message": "…", "source": "registrar", "reason_code": null, "quote": { "years": 1, "premium": false, "amount_xaf": 15000, "amount_eur": 22.87, "currency": "XAF" } } } ``` L’objet `quote` n’est présent que si le devis registrar a pu être calculé avec succès. ## Réponse — Domaine indisponible (exemple) ```json { "success": true, "data": { "available": false, "domain": "busy.com", "message": "Ce domaine est déjà pris.", "source": "registrar", "reason_code": "external_taken", "suggestions": [ { "domain": "busy.net", "premium": false, "amount_xaf": 12000, "amount_eur": 18.29 } ] } } ``` Si `reason_code` vaut `local_conflict`, le tableau `suggestions` est vide. ## Timeout registrar ```json { "success": true, "data": { "available": false, "domain": "example.com", "message": "…", "source": "fallback", "reason_code": "timeout", "timeout": true } } ``` ## Vérification en lot ```http POST /v1/domains/check-bulk Content-Type: application/json ``` ```json { "domains": ["monsite.com", "monsite.net"] } ``` **Réponse :** tableau d’objets `{ "domain": "…", "available": true|false }` (ordre aligné sur la requête). La vérification en lot est limitée à **20 domaines** par requête. Cet endpoint fonctionne aussi avec les tokens sandbox (`kh_test_`). ## Permissions requises `domains:read`