This document lists all current HTTP endpoints across the Auth, Team, and Task services, with auth requirements and sample curl commands.
You can check our API documentation in swagger editor by importing the file in it.
curl -sS http://localhost:8084/healthz
curl -sS http://localhost:8084/internal/users/1
curl -sS -X POST http://localhost:8084/auth/register \
-H 'Content-Type: application/json' \
-d '{"username":"newuser","email":"new@example.com","password":"password"}'
curl -sS -X POST http://localhost:8084/auth/login \
-H 'Content-Type: application/json' \
-d '{"username":"admin","password":"password"}'
curl -sS -X POST http://localhost:8084/auth/refresh \
-H 'Content-Type: application/json' \
-d '{"refreshToken":"$REFRESH"}'
curl -sS -X POST http://localhost:8084/auth/logout -H "Authorization: Bearer $ACCESS"
{ valid: true, user: { id, username, role } }
if token is validcurl -sS -X POST http://localhost:8084/validate -H "Authorization: Bearer $ACCESS"
curl -sS http://localhost:8084/users -H "Authorization: Bearer $ACCESS"
curl -sS -X POST http://localhost:8084/users \
-H "Authorization: Bearer $ACCESS" -H 'Content-Type: application/json' \
-d '{"username":"alice","email":"alice@example.com","password":"password","role":"user"}'
curl -sS http://localhost:8084/users/1 -H "Authorization: Bearer $ACCESS"
curl -sS -X PUT http://localhost:8084/users/1 \
-H "Authorization: Bearer $ACCESS" -H 'Content-Type: application/json' \
-d '{"firstName":"Admin","lastName":"User"}'
curl -sS -X DELETE http://localhost:8084/users/5 -H "Authorization: Bearer $ACCESS"
curl -sS http://localhost:8084/users/profile -H "Authorization: Bearer $ACCESS"
curl -sS -X PUT http://localhost:8084/users/profile \
-H "Authorization: Bearer $ACCESS" -H 'Content-Type: application/json' \
-d '{"firstName":"Admin","lastName":"User"}'
curl -sS -X POST http://localhost:8084/users/change-password \
-H "Authorization: Bearer $ACCESS" -H 'Content-Type: application/json' \
-d '{"currentPassword":"password","newPassword":"password123"}'
curl -sS http://localhost:8083/healthz
curl -sS -H "X-Internal-Token: $INTERNAL_TOKEN" http://localhost:8083/internal/teams/1/members
curl -sS http://localhost:8083/teams
curl -sS -X POST http://localhost:8083/teams \
-H 'Content-Type: application/json' \
-d '{"name":"Dev Team","description":"Main team"}'
curl -sS http://localhost:8083/teams/1
curl -sS -X PUT http://localhost:8083/teams/1 \
-H 'Content-Type: application/json' \
-d '{"name":"New Name"}'
curl -sS -X DELETE http://localhost:8083/teams/1
curl -sS http://localhost:8083/teams/1/members
curl -sS -X POST http://localhost:8083/teams/1/members \
-H 'Content-Type: application/json' \
-d '{"userId":5,"role":"member"}'
curl -sS -X DELETE http://localhost:8083/teams/1/members/5
curl -sS http://localhost:8083/users/1/teams
curl -sS http://localhost:8081/healthz
curl -sS -H "Authorization: Bearer $ACCESS" "http://localhost:8081/teams/1/tasks?priority=high&limit=10"
curl -sS -X POST http://localhost:8081/teams/1/tasks \
-H "Authorization: Bearer $ACCESS" -H 'Content-Type: application/json' \
-d '{"title":"Write docs","priority":"medium","due":"2025-08-30"}'
curl -sS -H "Authorization: Bearer $ACCESS" http://localhost:8081/tasks
curl -sS -H "Authorization: Bearer $ACCESS" http://localhost:8081/tasks/1
curl -sS -X PUT http://localhost:8081/tasks/1 \
-H "Authorization: Bearer $ACCESS" -H 'Content-Type: application/json' \
-d '{"completed":true,"priority":"high"}'
curl -sS -X DELETE -H "Authorization: Bearer $ACCESS" http://localhost:8081/tasks/1
Body: { assigneeId: number | null } |
curl -sS -X PUT http://localhost:8081/tasks/1/assignee \
-H "Authorization: Bearer $ACCESS" -H 'Content-Type: application/json' \
-d '{"assigneeId":5}'
curl -sS -X POST http://localhost:8081/tasks/1/complete \
-H "Authorization: Bearer $ACCESS" -H 'Content-Type: application/json' \
-d '{"completed":true}'
Notes
$ACCESS
/$REFRESH
with real tokens from the Auth login/refresh responses.{ code, message }
shape across services.\newpage