API HTTP
Les scripts appellent /api/v1 avec un jeton d’accès personnel, obtenu par autorisation d’appareil comme le fait plainmote login.
Demandez un code. scope vaut read ou write ; device est le nom affiché lors de l’approbation et dans Applications autorisées.
$ curl -X POST -H 'Content-Type: application/json' \ -d '{"scope": "read", "device": "my-script"}' https://plainmote.link/api/v1/device/codeOuvrez https://plainmote.link/cli/device dans un navigateur connecté, saisissez le user_code de la réponse et autorisez.
Interrogez avec le device_code toutes les interval secondes. Tant que le code n’est pas autorisé, la réponse est 400 authorization_pending ; ensuite elle contient access_token.
$ curl -X POST -H 'Content-Type: application/json' \ -d '{"device_code": "…"}' https://plainmote.link/api/v1/device/tokenEnvoyez le jeton dans l’en-tête Authorization. Un jeton dans l’adresse ou dans un cookie n’est pas accepté.
$ curl -H "Authorization: Bearer $PLAINMOTE_TOKEN" https://plainmote.link/api/v1/resources
| Requête | Accès | Rôle |
|---|---|---|
| POST /api/v1/device/code | Sans jeton | Demander un code |
| POST /api/v1/device/token | Sans jeton | Échanger le code contre un jeton |
| GET /api/v1/me | read | Le compte et le jeton utilisés |
| GET /api/v1/keyring | read | Le trousseau du compte, pour les ressources chiffrées |
| GET /api/v1/resources | read | Lister les ressources ; q filtre par nom, tag par étiquette |
| GET /api/v1/resources/{id} | read | Détails d’une ressource |
| GET /api/v1/resources/{id}/content | read | Lire le contenu octet pour octet |
| PUT /api/v1/resources/{id}/content | write | Enregistrer une nouvelle version ; If-Match indique la version de départ |
| POST /api/v1/resources | write | Créer une ressource à partir d’un fichier content en multipart ; les champs tag l’étiquettent |
| PATCH /api/v1/resources/{id}/tags | write | Ajouter et retirer les étiquettes d’une ressource |
| GET /api/v1/tags | read | Lister les étiquettes du compte avec leur nombre |
| POST /api/v1/quick-shares | write | Créer un partage rapide et renvoyer son lien |
| DELETE /api/v1/token | read | Révoquer le jeton utilisé |
{"error": "<code>", "message": "…"}La référence complète, avec les formats de requête et de réponse, se trouve dans le code source : docs/api.md