wallabag-api

Crates.iowallabag-api
lib.rswallabag-api
version0.4.3
sourcesrc
created_at2018-12-13 08:18:10.100901
updated_at2023-09-02 05:22:37.755241
descriptionClient API library for Wallabag
homepage
repositoryhttps://github.com/caspermeijn/wallabag-api
max_upload_size
id101726
size153,353
Casper Meijn (caspermeijn)

documentation

README

Wallabag client API

wallabag-api crates.io wallabag-api docs.rs maintenance-status: passively-maintained

Provides types and functions for interacting with a Wallabag server API.

About

See the documentation for usage information.

supported API endpoints:

All API endpoints are implemented except for the /api/*/list{,s}. I don't plan on implementing support for those unless there is a good reason to.

  • DELETE /api/annotations/{annotation}.{_format} Removes an annotation.

  • PUT /api/annotations/{annotation}.{_format} Updates an annotation.

  • GET /api/annotations/{entry}.{_format} Retrieve annotations for an entry.

  • POST /api/annotations/{entry}.{_format} Creates a new annotation.

  • GET /api/entries.{_format} Retrieve all entries. It could be filtered by many options.

  • POST /api/entries.{_format} Create an entry.

  • GET /api/entries/exists.{_format} Check if an entry exist by url.

  • DELETE /api/entries/list.{_format} Handles an entries list and delete URL.

  • POST /api/entries/lists.{_format} Handles an entries list and create URL.

  • DELETE /api/entries/tags/list.{_format} Handles an entries list delete tags from them.

  • POST /api/entries/tags/lists.{_format} Handles an entries list and add tags to them.

  • DELETE /api/entries/{entry}.{_format} Delete permanently an entry.

  • GET /api/entries/{entry}.{_format} Retrieve a single entry.

  • PATCH /api/entries/{entry}.{_format} Change several properties of an entry.

  • GET /api/entries/{entry}/export.{_format} Retrieve a single entry as a predefined format.

  • PATCH /api/entries/{entry}/reload.{_format} Reload an entry.

  • GET /api/entries/{entry}/tags.{_format} Retrieve all tags for an entry.

  • POST /api/entries/{entry}/tags.{_format} Add one or more tags to an entry.

  • DELETE /api/entries/{entry}/tags/{tag}.{_format} Permanently remove one tag for an entry.

  • DELETE /api/tag/label.{_format} Permanently remove one tag from every entry by passing the Tag label.

  • GET /api/tags.{_format} Retrieve all tags.

  • DELETE /api/tags/label.{_format} Permanently remove some tags from every entry.

  • DELETE /api/tags/{tag}.{_format} Permanently remove one tag from every entry by passing the Tag ID.

  • GET /api/user.{_format} Retrieve current logged in user informations.

  • PUT /api/user.{_format} Register an user and create a client.

  • GET /api/version.{_format} Retrieve version number.

Examples

A few small examples are provided. To use these, the following environment variables must be set (for authentication). For example:

export WALLABAG_CLIENT_ID="client_id"
export WALLABAG_CLIENT_SECRET="client_secret"
export WALLABAG_USERNAME="username"
export WALLABAG_PASSWORD="password"
export WALLABAG_URL="https://framabag.org" # must not end with trailing slash

The examples include:

  • check_exists: check if there is an entry corresponding to the url provided.
  • example_sandbox: a bunch of (mostly) commented out small examples, used for manual testing... have fun experimenting!
  • get_entries: simply retrieve and debug print all entries. See the source code for filtering options.
  • get_entries_page: example fetching a single page of entries without auto handling pagination.
  • save_url: save a url to the server, printing the created entry on success.

Contributing

Please send your comments, bug reports, feature requests, and patches to this public mailing list: ~swalladge/public-inbox@lists.sr.ht (archives).

License

Licensed under either of

  • Apache License, Version 2.0
  • MIT license

at your option.

Commit count: 140

cargo fmt