Pydantic Models Create Pydantic models following the multi-model pattern for clean API contracts. 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 ) Multi-Model Pattern Model Purpose Base Common fields shared across models Create Request body for creation (required fields) Update Request body for updates (all optional) Response API response with all fields InDB Database document with doc_type camelCase Aliases class MyModel ( BaseModel ) : workspace_id : str = Field ( . . . , alias = "workspaceId" ) created_at : datetime = Field ( . . . , alias = "createdAt" ) class Config : populate_by_name = True
Accept both snake_case and camelCase
Optional Update Fields class MyUpdate ( BaseModel ) : """All fields optional for PATCH requests.""" name : Optional [ str ] = Field ( None , min_length = 1 ) description : Optional [ str ] = None Database Document class MyInDB ( MyResponse ) : """Adds doc_type for Cosmos DB queries.""" doc_type : str = "my_resource" Integration Steps Create models in src/backend/app/models/ Export from src/backend/app/models/init.py Add corresponding TypeScript types When to Use This skill is applicable to execute the workflow or actions described in the overview.