HTTP-API v1 — Orientierung für Drittentwickler
Kanonische Referenz auf dem Core-Host (relativ): /docs/http-api-v1 ·
Produkt-URL: https://apinterface.com/docs/http-api-v1
Grundlagen
- Alle Endpunkte liegen unter dem Präfix
/api/v1; Antworten sind JSON (Ausnahmen: leere204). - Maschinenlesbare Übersicht:
GET /api/v1/openapi.json(OpenAPI 3.0, Kernpfade; dynamische Modul-Routen siehe unten). - Öffentlich ohne Login: u. a.
GET /api/v1/health,GET /api/v1/meta/scopes,GET /api/v1/meta/build,GET /api/v1/openapi.json. - Header
X-Request-Idauf jeder Antwort; bei HTTP-Fehlern (≥400) zusätzlich FeldrequestIdim JSON-Body. - Rate-Limit pro IP (Standard siehe Core-Env
APINTERFACE_API_V1_RPM);OPTIONS(CORS-Preflight) zählt nicht.
Authentifizierung
Personal Access Token (PAT)
- Header:
Authorization: Bearer <apif_…>. Token ist an Nutzer + Firma gebunden. - Erzeugung durch Firmen-Superuser in der Web-UI:
/settings/api-tokens(nach Login, aktive Firma). - Bekannte Scopes:
GET /api/v1/meta/scopes— u. a.api.self.read,api.tokens.read,api.tokens.manage,api.audit.read,api.modules.invoke.
Session (Browser oder Skript mit Cookie)
- Mutierende Aufrufe an
/api/v1/account/tokenserfordernX-CSRF-Token(Wert wie in der Session / auf der PAT-Einstellungsseite angezeigt) plus Firmen-Superuser. - Alternative für Automation: PAT mit
api.tokens.manage(ohne CSRF).
CORS (Browser-Clients)
- Wenn der Core die Umgebungsvariable
API_CORS_ORIGINSsetzt (kommagetrennte, exakte Origins), antwortet/api/v1mit passenden CORS-Headern inkl.Access-Control-Allow-Credentials: trueundAccess-Control-Expose-Headers: X-Request-Id.
Module: eigene HTTP-Routen (opt-in)
- Datei im Modul-Release:
src/api/registerApiV1.js, ExportregisterApiV1(router, { moduleKey, releaseDir, requireApiScope }). - Mount durch den Core:
/api/v1/modules/<manifest-id>/…(Manifest-Feldidaussrc/index.js/ Manifest). - Der aufrufende Client muss ein PAT mit Scope
api.modules.invokeverwenden; die Firma des Tokens muss das Modul wie in der Web-UI aktiv haben (Apps / Mandant). - Im Paket-Manifest (Schema
/schema/module.manifest.json):"httpApiV1": truekennzeichnet die API-Fähigkeit; optionalapiV1Modulemit Kurztext und Link zu eurer Modul-API-Doku.
Weitere Ressourcen
- Architektur & Mandanten: /docs/modulentwicklung
- Cursor/Meta-Regel (Kurzfassung): Repository-Datei
.cursor/rules/apinterface-http-api.mdc - Core-Repo:
.github/copilot-instructions.md(Abschnitt HTTP-API)