FastAPI Router Create FastAPI routers following established patterns with proper authentication, response models, and HTTP status codes. Quick Start Copy the template from assets/template.py and replace placeholders: {{ResourceName}} → PascalCase name (e.g., Project ) {{resource_name}} → snake_case name (e.g., project ) {{resource_plural}} → plural form (e.g., projects ) Authentication Patterns
Optional auth - returns None if not authenticated
current_user : Optional [ User ] = Depends ( get_current_user )
Required auth - raises 401 if not authenticated
current_user : User = Depends ( get_current_user_required ) Response Models @router . get ( "/items/{item_id}" , response_model = Item ) async def get_item ( item_id : str ) -
Item : . . . @router . get ( "/items" , response_model = list [ Item ] ) async def list_items ( ) -
list [ Item ] : . . . HTTP Status Codes @router . post ( "/items" , status_code = status . HTTP_201_CREATED ) @router . delete ( "/items/{id}" , status_code = status . HTTP_204_NO_CONTENT ) Integration Steps Create router in src/backend/app/routers/ Mount in src/backend/app/main.py Create corresponding Pydantic models Create service layer if needed Add frontend API functions When to Use This skill is applicable to execute the workflow or actions described in the overview.