{"name":"LAST API","version":"1.0.0","status":"running","endpoints":{"auth":{"POST /auth/register":"Create new account","POST /auth/login":"Login with email/password","GET /auth/me":"Get current user (requires auth)","PATCH /auth/me":"Update current user (requires auth)","POST /auth/logout":"Logout (client-side)"},"users":{"GET /users/:id":"Get user by ID","POST /users/batch":"Get multiple users by IDs"},"webhooks":{"POST /webhooks/revenuecat":"RevenueCat subscription webhook"},"groups":{"GET /groups":"Get all groups for current user (requires auth)","GET /groups/:id":"Get single group (requires auth)","POST /groups":"Create new group (requires auth)","POST /groups/join":"Join group by invite code (requires auth)","POST /groups/:id/leave":"Leave group (requires auth)","POST /groups/:id/kick":"Kick member (owner only)","POST /groups/:id/transfer":"Transfer ownership (owner only)","DELETE /groups/:id":"Delete group (owner only)"},"challenges":{"GET /challenges?groupId=":"Get challenges for group (requires auth)","GET /challenges/:id":"Get single challenge (requires auth)","POST /challenges":"Create new challenge (owner only)","PATCH /challenges/:id/status":"Update challenge status (owner only)","POST /challenges/:id/fail":"Fail challenge (requires auth)"},"checkins":{"GET /checkins?challengeId=":"Get check-ins for challenge (requires auth)","GET /checkins/me":"Get check-ins for current user (requires auth)","GET /checkins/today/:challengeId":"Get today's check-ins (requires auth)","POST /checkins":"Check in for today (requires auth)","POST /checkins/fail":"Fail check-in (requires auth)"}}}