Eine Version, und ein Protokoll jeder Änderung.
Die API hat eine Version, /v1. Änderungen erscheinen innerhalb davon, und das
Änderungsprotokoll hält jede fest, auch die, die einen Client brechen können.
Was die API heute tut
| Thema | Verhalten |
|---|---|
| URL-Version | Jede Operation wird unter /v1 ausgeliefert. Eine andere Version und ein /v2 gibt es nicht. |
Request-Header X-API-Version | Wird akzeptiert. Jeder nicht leere Wert kennzeichnet die Anfrage als Anfrage der öffentlichen API, was ihr den data-Umschlag gibt und bei GET /monitors die Cursor-Paginierung. Der Wert selbst wird nicht gelesen. |
api_version eines Schlüssels | Jeder Schlüssel speichert eine, standardmäßig 2026-05-07. GET /me gibt sie zurück. Am Verhalten ändert sich dadurch nichts. |
Header Deprecation und Sunset | Die API sendet keinen von beiden. |
curl -s https://app.upfour.io/v1/me \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "X-API-Version: 2026-05-07"Der Aufruf oben verhält sich genau wie einer ohne den Header, weil eine Anfrage mit API-Schlüssel das Verhalten der öffentlichen API ohnehin bekommt.
Wie dich Änderungen erreichen
Das Änderungsprotokoll kennzeichnet jede Änderung am Vertrag als breaking, added, changed, deprecated oder documented und hat einen Filter „Breaking only“. Es wird aus dem Verlauf der OpenAPI-Datei erzeugt. Behalte es im Blick, oder die OpenAPI-Datei selbst, für die Operationen, die du nutzt.
Beabsichtigt ist, dass eine Änderung, die Clients bricht, eine eigene Version bekommt, /v2, mit 12 Monaten Parallelbetrieb und den Headern
Deprecation und Sunset. Das ist eine Absicht, kein Verhalten, auf das du testen kannst:
Heute gibt es weder ein /v2 noch einen solchen Header, und das Änderungsprotokoll zeigt Breaking Changes, die innerhalb von
/v1 vorgenommen wurden. Richte dich nach dem Änderungsprotokoll, nicht nach einem Header.
Einen toleranten Client schreiben
- Ignoriere Felder der Antwort, die du nicht kennst; neue erscheinen als added.
- Verlass dich nicht auf die Reihenfolge der Schlüssel oder von
scopesinGET /me. - Verzweige nach
error.code, nicht nacherror.message. Siehe Antworten und Fehler. - Sichere die Operationen, die du nutzt, mit Tests ab. Ein geänderter nötiger Scope steht im Änderungsprotokoll als breaking.
Typische Fehler
X-API-Versionsenden, um ein altes Verhalten festzuhalten. Der Header hält nichts fest.- Die
api_versioneines Schlüssels ändern, um eine andere Antwort zu bekommen. Eine solche Wirkung gibt es nicht. - Auf einen
Sunset-Header warten, bevor du nach Entfernungen schaust. Lies das Änderungsprotokoll. - Gegen
/v2-Pfade bauen. Sie existieren nicht.
War diese Seite hilfreich?