{"name":"Sheridan Prize API","description":"REST API for the Sheridan Prize for Art competition management system","baseUrl":"https://api.sheridanprizeforart.com","apiVersion":"v1","endpoints":{"authentication":{"basePath":"/auth","description":"User authentication and session management","routes":[{"path":"/auth/login","methods":["POST"],"description":"Authenticate user with email and password","requiresAuth":false},{"path":"/auth/logout","methods":["POST"],"description":"End user session","requiresAuth":true},{"path":"/auth/register","methods":["POST"],"description":"Create new user account","requiresAuth":false},{"path":"/auth/forgot-password","methods":["POST"],"description":"Request password reset email","requiresAuth":false},{"path":"/auth/reset-password","methods":["POST"],"description":"Reset password with token","requiresAuth":false}]},"users":{"basePath":"/v1/users","description":"User management and profiles","routes":[{"path":"/v1/users","methods":["GET","POST"],"description":"List users or create new user","requiresAuth":true,"permissions":{"GET":"Accessible to all authenticated users with field restrictions","POST":"Admin/superadmin for privileged roles, public for basic roles"}},{"path":"/v1/users/:id","methods":["GET","PUT","DELETE"],"description":"Get, update, or delete specific user","requiresAuth":true,"permissions":{"GET":"User can view own profile, admin/superadmin can view all","PUT":"User can update own profile, admin/superadmin can update all","DELETE":"Superadmin only"}}]},"artworks":{"basePath":"/v1/artworks","description":"Artwork submissions and management","routes":[{"path":"/v1/artworks","methods":["GET","POST"],"description":"List artworks or submit new artwork","requiresAuth":false,"permissions":{"GET":"Public access with field restrictions based on user role","POST":"Artist role required"}},{"path":"/v1/artworks/:id","methods":["GET","PUT","DELETE"],"description":"Get, update, or delete specific artwork","requiresAuth":false,"permissions":{"GET":"Public access with field restrictions","PUT":"Artist can update own work, admin/superadmin can update all","DELETE":"Artist can delete own work, admin/superadmin can delete all"}}]},"categories":{"basePath":"/v1/categories","description":"Competition categories management","routes":[{"path":"/v1/categories","methods":["GET","POST"],"description":"List categories or create new category","requiresAuth":false,"permissions":{"GET":"Public access","POST":"Superadmin only"}},{"path":"/v1/categories/:id","methods":["GET","PUT","DELETE"],"description":"Get, update, or delete specific category","requiresAuth":false,"permissions":{"GET":"Public access","PUT":"Superadmin only","DELETE":"Superadmin only"}}]},"contests":{"basePath":"/v1/contests","description":"Competition/contest management","routes":[{"path":"/v1/contests","methods":["GET","POST"],"description":"List contests or create new contest","requiresAuth":false,"permissions":{"GET":"Public access with field restrictions","POST":"Superadmin only"}},{"path":"/v1/contests/:id","methods":["GET","PUT","DELETE"],"description":"Get, update, or delete specific contest","requiresAuth":false,"permissions":{"GET":"Public access with field restrictions","PUT":"Admin can update most fields, superadmin can update all","DELETE":"Superadmin only"}}]},"ballots":{"basePath":"/v1/ballots","description":"Voting ballot management","routes":[{"path":"/v1/ballots","methods":["GET","POST"],"description":"List ballots or submit new ballot","requiresAuth":true,"permissions":{"GET":"User can view own ballots, admin/superadmin can view all","POST":"Authenticated users during voting period"}},{"path":"/v1/ballots/:id","methods":["GET","PUT","DELETE"],"description":"Get, update, or delete specific ballot","requiresAuth":true,"permissions":{"GET":"User can view own ballots, admin/superadmin can view all","PUT":"User can update own ballots during voting period","DELETE":"Superadmin only"}}]},"results":{"basePath":"/v1/results","description":"Competition results and rankings","routes":[{"path":"/v1/results","methods":["GET","POST"],"description":"List results or create new result set","requiresAuth":false,"permissions":{"GET":"Public access","POST":"Admin/superadmin only"}},{"path":"/v1/results/:id","methods":["GET","PUT","DELETE"],"description":"Get, update, or delete specific result set","requiresAuth":false,"permissions":{"GET":"Public access","PUT":"Admin/superadmin only","DELETE":"Superadmin only"}}]},"me":{"basePath":"/v1/me","description":"Current user profile and session info","routes":[{"path":"/v1/me","methods":["GET"],"description":"Get current user's profile information","requiresAuth":true}]},"activeContest":{"basePath":"/v1/active-contest","description":"Currently active competition information","routes":[{"path":"/v1/active-contest","methods":["GET"],"description":"Get information about the currently active contest","requiresAuth":false}]},"uploads":{"basePath":"/uploads","description":"File upload handling for artwork images and user avatars","routes":[{"path":"/uploads","methods":["POST"],"description":"Upload artwork images and user avatars","requiresAuth":true,"note":"Supports jpg, jpeg, png files with automatic resizing"}]},"static":{"basePath":"/public","description":"Static file serving","routes":[{"path":"/public/*","methods":["GET"],"description":"Serve uploaded images and static assets","requiresAuth":false}]}},"status":{"environment":"production","timestamp":"2026-03-05T11:14:04.027Z","release":"1.4.0","healthy":true}}