I thought that the table that Slavina inserted into the Toolhunt backend meeting document to be a useful way of visualizing what we needed to build. The ongoing question is how granular we want to make the endpoints, specifically those pertaining to the "grab bag" data tables on the Dashboard (# of tools, % of tools missing data, # of edits made using Toolhunt, etc.). This task is very closely related to T327101.
| Action | HTTP Verb | URL Path | Description | Comments | Status |
| --- | --- | --- | --- | --- | --- |
| Get task bundle | GET | /api/task/ | Get all tasks, or limit the number with an optional query parameter | ?={limit} | Live |
| Get a specific task | GET | /api/task/{task-id} | | | See [[ https://github.com/wikimedia/toolhunt/pull/24 | draft PR ]] |
| Update task | PUT | /api/task/{task-id} | | | See [[ https://github.com/wikimedia/toolhunt/pull/24 | draft PR ]] |
| Get leaderboard data | GET | /api/contributions/scores | Get the top 30 overall contributors & their scores | | Live |
| Get leaderboard data by date | GET | /api/contributions/scores/?start_date={value}&end_date={value} | Get the top 30 contributors & scores between optional "start" and "end" date | start_date and end_date are query parameters | |
| Get all contributions | GET | /api/contributions/ | All contributions made using Toolhunt | | Live |
| Get contributions by user | GET | /api/contributions/{username} | Activity log: user's last 10 contributions | | Live |
| Get latest global contributions | GET | /api/contributions/latest | Activity log: last 10 contributions globally | | Live |
| Get data for additional Dashboard tables | GET | /api/metrics | | How granular do we want to make this? | |