/** * Auto-generated API types from design document * Generated at: 2025-12-19T06:09:11.387541 * DO NOT EDIT - Regenerate with generate_types.py */ /** Request body for POST /api/auth/register - Register a new user */ export interface RegisterUserRequest { /** User email address */ email: string; /** User display name */ name: string; /** Password (min 8 characters) */ password: string; } /** Response for POST /api/auth/register (status 201) - User created successfully */ export interface RegisterUserResponse { id: string; email: string; name: string; createdAt: string; } /** Error response for POST /api/auth/register (status 400) - Validation error */ export interface RegisterUserError400 { error: string; } /** Error response for POST /api/auth/register (status 409) - Email already exists */ export interface RegisterUserError409 { error: string; } /** Request body for POST /api/auth/login - Login user */ export interface LoginUserRequest { /** User email */ email: string; /** User password */ password: string; } /** Response for POST /api/auth/login (status 200) - Login successful */ export interface LoginUserResponse { user: Record; token: string; } /** Error response for POST /api/auth/login (status 401) - Invalid credentials */ export interface LoginUserError401 { error: string; } /** Request body for POST /api/auth/logout - Logout user */ export interface LogoutUserRequest { } /** Response for POST /api/auth/logout (status 200) - Logout successful */ export interface LogoutUserResponse { success: boolean; } /** Response for GET /api/auth/me (status 200) - User data */ export interface GetCurrentUserResponse { id: string; email: string; name: string; createdAt: string; } /** Error response for GET /api/auth/me (status 401) - Not authenticated */ export interface GetCurrentUserError401 { error: string; } /** Response for GET /api/recordings (status 200) - Recordings list */ export interface ListRecordingsResponse { recordings: unknown[]; total: number; } /** Request body for POST /api/recordings - Create new recording */ export interface CreateRecordingRequest { /** Audio file (webm, mp3, wav) */ audio: unknown; /** Recording title (auto-generated if not provided) */ title?: string; /** Duration in seconds */ duration: number; } /** Response for POST /api/recordings (status 201) - Recording created */ export interface CreateRecordingResponse { id: string; title: string; audioFilePath: string; duration: number; createdAt: string; } /** Error response for POST /api/recordings (status 400) - Invalid audio file */ export interface CreateRecordingError400 { error: string; } /** Response for GET /api/recordings/[id] (status 200) - Recording details */ export interface GetRecordingResponse { id: string; title: string; audioFilePath: string; duration: number; transcript: string; summary: string; isTranscribing: boolean; createdAt: string; } /** Error response for GET /api/recordings/[id] (status 404) - Recording not found */ export interface GetRecordingError404 { error: string; } /** Response for DELETE /api/recordings/[id] (status 200) - Recording deleted */ export interface DeleteRecordingResponse { success: boolean; } /** Error response for DELETE /api/recordings/[id] (status 404) - Recording not found */ export interface DeleteRecordingError404 { error: string; } /** Request body for POST /api/recordings/[id]/transcribe - Transcribe recording */ export interface TranscribeRecordingRequest { } /** Response for POST /api/recordings/[id]/transcribe (status 200) - Transcription started */ export interface TranscribeRecordingResponse { recordingId: string; isTranscribing: boolean; } /** Error response for POST /api/recordings/[id]/transcribe (status 404) - Recording not found */ export interface TranscribeRecordingError404 { error: string; } /** Request body for POST /api/recordings/[id]/summarize - Summarize recording */ export interface SummarizeRecordingRequest { } /** Response for POST /api/recordings/[id]/summarize (status 200) - Summary generated */ export interface SummarizeRecordingResponse { recordingId: string; summary: string; } /** Error response for POST /api/recordings/[id]/summarize (status 400) - No transcript available */ export interface SummarizeRecordingError400 { error: string; } /** Error response for POST /api/recordings/[id]/summarize (status 404) - Recording not found */ export interface SummarizeRecordingError404 { error: string; } /** Response for GET /api/apps (status 200) - Apps list */ export interface ListAppsResponse { apps: unknown[]; total: number; } /** Request body for POST /api/apps/generate - Generate app from recording */ export interface GenerateAppRequest { /** Source recording ID */ recordingId: string; } /** Response for POST /api/apps/generate (status 201) - App generation started */ export interface GenerateAppResponse { id: string; recordingId: string; status: string; } /** Error response for POST /api/apps/generate (status 400) - Recording has no summary */ export interface GenerateAppError400 { error: string; } /** Error response for POST /api/apps/generate (status 404) - Recording not found */ export interface GenerateAppError404 { error: string; } /** Response for GET /api/apps/[id] (status 200) - App details */ export interface GetAppResponse { id: string; recordingId: string; title: string; description: string; htmlContent: string; appType: string; status: string; createdAt: string; } /** Error response for GET /api/apps/[id] (status 404) - App not found */ export interface GetAppError404 { error: string; } /** Response for DELETE /api/apps/[id] (status 200) - App deleted */ export interface DeleteAppResponse { success: boolean; } /** Error response for DELETE /api/apps/[id] (status 404) - App not found */ export interface DeleteAppError404 { error: string; }