API-Schlüssel, Test- und Live-Modus und die vollständige Isolation der Sandbox — wie du sicher gegen Fortlauf entwickelst, bevor du live gehst.

Jeder API-Aufruf authentifiziert sich mit einem API-Schlüssel als Bearer-Token. Der Schlüssel bestimmt Mandant, Entität und Modus — du schickst sonst nichts mit.

Schlüssel und Header

Schlüssel stellst du im Kontobereich aus (die Schlüsselverwaltung selbst nimmt keine API-Schlüssel an). Der volle Schlüssel wird genau einmal angezeigt und ist danach nicht mehr abrufbar — gespeichert wird nur sein Hash. Verloren? Rotieren, nicht suchen.

Authorization-Header
curl -sS "https://api.fortlauf.de/v1/customers" \
  -H "Authorization: Bearer $FORTLAUF_API_KEY"

Fehlt der Header oder ist der Schlüssel widerrufen/suspendiert, antwortet die API mit 401.

Test- und Live-Modus

Der Modus steckt fest im Schlüssel — am Präfix erkennbar und nach dem Ausstellen unveränderlich:

  • sk_test_… — Test-/Sandbox-Modus. Ideal für die Integration.
  • sk_live_… — Live-Modus. Echte, rechtsverbindliche Dokumente.

Test- und Live-Daten sind vollständig isoliert: ein Test-Aufruf sieht nie Live-Daten und umgekehrt. So baust du den kompletten Ablauf aus dem Quickstart gefahrlos nach, bevor du einen Live-Schlüssel einsetzt. Willst du dieselben Beispiele gegen eine andere Umgebung richten, setzt du nur den einen Basis-URL-Token (FORTLAUF_API_BASE) um — eine Zeile, kein Suchen-und-Ersetzen.

Idempotenz

Schreibende Aufrufe (Kunde anlegen, Rechnung erstellen, Schlüssel ausstellen) akzeptieren einen optionalen Idempotency-Key-Header. Ein wiederholter Aufruf mit demselben Key spielt die aufgezeichnete Antwort erneut ab, statt ein Duplikat zu erzeugen — sicher bei Netz-Timeouts und Retries.

Idempotency-Key
curl -sS -X POST "https://api.fortlauf.de/v1/customers" \
  -H "Authorization: Bearer $FORTLAUF_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: setup-kunde-1" \
  -d '{ "name": "Achsfeld Transporte GmbH", "city": "Bergkamen", "countryCode": "DE" }'