The contents of results returned by [Citoid](https://citoid.wikimedia.org/) are good candidates for storing in RESTBase as they are (mostly) deterministic and consequently immutable. Moreover, that would speed up obtaining results for previous Citoid queries considerably.
See {T103811} for the proposed API endpoints. The workflow would be the following:
# The client issues a request to `https://{domain}/api/rest_v1/data/citation/{format}/{query}`
# RESTBase checks whether the result is available in storage using `(language,format,query)` as the look-up key; if found, return the stored response
# Issue a request to #Citoid
# Store the response using `(language,format,query)`as the key
# Return the response
=== Action Items ===
[ ] Set up the public endpoints in #RESTBase
[ ] Hook-up the necessary back-end modules in #RESTBase
[ ] Move to using the public endpoint in the #Citoid extension
## See also
- {T133001}