API Docs (Legacy)

Teams API

Teams API Documentation

This document describes the Teams API endpoints defined in the provided serverless.yml configuration, including example requests and responses.


Endpoints

1. Update Team Points

  • Method: PUT
  • Path: /team/points

Request

{
  "teamID": "team123",
  "points": 50
}

Response

{
  "success": true,
  "message": "Team points updated successfully",
  "teamID": "team123",
  "newPoints": 50
}

2. Add Multiple QR Scans

  • Method: PUT
  • Path: /team/addQuestions

Request

{
  "teamID": "team123",
  "questions": ["Q1", "Q2", "Q3"]
}

Response

{
  "success": true,
  "message": "Questions added successfully",
  "teamID": "team123",
  "added": 3
}

3. Make Team

  • Method: POST
  • Path: /team/make

Request

{
  "eventID": "hackathon2025",
  "year": 2025,
  "teamName": "Innovators",
  "members": ["user1", "user2"]
}

Response

{
  "success": true,
  "message": "Team created successfully",
  "team": {
    "teamID": "team123",
    "eventID": "hackathon2025",
    "year": 2025,
    "teamName": "Innovators",
    "members": ["user1", "user2"]
  }
}

4. Get Team From User ID

  • Method: POST
  • Path: /team/getTeamFromUserID

Request

{
  "userID": "user1"
}

Response

{
  "success": true,
  "team": {
    "teamID": "team123",
    "teamName": "Innovators",
    "eventID": "hackathon2025",
    "year": 2025
  }
}

5. Get All Teams for Event/Year

  • Method: GET
  • Path: /team/{eventID}/{year}

Example Request

GET /team/hackathon2025/2025

Response

{
  "success": true,
  "teams": [
    {
      "teamID": "team123",
      "teamName": "Innovators",
      "members": ["user1", "user2"]
    },
    {
      "teamID": "team456",
      "teamName": "Builders",
      "members": ["user3", "user4"]
    }
  ]
}

6. Change Team Name

  • Method: POST
  • Path: /team/changeTeamName

Request

{
  "teamID": "team123",
  "newName": "Visionaries"
}

Response

{
  "success": true,
  "message": "Team name updated successfully",
  "teamID": "team123",
  "newName": "Visionaries"
}

7. Get Normalized Round Scores

  • Method: GET
  • Path: /team/scores-all

Response

{
  "success": true,
  "scores": [
    {
      "teamID": "team123",
      "normalizedScore": 92.5
    },
    {
      "teamID": "team456",
      "normalizedScore": 88.1
    }
  ]
}

8. Get Team Feedback Score

  • Method: GET
  • Path: /team/feedback/{teamID}

Example Request

GET /team/feedback/team123

Response

{
  "success": true,
  "teamID": "team123",
  "feedbackScore": 4.7
}

9. Get Judge Current Team

  • Method: GET
  • Path: /team/judge/currentTeamID/{judgeID}

Example Request

GET /team/judge/currentTeamID/judge42

Response

{
  "success": true,
  "judgeID": "judge42",
  "currentTeamID": "team123"
}

10. Get Judge Submissions

  • Method: GET
  • Path: /team/judge/feedback/{judgeID}

Example Request

GET /team/judge/feedback/judge42

Response

{
  "success": true,
  "judgeID": "judge42",
  "submissions": [
    {
      "teamID": "team123",
      "score": 85,
      "comments": "Great presentation"
    }
  ]
}

11. Create Judge Submission

  • Method: POST
  • Path: /team/judge/feedback

Request

{
  "judgeID": "judge42",
  "teamID": "team123",
  "score": 90,
  "comments": "Excellent innovation"
}

Response

{
  "success": true,
  "message": "Submission created successfully"
}

12. Update Judge Submission

  • Method: PUT
  • Path: /team/judge/feedback

Request

{
  "judgeID": "judge42",
  "teamID": "team123",
  "score": 95,
  "comments": "Improved after Q&A"
}

Response

{
  "success": true,
  "message": "Submission updated successfully"
}

13. Update Current Team for Judge

  • Method: PUT
  • Path: /team/judge/currentTeam/{teamID}

Example Request

PUT /team/judge/currentTeam/team123

Request Body

{
  "judgeID": "judge42"
}

Response

{
  "success": true,
  "message": "Judge current team updated successfully",
  "judgeID": "judge42",
  "teamID": "team123"
}

14. Get Current Round

  • Method: GET
  • Path: /team/round

Response

{
  "success": true,
  "currentRound": 2
}

15. Set Current Round

  • Method: PUT
  • Path: /team/round/{round}

Example Request

PUT /team/round/3

Response

{
  "success": true,
  "message": "Current round updated",
  "newRound": 3
}

16. Join a Team

  • Method: POST
  • Path: /team/join

Request

{
  "eventID": "kickstart",
  "year": 2025,
  "memberID": "isaac@ubcbiztech.com",
  "teamID": "206abfa6-4b56-4316-af59-9cc3c1b0863c"
}

Response

{
  "message": "Successfully joined team.",
  "teamName": "test",
  "memberIDs": ["isaac@ubcbiztech.com", "benny@ubcbiztech.com"],
  "response": {
    "eventID": "kickstart",
    "year": 2025,
    "memberID": "isaac@ubcbiztech.com",
    "teamID": "206abfa6-4b56-4316-af59-9cc3c1b0863c"
  }
}

17. Leave a Team

  • Method: POST
  • Path: /team/leave

Request

{
  "eventID": "kickstart",
  "year": 2025,
  "memberID": "isaac@ubcbiztech.com"
}

Response

{
  "message": "Successfully left team.",
  "response": {
    "eventID": "kickstart",
    "year": 2025,
    "memberID": "isaac@ubcbiztech.com"
  }
}
Previous
Profiles API