Authentifizierung

Authentifiziere Anfragen an die Tapeto-REST-API mit einem API-Key oder einem Sitzungs-Bearer-Token.

Die Tapeto-REST-API (api.tapeto.dev, Basis-Pfad /api/v1) unterstützt zwei Authentifizierungsmethoden.

API-Keys (empfohlen für Integrationen)

Generiere einen Key in deinem Konto (Einstellungen → API-Keys → Erstellen). Ein Key sieht aus wie tk_live_ gefolgt von 40 hexadezimalen Zeichen.

curl https://api.tapeto.dev/api/v1/conversions \
  -H "x-api-key: tk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Keys werden nur einmal angezeigt

Der vollständige Key wird nur bei der Erstellung zurückgegeben. Tapeto speichert einen bcrypt-Hash, nicht den Key selbst — wenn du ihn verlierst, widerrufe ihn und erstelle einen neuen.

Verhalten der Keys:

  • Keys können ein optionales Ablaufdatum tragen (expires_at); abgelaufene Keys werden abgelehnt.
  • Jede Verwendung aktualisiert last_used_at, damit du ungenutzte oder veraltete Keys erkennen kannst.
  • Verwalte Keys mit:
    • GET /api/v1/auth/api-keys — listet deine Keys auf (nur Präfix und Metadaten, niemals den vollständigen Key)
    • POST /api/v1/auth/api-keys — erstellt einen Key ({ name, expires_at?, scopes? })
    • DELETE /api/v1/auth/api-keys/:id — widerruft einen Key

Bearer-Token (von der Web-App verwendet)

Die Tapeto-Web-App authentifiziert sich mit einem von InsForge ausgestellten JWT-Sitzungstoken, gesendet als Standard-Bearer-Token:

Authorization: Bearer <token>

Dies ist derselbe Mechanismus, den die Web-App selbst nach deiner Anmeldung verwendet — die meisten API-Integrationen sollten stattdessen einen API-Key verwenden, da dieser nicht bei einem Sitzungs-Timeout abläuft.

Rate-Limits

Anfragen sind pro Minute begrenzt, abhängig von deinem Plan:

PlanAnfragen / Minute
Free30
Starter60
Pro120
Agency200
Studio300

Wenn du das Limit erreichst, antwortet die API mit 429 und diesen Headern:

X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-Reset

Nächster Schritt

Fahre fort mit der Endpunkt-Referenz für die Konvertierungs- und Webhooks-API.