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.
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).