{"openapi":"3.0.0","info":{"title":"SmartCareer.AI API","version":"1.0.0","description":"REST API for the WADS final project (Next.js, Prisma, PostgreSQL). Authenticated routes use the `smartcareer_token` HTTP-only cookie set by login endpoints."},"servers":[{"url":"https://smartcareer.academy","description":"Production"}],"tags":[{"name":"Auth","description":"Registration, login, and logout"},{"name":"Users","description":"Current user and profile"},{"name":"Careers","description":"Career tracks and milestone progress"},{"name":"Assessment","description":"Tech career matcher quiz"},{"name":"Roadmaps","description":"Learning roadmaps, nodes, and AI generation"},{"name":"Resume","description":"PDF upload and AI resume analysis"},{"name":"Admin","description":"Admin-only management endpoints"}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"smartcareer_token","description":"JWT stored in an HTTP-only cookie after POST /api/auth/login or /api/auth/register."}},"schemas":{"ErrorMessage":{"type":"object","properties":{"message":{"type":"string"}}},"ValidationError":{"type":"object","properties":{"message":{"type":"string","example":"Invalid input"},"issues":{"type":"array","items":{"type":"object"}}}},"OkResponse":{"type":"object","properties":{"ok":{"type":"boolean","example":true}}}},"responses":{"Unauthorized":{"description":"Missing or invalid authentication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"Unauthorized"}}}},"Forbidden":{"description":"Authenticated but not allowed (e.g. admin only)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"paths":{}}