Page MenuHomePhabricator

Design schema for Recommendation API
Closed, ResolvedPublic

Description

This task is to determine the layout of the API in order to conform to the standards of RESTBase.

Currently, the path looks like:
/types/{recommendation type}/{version of the type's API}/{what is being queried} with everything else being passed as query parameters. See https://meta.wikimedia.org/wiki/Recommendation_API for more info.

Ex:
/types/translation/v1/articles?source=en&target=de

Event Timeline

We are currently in discussions with the Language Team about the content translation public API in T107914: Migrate content translation to the REST API. Perhaps it might make sense to tackle these together (or at the very least take this task into account when proceeding on that one).

The current schema looks like /{domain}/v1/translation/articles/{source}{/seed}.

This should be expandable in the future following the form /{domain}/<version>/<recommendation type>/<item requested>/<parameters...>.

@mobrovac I created a pull request for RESTBase here: https://github.com/wikimedia/restbase/pull/835. Do you think there's anything else that needs to be captured for the schema design before closing this task?

mobrovac claimed this task.

I have created T170877: Recommendation API public end points for the actual discussion about how to expose the service's end points publicly, so this can be closed.