Documentation API
NexaLab expose deux capacités publiques : lancer un audit web automatisé gratuit et transmettre une demande de contact. Aucune authentification n'est requise. Ces endpoints sont utilisables par un humain comme par un agent IA.
En bref
- Base URL :
https://nexa-lab.ch - Spécification machine : OpenAPI 3.1 (
/openapi.json) - Catalogue d'API :
/.well-known/api-catalog(RFC 9727) - État du service :
/api/status - Authentification : aucune
- Format : JSON en entrée et en sortie (
Content-Type: application/json) - Limites : 10 requêtes par adresse IP et 5 par e-mail sur 24 heures
- Hébergement des données : Suisse et Union européenne, conforme nLPD et RGPD
Audit web gratuit
POST /api/audit
Démarre un audit automatisé du site indiqué. Le traitement est asynchrone : la réponse renvoie immédiatement un token, le rapport arrive par e-mail en quelques minutes et reste consultable sur /audit/r/{token}.
Champs requis : url, prenom, email, consent (qui doit valoir exactement true — consentement nLPD/RGPD explicite).
Champs optionnels : entreprise, secteur, socials, competitor.
curl -X POST https://nexa-lab.ch/api/audit \
-H "Content-Type: application/json" \
-d '{
"url": "https://exemple-pme.ch",
"prenom": "Camille",
"email": "camille@exemple-pme.ch",
"entreprise": "Exemple PME SA",
"secteur": "Fiduciaire",
"consent": true
}'
Réponse 200 :
{
"ok": true,
"message": "Votre audit est lancé. Vous recevrez le rapport par e-mail dans quelques minutes.",
"token": "9f2c1ab74e5d0836bb41c7e29da5f0631c8ee47a25b9d0f3"
}
Les cibles internes sont refusées : localhost, plages IP privées, adresses IPv6 littérales,
domaines en .local et .internal.
GET /audit/r/{token}
Affiche le rapport d'audit en HTML, ou une page d'attente si le traitement est encore en cours. Le token fait 48 caractères hexadécimaux. La page est servie en noindex : elle n'est pas destinée à être partagée publiquement.
Contact
POST /api/contact
Transmet une demande commerciale. Réponse humaine sous 24 heures ouvrées.
Champs requis : prenom, email, message (10 caractères minimum, 4000 maximum).
Champs optionnels : nom, entreprise, site.
curl -X POST https://nexa-lab.ch/api/contact \
-H "Content-Type: application/json" \
-d '{
"prenom": "Camille",
"email": "camille@exemple-pme.ch",
"entreprise": "Exemple PME SA",
"message": "Nous cherchons à automatiser la relance de nos factures impayées."
}'
Réponse 200 :
{ "ok": true, "message": "Votre message a bien été envoyé. On vous répond sous 24h." }
Codes d'erreur
400— validation échouée. Les messages sont en français et concaténés par,. Exemple :{"error": "email invalide, consentement RGPD requis"}405— méthode HTTP non supportée.429— limite de débit atteinte : réessayez dans 24 heures ou écrivez à contact@nexa-lab.ch.500— erreur interne.
Pour les agents IA
NexaLab publie plusieurs points d'entrée destinés aux agents autonomes :
/llms.txt— résumé structuré de l'agence, des services, des tarifs et des délais./.well-known/agent-skills/index.json— index de compétences Agent Skills installables./.well-known/ai-catalog.json— catalogue Agentic Resource Discovery.- Chaque page du site répond en Markdown si la requête porte l'en-tête
Accept: text/markdown.
Conditions d'usage
Ces endpoints sont fournis pour permettre à une PME — ou à l'agent qui la représente — d'obtenir un audit et d'entrer en contact. Toute utilisation automatisée doit respecter les limites de débit, n'auditer que des sites dont l'utilisateur a le droit de demander l'analyse, et n'envoyer que des demandes de contact légitimes. Voir les mentions légales et la politique de confidentialité.