Overview
The PyqDeck API is a RESTful API built with Express.js. It is documented using OpenAPI 3.0 and serves as the source of truth for the generated frontend SDK.Swagger UI
The live API documentation (Swagger UI) is available at:https://backend.pyqdeck.in/api-docs
SDK Generation Flow
We follow an API-first approach:- Backend: Routes are annotated with JSDoc
@swagger. - Export:
pnpm run openapi:exportgeneratesbackend/openapi.json. - Frontend:
pnpm run gen:apiconsumesopenapi.jsonand generatesfrontend/src/lib/api-generated.ts.
Authentication
Most endpoints require authentication via Clerk.- Header:
Authorization: Bearer <clerk_jwt_token> - Internal Handling: The
requireAuthenticationmiddleware validates the token.
Main Resource Groups
| Group | Description |
|---|---|
| Universities | Management of university entities. |
| Subjects | Academic subject catalog and offerings. |
| Papers | Question papers, years, and metadata. |
| Questions | Individual questions, types, and difficulties. |
| Solutions | Step-by-step solutions for questions. |
| Users | User profiles and role management. |

