Meta: Client API feature request summary
This is a meta issue that summarizes all the current API related feature requests and attempts to organize them and give some extra commentary. I plan to update this issue with new requests and when existing ones are closed.
File Metadata
- [x] Client API: Change Archive/Inbox and Trash state for files #393
- This seems fairly simple and would be very useful immediately for a number of existing uses of the API.
- [x] Use BlurHash in Hydrus #394
- [x] Client API: notes #346
- This would probably involve being able to (perhaps optionally) get the notes of a file through the metadata API or a separate API and another API for setting the notes on a file.
- [x] Client API: more file metadata #345
- Time imported and whatever other metadata is not currently returned by the file_metadata endpoint
- May need to be behind another query parameter for performance if some metadata needs to be calculated before being returned.
Search
- [x] Client API: searching via system predicates #351
- [x] Basic system predicates
- [x] sorting
- [x] Sorting in API search #236
- [x] Client API: Search wildcards #654
- [x] Support for OR Logic Conditions in Client API #854
- [ ] Client API: /get_files/search_files - Return quantity instead of list of files #934
- [x] Client API: tag search autocomplete #958
- [ ] Client API: Sort by tag namespace #1062
Pages
- [ ] Client API: page and query management #350
- [x] API: Change page contents #570
- adding files to pages has been implemented
- [x] Client API: endpoint to refresh a page #944
Tags
- [x] Expose favourite tags via API #311
- [x] Client API: tags with use counts per service #359
- [ ] Client API: read/write tag presentation details #360
- [x] Client API: Apply siblings on retrieved tags #389
- [ ] Additional Option for the API Settings to not Allow Overwriting Previosly Deleted Tags #660
- [x] Client API: Query Tag Parent/Child Relationships #921
- [ ] Client API: add/edit/remove parents/siblings #1077
URLs
- [x] Feature:API:Search URLs by prefix #240
- [ ] Client API: Ability to lookup an array of URLs in
get_url_infoandget_url_files#655 - [ ] Client API: Associate Additional URLs with add_url Endpoint #1059
Other
- [x] Client API: get information about services #342
- [ ] Client API: subscriptions #344
- [x] Client API: ratings #343
- [x] Client API: alternates/duplicates #347
- [ ] Generate QR codes for Apps #237
- [x] Client API: manage headers (like cookies) #349
- [x] Add DB Lock feature to the Client side #333
- [ ] Popup notification for when things are added through API #559
- [x] Cache for API requests #605
- [x] Support for HTTP 206 Partial Content for audio / video seeking on the client api #647
- [ ] RfE: add a root-certificate to the hydrus api https process w/ user input fields for ip and dns names #675
- [x] Notifications API #743
- [ ] Client API request proxy #899
- [x] Client API: Read Main Gui Title #916
- [x] Client API: Allow browsers to cache CORS preflight requests #935
- [ ] Manage shortcuts/keybinds through API #1012
I have no idea why Client API: Ratings #343 is 404. I'd love to look into it. For that I'd also 'd like to research how Client API: searching via system predicates #351, was implemented, but that's gone, too.
To give context, I want to search for
["system: no bookmark rating", "system:no favourites rating", "system:no upvotes/downvote rating"]
but the ratings are not yet searchable via api, it seems.
@luckydonald the guy who made those issues was banned from GitHub. You can still access older versions of those pages on the Wayback Machine for example.
Ratings are not supported in the search API at this time. You can see examples of possible system predicates in the API docs. Most of the system predicate stuff for the API is implemented here: https://github.com/hydrusnetwork/hydrus/blob/master/hydrus/external/SystemPredicateParser.py