Ce que permet l’API
L’API KENJTEC donne à vos propres programmes l’accès à votre compte : lire les formulaires et leurs réponses, les boutiques et les commandes — et écrire : créer et publier des sites web, gérer les enregistrements DNS, rédiger des factures, téléverser des médias. S’y ajoutent les webhooks — nous contactons votre serveur dès qu’il se passe quelque chose. Et votre propre IA peut travailler via MCP avec la même clé.
L’adresse est https://api.kenjtec.com/v1. L’API est incluse dans chaque offre payante, sans supplément.

Créer une clé
Chaque programme se connecte avec sa propre clé d’API. Une clé porte des droits : forms:read lit les formulaires et les réponses, orders:read lit les boutiques et les commandes, webhooks:manage crée et supprime des webhooks. Les points d’accès en écriture ont leurs propres droits pour chaque domaine. Donnez à chaque programme sa propre clé — ainsi, vous pouvez en révoquer une sans perturber les autres.
- Ouvrez le tableau de bord et choisissez la section Développeur sous « Réglages ».
- Sous « Clés d’API », donnez un nom à la clé, par exemple « Synchronisation du stock ».
- Sous « Que peut faire cette clé ? », choisissez uniquement les droits dont le programme a besoin.
- Cliquez sur « Créer une clé » et copiez immédiatement la clé.
La clé n’est affichée qu’une seule fois. Nous ne conservons qu’une somme de contrôle — si vous la perdez, révoquez-la avec « Révoquer » et créez-en une nouvelle.
Le premier appel
Envoyez la clé dans chaque requête, dans l’en-tête Authorization. /v1/me vous indique à quel compte appartient la clé et quels droits elle porte.
curl https://api.kenjtec.com/v1/me \
-H "Authorization: Bearer kt_api_…"{
"id": 1042,
"object": "account",
"email": "ana@deine-firma.com",
"handle": "cafe-lumen",
"address": "https://cafe-lumen.kenjtec.ai",
"key": { "name": "Lager-Abgleich", "scopes": ["orders:read"] }
}Les points d’accès
Voici les points d’accès disponibles. La description complète et lisible par machine se trouve à l’adresse https://api.kenjtec.com/openapi.json — elle permet de générer des bibliothèques clientes pour n’importe quel langage de programmation.
GET /v1/me
GET /v1/forms
GET /v1/forms/{id}
GET /v1/forms/{id}/responses
GET /v1/forms/{id}/responses/{id}
GET /v1/shops
GET /v1/orders ?shop_id= &status= &payment_status=
GET /v1/orders/{id}
GET /v1/webhooks
POST /v1/webhooks
DELETE /v1/webhooks/{id}
GET /v1/sites
GET /v1/sites/{id}
POST /v1/sites
POST /v1/sites/{id}/edit
POST /v1/sites/{id}/publish
POST /v1/sites/{id}/unpublish
GET /v1/domains
GET /v1/domains/{id}/dns_records
POST /v1/domains/{id}/dns_records
PATCH /v1/domains/{id}/dns_records/{id}
DELETE /v1/domains/{id}/dns_records/{id}
GET /v1/customers
POST /v1/customers
GET /v1/invoices ?kind=invoice|quote
GET /v1/invoices/{id}
POST /v1/invoices
POST /v1/invoices/{id}/issue
POST /v1/invoices/{id}/cancel
GET /v1/media
POST /v1/media/uploads
POST /v1/media/{id}/confirm
GET /v1/brands
GET /v1/brands/{id}Les fichiers des réponses aux formulaires apparaissent avec leur nom, pas avec une adresse. Vous pouvez les télécharger dans FormBuilder.
Listes, montants, horaires
Les listes commencent par les entrées les plus récentes, avec au maximum 100 entrées par appel (limit, par défaut 25). Pour la page suivante, envoyez l’identifiant de la dernière entrée comme starting_after ; has_more indique s’il en reste encore.
Les montants sont des nombres entiers dans la plus petite unité de la devise — les centimes pour l’euro, les yens entiers pour le yen. Les horaires sont en UTC selon la norme ISO 8601.
curl "https://api.kenjtec.com/v1/orders?payment_status=paid&limit=50" \
-H "Authorization: Bearer kt_api_…"Erreurs et limites
Chaque erreur a la même forme : un objet error avec type et message. 401 signifie : la clé est absente, incorrecte ou révoquée. 403 signifie : il manque un droit à la clé — ou le compte n’a plus d’offre payante (type plan_required). 404 signifie : cela n’existe pas, ou n’appartient pas à votre compte.
Chaque clé peut effectuer 120 requêtes par minute. Au-delà, l’API répond avec 429 et indique dans Retry-After le nombre de secondes avant la prochaine tentative.
{
"error": {
"type": "permission_error",
"message": "This API key lacks the scope 'orders:read'."
}
}L’API accepte exclusivement des clés, jamais votre connexion dans le navigateur. Une clé a sa place sur votre serveur — jamais dans un site web ou une application que d’autres téléchargent.