Чтобы ответить на вопрос, исходя из моего опыта, вы точно знаете, как
GET /api/projects/{id}/milestones/
GET /api/milestones/?projectId=123
Ни то, ни другое, ни то, ни другое, какое вы используете или действительно, если вам нужно, оба будут исходить из требований проекта.или личный вкус.
Второй, который я лично использовал бы в качестве конечной точки поиска этапа, если бы я хотел искать этапы в разных проектах или в разных параметрах, например:
GET /api/milestones/?userId=bob
GET /api/milestones/?createdDate=20180101
Первый URL-адрес Iбыло бы просто вернуть основные этапы этого проекта, а затем, если необходимо, добавить оттуда фильтры.
Опять личный вкус / требования проекта