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 a bundle of 10 tasks | Live | ||
| Get a specific task | GET | /api/task/{task-id} | Live | |||
| Update task | PUT | /api/task/{task-id} | Live | |||
| Get user info | GET | /api/user | Get username of currently logged-in user | Could be expanded to return more profile data | Live | |
| Get leaderboard data | GET | /api/contributions/top-scores | Get the top 30 overall contributors & their scores | Live | ||
| Get leaderboard data by date | GET | /api/contributions/top-scores?since={X} | Get the top 30 contributors & scores from the past X days | In the future I could add a second parameter to serve as a start date | Live | |
| Get contributions | GET | /api/contributions/ | Get all contributions made using Toolhunt (ordered by date), or specify a number with the optional query parameter | ?={limit} | Live | |
| Get contributions by user | GET | /api/contributions/{user} | Activity log: user's last 10 contributions | To do: add limit as query parameter | Live | |
| Get information about all annotations fields | GET | /api/fields | Live | |||
| Get information about a specific field | GET | /api/fields/{name} | Live | |||
| Get metrics pertaining to contributions | GET | /api/metrics/contributions | Get Total contributions and Global contributions from the last 30 days | Live | ||
| Get metrics pertaining to tasks | GET | /api/metrics/tasks | Get Number of tasks and Number of unfinished tasks | Live | ||
| Get metrics pertaining to tools | GET | /api/metrics/tools | Get Number of tools on record and Number of tools with incomplete information | Live | ||
| Get metrics pertaining to the currently logged-in user | GET | /api/metrics/user | Get My total contributions and My contributions in the past 30 days | Live | ||