Ordo-Protokoll v1
API
Die Mac-App spricht JSON über HTTPS mit diesem Server. Alles, was hier gespeichert wird, ist auf dem Gerät
verschlüsselt. Angemeldete Anfragen tragen Authorization: Bearer ordo_….
Server
Was dieser Server ist und ob er zur App passt.
-
Name, Version, Protokoll, Registrierung, Kontingent und, falls freigegeben, Statistiken.
Konto und Anmeldung
Anmelden ohne Passwort: Der Server schickt eine Challenge, das Gerät signiert sie mit Ed25519.
- POST
/api/v1/accountsöffentlichKonto anlegen: Konto-ID, öffentlicher Schlüssel, verpackter Master-Key, ggf. Einladungscode.
- POST
/api/v1/auth/challengeöffentlichEinmalige Challenge holen, 2 Minuten gültig. Auch für unbekannte Konten.
- POST
/api/v1/auth/sessionöffentlichSignierte Challenge gegen ein Bearer-Token tauschen.
- DELETE
/api/v1/auth/sessionangemeldetDieses Gerät abmelden.
- GET
/api/v1/accountangemeldetVerpackter Master-Key, Speicherverbrauch und Kontingent.
- PUT
/api/v1/account/keyangemeldet + frische SignaturMaster-Key neu verpackt speichern, wenn der Notfallschlüssel gewechselt wird.
- POST
/api/v1/account/deleteangemeldet + frische SignaturKonto mit allen Dokumenten endgültig löschen.
- GET
/api/v1/account/sessionsangemeldetAngemeldete Geräte.
- DELETE
/api/v1/account/sessions/{id}angemeldetEin Gerät abmelden.
Ordo-Konto
Auf Servern mit Ordo-Konten (ORDO_ACCOUNTS): Die App meldet sich über /connect im Browser an und bekommt ein Geräte-Token für den Header X-Ordo-User.
- POST
/api/v1/connect/tokenöffentlichDen einmaligen Code von /connect mit dem PKCE-Verifier gegen ein Geräte-Token tauschen.
- GET
/api/v1/meOrdo-KontoE-Mail, Name, verknüpfter Tresor und verbundene Apps.
- POST
/api/v1/pairingOrdo-KontoNeues Gerät koppeln: X25519-Schlüssel hinterlegen, 10 Minuten gültig.
- GET
/api/v1/pairingOrdo-KontoGeräte, die auf Freigabe warten.
- GET
/api/v1/pairing/{id}Ordo-KontoStand der Kopplung; nach Freigabe einmalig mit dem verschlüsselten Notfallschlüssel.
- PUT
/api/v1/pairing/{id}Ordo-KontoFreigeben: Notfallschlüssel, verschlüsselt an das neue Gerät.
- DELETE
/api/v1/pairing/{id}Ordo-KontoKopplung abbrechen oder ablehnen.
- GET
/api/v1/employerOrdo-KontoFirmen, die diesem Konto Abrechnungen schicken.
- GET
/api/v1/employer/invite?token={token}öffentlichWelche Firma einlädt, vor dem Annehmen.
- POST
/api/v1/employer/joinöffentlichEinladung annehmen, mit dem X25519-Postfach-Schlüssel; gibt das Postfach-Token. Mit X-Ordo-User gilt das Business der Firma für das Konto.
- DELETE
/api/v1/employer/{id}PostfachVerbindung zu einer Firma beenden.
- GET
/api/v1/inboxPostfachWartende Abrechnungen, verschlüsselt an den Postfach-Schlüssel (Header X-Ordo-Inbox).
- GET
/api/v1/inbox/{id}PostfachEine verschlüsselte Abrechnung laden.
- DELETE
/api/v1/inbox/{id}PostfachAbrechnung entfernen, nachdem die App sie im Tresor abgelegt hat.
Dokumente
Jedes Dokument ist eine verschlüsselte Datei plus verschlüsselte Metadaten. Der Server sieht nur Chiffretext.
- GET
/api/v1/items?since={cursor}angemeldetÄnderungen seit einer Revision, seitenweise. Gelöschte kommen als Grabstein.
- PUT
/api/v1/items/{id}/blobangemeldetVerschlüsselte Datei hochladen. Header X-Ordo-Blob-SHA256 wird geprüft.
- GET
/api/v1/items/{id}/blobangemeldetVerschlüsselte Datei laden.
- PUT
/api/v1/items/{id}angemeldetMetadaten speichern, mit baseRevision gegen gleichzeitige Änderungen (409).
- DELETE
/api/v1/items/{id}angemeldetDokument löschen.
Betrieb
Für Monitoring und Werkzeuge.
-
Lebenszeichen als JSON.
-
Maschinenlesbare Beschreibung (OpenAPI 3).