{"message":"ColorStack Club Management API","version":"1.0.0","endpoints":{"auth":{"signUp":"POST /api/auth/sign-up/email","signIn":"POST /api/auth/sign-in/email","signOut":"POST /api/auth/sign-out","getSession":"GET /api/auth/get-session"},"profile":{"create":"POST /api/profile","getOwn":"GET /api/profile/me","updateOwn":"PUT /api/profile/me","getAll":"GET /api/profile (admin)","getByUser":"GET /api/profile/:userId (admin)","delete":"DELETE /api/profile/:userId (admin)"},"user":{"getMe":"GET /api/user/me","updatePassword":"PATCH /api/user/password"},"admin":{"createAdmin":"POST /api/admin/create-admin","getAllUsers":"GET /api/admin/users","patchProfile":"PATCH /api/admin/profiles/:userId","updateUserPassword":"PATCH /api/admin/users/:userId/password"},"upload":{"getProfileImageUploadUrl":"POST /api/upload/profile-image","getGalleryImageUploadUrl":"POST /api/upload/gallery-image (admin)","getEventImageUploadUrl":"POST /api/upload/event-image (admin)","getActivityImageUploadUrl":"POST /api/upload/activity-image (admin)","getClaimProofUploadUrl":"POST /api/upload/claim-proof","getDownloadUrl":"GET /api/upload/download-url","deleteFile":"DELETE /api/upload"},"leadership":{"getAll":"GET /api/leadership (public)","getOne":"GET /api/leadership/:id (public)","getUploadUrl":"POST /api/leadership/upload-url (admin)","create":"POST /api/leadership (admin)","update":"PUT /api/leadership/:id (admin)","delete":"DELETE /api/leadership/:id (admin)","reorder":"PATCH /api/leadership/reorder (admin)"},"gallery":{"getAlbums":"GET /api/gallery (public)","getAlbum":"GET /api/gallery/:albumId (public)","getAlbumImages":"GET /api/gallery/:albumId/images (public, paginated)","albums":{"create":"POST /api/gallery (admin)","update":"PUT /api/gallery/:albumId (admin)","delete":"DELETE /api/gallery/:albumId (admin)","reorder":"PATCH /api/gallery/reorder (admin)"},"images":{"add":"POST /api/gallery/:albumId/images (admin)","update":"PUT /api/gallery/images/:imageId (admin)","delete":"DELETE /api/gallery/images/:imageId (admin)","reorder":"PATCH /api/gallery/:albumId/images/reorder (admin)"}},"links":{"getAll":"GET /api/links (public)","getOne":"GET /api/links/:id (public)","getCategories":"GET /api/links/categories (public)","getByCategory":"GET /api/links/category/:categoryId (public)","categories":{"create":"POST /api/links/categories (admin)","update":"PUT /api/links/categories/:id (admin)","delete":"DELETE /api/links/categories/:id (admin)","reorder":"PATCH /api/links/categories/reorder (admin)"},"links":{"create":"POST /api/links (admin)","update":"PUT /api/links/:id (admin)","delete":"DELETE /api/links/:id (admin)","toggleFeatured":"PATCH /api/links/:id/featured (admin)","reorder":"PATCH /api/links/reorder (admin)"}},"events":{"getAll":"GET /api/events (public, ?tag=, ?upcoming=true, ?past=true, ?limit=)","getOne":"GET /api/events/:id (public, includes activities)","create":"POST /api/events (admin)","update":"PUT /api/events/:id (admin)","delete":"DELETE /api/events/:id (admin)","activities":{"getForEvent":"GET /api/events/:eventId/activities (public)","getOne":"GET /api/events/activities/:id (public)","create":"POST /api/events/:eventId/activities (admin)","update":"PUT /api/events/activities/:id (admin)","delete":"DELETE /api/events/activities/:id (admin)"},"claims":{"submit":"POST /api/events/activities/:id/claim","getMy":"GET /api/events/claims/my","adminGetAll":"GET /api/events/admin/claims (admin, ?status=pending)","adminGetOne":"GET /api/events/admin/claims/:id (admin)","approve":"PATCH /api/events/admin/claims/:id/approve (admin)","reject":"PATCH /api/events/admin/claims/:id/reject (admin)"},"points":{"getMyLedger":"GET /api/events/points/my","getMyStats":"GET /api/events/stats/my","adminGetUserLedger":"GET /api/events/admin/users/:userId/points (admin)","revoke":"POST /api/events/admin/users/:userId/points/revoke (admin)","adjust":"POST /api/events/admin/users/:userId/points/adjust (admin)"},"leaderboard":"GET /api/events/leaderboard/top (public, ?limit=10)"},"health":"GET /health","docs":"GET /docs"}}