Skip to content

Fehler, Statuscodes und Limits

Gilt ab Work7 0.2.0 · Stand 12.09.2026

Fehlerformat

Alle Fehler der Public API haben dieselbe Form:

json
{
  "error": "insufficient_scope",
  "message": "Scope rapport:read fehlt.",
  "details": { "required": "rapport:read", "scopes": ["core:read"] }
}
HTTPerrorBedeutungWas tun
400validation_errorPflichtfeld fehlt oder Wert ungültigmessage lesen, Eingabe korrigieren
401unauthorizedSchlüssel fehlt, ungültig oder widerrufenHeader prüfen, ggf. neuen Schlüssel anlegen
403insufficient_scopeSchlüssel hat den Scope nichtScope beim Anlegen des Schlüssels ergänzen
403module_disabledBereich für den Betrieb nicht freigeschaltetBetrieb muss das Modul buchen; Daten bleiben erhalten
404NOT_FOUNDDatensatz existiert nicht oder gehört einem anderen BetriebID prüfen
409CONFLICTZustandskonflikt, zum Beispiel Statuswechsel nicht erlaubtdetails.code auswerten
429rate_limitedZu viele AnfragenRetry-After (Sekunden) abwarten
500INTERNAL_ERRORUnerwarteter Fehlererneut versuchen, bei Wiederholung melden

Fehler aus der Geschäftslogik (Validierung, Konflikte, nicht gefunden) nutzen dieselben Codes wie die Web-App und tragen zusätzlich code und timestamp.

Rate-Limit

600 Anfragen pro Minute je Schlüssel. Bei Überschreitung antwortet die API mit 429 und dem Header Retry-After. Für Massenabgleiche: Listen mit limit=200 holen, statt Einzelobjekte in Schleifen zu laden.

Pagination

Listen liefern data und pagination:

json
{
  "data": [ { "id": 1 } ],
  "pagination": { "limit": 50, "offset": 0, "total": 137, "hasMore": true }
}
  • limit maximal 200, Standard 50.
  • Nächste Seite: offset = offset + limit, solange hasMore wahr ist.
  • /time-entries verwendet page und pageSize (maximal 100) und liefert pageInfo im data-Objekt.

Datumsformate

  • Zeitstempel: ISO 8601 mit Zeitzone, zum Beispiel 2026-09-12T10:00:00+02:00.
  • Tagesdaten (from, to, Termine): YYYY-MM-DD, interpretiert in Europe/Vienna.

Versionierung

Der Pfad trägt die Hauptversion (/api/v1). Innerhalb von v1 kommen Felder und Endpunkte hinzu, bestehende Felder werden nicht entfernt oder umbenannt. Änderungen stehen im technischen Changelog.

Support

Fragen zur Integration: office@work7.net. Bitte Betrieb, Schlüssel-Prefix (w7_live_<prefix>_…) und den Wert des Antwort-Headers x-request-id mitschicken, nie den vollständigen Schlüssel.

Work7 · Software für Handwerksbetriebe · Doku-Stand Version 0.2.1 (Build fb6311f-dirty)