Was die API kann
Die KENJTEC API gibt deinen eigenen Programmen Zugriff auf dein Konto: Formulare und ihre Antworten, Shops und Bestellungen lesen — und schreiben: Websites bauen und veröffentlichen, DNS-Einträge pflegen, Rechnungen schreiben, Medien hochladen. Dazu kommen Webhooks — wir melden uns bei deinem Server, sobald etwas passiert. Und deine eigene KI kann über MCP mit demselben Schlüssel arbeiten.
Die Adresse ist https://api.kenjtec.com/v1. Die API ist in jedem bezahlten Paket enthalten, ohne Aufpreis.

Einen Schlüssel anlegen
Jedes Programm meldet sich mit einem eigenen API-Schlüssel an. Ein Schlüssel trägt Rechte: forms:read liest Formulare und Antworten, orders:read liest Shops und Bestellungen, webhooks:manage legt Webhooks an und löscht sie. Für die schreibenden Wege gibt es eigene Rechte je Bereich. Gib jedem Programm einen eigenen Schlüssel — dann widerrufst du einen, ohne die anderen zu stören.
- Öffne das Dashboard und wähle unter „Einstellungen“ den Bereich Entwickler.
- Gib dem Schlüssel unter „API-Schlüssel“ einen Namen, zum Beispiel „Lager-Abgleich“.
- Wähle unter „Was darf dieser Schlüssel?“ nur die Rechte, die das Programm braucht.
- Klicke auf „Schlüssel anlegen“ und kopiere den Schlüssel sofort.
Der Schlüssel wird genau einmal angezeigt. Wir speichern nur eine Prüfsumme — geht er verloren, widerrufst du ihn mit „Widerrufen“ und legst einen neuen an.
Der erste Aufruf
Schick den Schlüssel in jeder Anfrage in der Kopfzeile Authorization mit. /v1/me sagt dir, zu welchem Konto der Schlüssel gehört und welche Rechte er trägt.
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"] }
}Die Wege
Diese Wege gibt es. Die vollständige, maschinenlesbare Beschreibung steht unter https://api.kenjtec.com/openapi.json — daraus lassen sich Programmbibliotheken für jede Programmiersprache erzeugen.
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}Dateien aus Formular-Antworten erscheinen mit ihrem Namen, nicht mit einer Adresse. Herunterladen kannst du sie im FormBuilder.
Listen, Beträge, Zeiten
Listen kommen neueste zuerst, höchstens 100 Einträge je Aufruf (limit, Vorgabe 25). Für die nächste Seite schickst du die Kennung des letzten Eintrags als starting_after mit; has_more sagt, ob noch etwas kommt.
Beträge sind ganze Zahlen in der kleinsten Einheit der Währung — Cent beim Euro, ganze Yen beim Yen. Zeiten stehen in UTC nach ISO 8601.
curl "https://api.kenjtec.com/v1/orders?payment_status=paid&limit=50" \
-H "Authorization: Bearer kt_api_…"Fehler und Grenzen
Jeder Fehler hat dieselbe Form: ein Objekt error mit type und message. 401 heißt: Der Schlüssel fehlt, ist falsch oder widerrufen. 403 heißt: Dem Schlüssel fehlt ein Recht — oder das Konto hat kein bezahltes Paket mehr (type plan_required). 404 heißt: Das gibt es nicht, oder es gehört nicht zu deinem Konto.
Je Schlüssel gehen 120 Anfragen in der Minute. Darüber antwortet die API mit 429 und nennt in Retry-After die Sekunden bis zum nächsten Versuch.
{
"error": {
"type": "permission_error",
"message": "This API key lacks the scope 'orders:read'."
}
}Die API nimmt ausschließlich Schlüssel an, nie deine Anmeldung im Browser. Ein Schlüssel gehört auf deinen Server — nie in eine Website oder eine App, die andere herunterladen.