schemas.auth_schemas¶
src.schemas.auth_schemas
¶
Authentication request/response schemas.
Pydantic models for API request validation and response serialization. Kept separate from domain entities - these are HTTP-layer concerns.
RESTful Endpoints (100% resource-based): POST /api/v1/users - Create user (registration) POST /api/v1/sessions - Create session (login) DELETE /api/v1/sessions/current - Delete session (logout) POST /api/v1/tokens - Create tokens (refresh) POST /api/v1/email-verifications - Create verification (verify email) POST /api/v1/password-reset-tokens - Create reset token (request) POST /api/v1/password-resets - Create reset (execute)
Classes¶
UserCreateRequest
¶
Bases: BaseModel
Request schema for user creation (registration).
POST /api/v1/users Returns: 201 Created
Source code in src/schemas/auth_schemas.py
UserCreateResponse
¶
Bases: BaseModel
Response schema for user creation (201 Created).
Returns created user resource. User must verify email before creating a session (login).
Source code in src/schemas/auth_schemas.py
SessionCreateRequest
¶
Bases: BaseModel
Request schema for session creation (login).
POST /api/v1/sessions Returns: 201 Created
Source code in src/schemas/auth_schemas.py
SessionCreateResponse
¶
Bases: BaseModel
Response schema for session creation (201 Created).
Returns session tokens (JWT access + opaque refresh).
Source code in src/schemas/auth_schemas.py
SessionDeleteRequest
¶
Bases: BaseModel
Request schema for session deletion (logout).
DELETE /api/v1/sessions/current Returns: 204 No Content
Note: Requires Authorization header with JWT.
Source code in src/schemas/auth_schemas.py
TokenCreateRequest
¶
Bases: BaseModel
Request schema for token creation (refresh).
POST /api/v1/tokens Returns: 201 Created
Source code in src/schemas/auth_schemas.py
TokenCreateResponse
¶
Bases: BaseModel
Response schema for token creation (201 Created).
Returns new tokens (rotation: old refresh token invalidated).
Source code in src/schemas/auth_schemas.py
EmailVerificationCreateRequest
¶
Bases: BaseModel
Request schema for email verification creation.
POST /api/v1/email-verifications Returns: 201 Created
Source code in src/schemas/auth_schemas.py
EmailVerificationCreateResponse
¶
Bases: BaseModel
Response schema for email verification (201 Created).
Source code in src/schemas/auth_schemas.py
PasswordResetTokenCreateRequest
¶
Bases: BaseModel
Request schema for password reset token creation.
POST /api/v1/password-reset-tokens Returns: 201 Created (always, to prevent user enumeration)
Source code in src/schemas/auth_schemas.py
PasswordResetTokenCreateResponse
¶
Bases: BaseModel
Response schema for password reset token (201 Created).
Always returns success to prevent user enumeration.
Source code in src/schemas/auth_schemas.py
PasswordResetCreateRequest
¶
Bases: BaseModel
Request schema for password reset execution.
POST /api/v1/password-resets Returns: 201 Created
Source code in src/schemas/auth_schemas.py
PasswordResetCreateResponse
¶
Bases: BaseModel
Response schema for password reset (201 Created).