PlainMote

HTTP-API

Skripte rufen /api/v1 mit einem persönlichen Zugriffstoken auf, das wie bei plainmote login per Geräteautorisierung bezogen wird.

Token beziehen
  1. Code anfordern. scope ist read oder write; device ist der Name, der bei der Freigabe und unter Autorisierte Apps erscheint.

    $ curl -X POST -H 'Content-Type: application/json' \ -d '{"scope": "read", "device": "my-script"}' https://plainmote.link/api/v1/device/code
  2. Öffnen Sie https://plainmote.link/cli/device in einem angemeldeten Browser, geben Sie den user_code aus der Antwort ein und erlauben Sie.

  3. Fragen Sie alle interval Sekunden mit dem device_code ab. Bis zur Freigabe lautet die Antwort 400 authorization_pending, danach enthält sie access_token.

    $ curl -X POST -H 'Content-Type: application/json' \ -d '{"device_code": "…"}' https://plainmote.link/api/v1/device/token
  4. Senden Sie das Token im Authorization-Header. Tokens in der Adresse oder in Cookies werden nicht angenommen.

    $ curl -H "Authorization: Bearer $PLAINMOTE_TOKEN" https://plainmote.link/api/v1/resources
Endpunkte
AnfrageZugriffZweck
POST /api/v1/device/codeOhne TokenCode anfordern
POST /api/v1/device/tokenOhne TokenCode gegen ein Token tauschen
GET /api/v1/mereadDas verwendete Konto und Token
GET /api/v1/keyringreadDer Schlüsselbund des Kontos, für verschlüsselte Ressourcen
GET /api/v1/resourcesreadRessourcen auflisten; q filtert nach Namen, tag nach Tag
GET /api/v1/resources/{id}readDetails einer Ressource
GET /api/v1/resources/{id}/contentreadInhalt als Rohbytes lesen
PUT /api/v1/resources/{id}/contentwriteAls neue Version speichern; If-Match nennt die Ausgangsversion
POST /api/v1/resourceswriteRessource aus einer multipart-Datei content erstellen; tag-Felder versehen sie mit Tags
PATCH /api/v1/resources/{id}/tagswriteTags einer Ressource hinzufügen und entfernen
GET /api/v1/tagsreadDie Tags des Kontos mit ihrer Anzahl auflisten
POST /api/v1/quick-shareswriteSchnellfreigabe erstellen und Link zurückgeben
DELETE /api/v1/tokenreadVerwendetes Token widerrufen
Konventionen
FormatJSON, außer beim Lesen und Speichern von Inhalten, die Rohbytes sind. Zeiten sind RFC 3339 in UTC.
Fehler{"error": "<code>", "message": "…"}
TokensGültig 90 Tage ab der Anmeldung. Ein Nur-Lese-Token erhält von schreibenden Endpunkten 403.
Ratenlimit300 Anfragen pro Token und Minute; darüber 429 rate_limited.
Verschlüsselte InhalteWird als Geheimtext geliefert; der Client entschlüsselt ihn mit dem Master-Passwort.
Nicht verfügbarRessourcen löschen, Freigabelinks verwalten, Zugriffsverlauf lesen.

Die vollständige Referenz mit Anfrage- und Antwortformaten steht im Quellcode: docs/api.md