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.

  • GET /api/v1/server öffentlich

    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 öffentlich

    Konto anlegen: Konto-ID, öffentlicher Schlüssel, verpackter Master-Key, ggf. Einladungscode.

  • POST /api/v1/auth/challenge öffentlich

    Einmalige Challenge holen, 2 Minuten gültig. Auch für unbekannte Konten.

  • POST /api/v1/auth/session öffentlich

    Signierte Challenge gegen ein Bearer-Token tauschen.

  • DELETE /api/v1/auth/session angemeldet

    Dieses Gerät abmelden.

  • GET /api/v1/account angemeldet

    Verpackter Master-Key, Speicherverbrauch und Kontingent.

  • PUT /api/v1/account/key angemeldet + frische Signatur

    Master-Key neu verpackt speichern, wenn der Notfallschlüssel gewechselt wird.

  • POST /api/v1/account/delete angemeldet + frische Signatur

    Konto mit allen Dokumenten endgültig löschen.

  • GET /api/v1/account/sessions angemeldet

    Angemeldete Geräte.

  • DELETE /api/v1/account/sessions/{id} angemeldet

    Ein 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}/blob angemeldet

    Verschlüsselte Datei hochladen. Header X-Ordo-Blob-SHA256 wird geprüft.

  • GET /api/v1/items/{id}/blob angemeldet

    Verschlüsselte Datei laden.

  • PUT /api/v1/items/{id} angemeldet

    Metadaten speichern, mit baseRevision gegen gleichzeitige Änderungen (409).

  • DELETE /api/v1/items/{id} angemeldet

    Dokument löschen.

Betrieb

Für Monitoring und Werkzeuge.