HTTP-API
Skripte rufen /api/v1 mit einem persönlichen Zugriffstoken auf, das wie bei plainmote login per Geräteautorisierung bezogen wird.
Token beziehen
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Öffnen Sie https://plainmote.link/cli/device in einem angemeldeten Browser, geben Sie den user_code aus der Antwort ein und erlauben Sie.
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/tokenSenden 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
| Anfrage | Zugriff | Zweck |
|---|---|---|
| POST /api/v1/device/code | Ohne Token | Code anfordern |
| POST /api/v1/device/token | Ohne Token | Code gegen ein Token tauschen |
| GET /api/v1/me | read | Das verwendete Konto und Token |
| GET /api/v1/keyring | read | Der Schlüsselbund des Kontos, für verschlüsselte Ressourcen |
| GET /api/v1/resources | read | Ressourcen auflisten; q filtert nach Namen, tag nach Tag |
| GET /api/v1/resources/{id} | read | Details einer Ressource |
| GET /api/v1/resources/{id}/content | read | Inhalt als Rohbytes lesen |
| PUT /api/v1/resources/{id}/content | write | Als neue Version speichern; If-Match nennt die Ausgangsversion |
| POST /api/v1/resources | write | Ressource aus einer multipart-Datei content erstellen; tag-Felder versehen sie mit Tags |
| PATCH /api/v1/resources/{id}/tags | write | Tags einer Ressource hinzufügen und entfernen |
| GET /api/v1/tags | read | Die Tags des Kontos mit ihrer Anzahl auflisten |
| POST /api/v1/quick-shares | write | Schnellfreigabe erstellen und Link zurückgeben |
| DELETE /api/v1/token | read | Verwendetes 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