/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/auth/register": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Register * @description Register a new user. * * The first registered user automatically becomes an admin. */ post: operations["register_auth_register_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/auth/login": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Login * @description Authenticate user and return JWT tokens. */ post: operations["login_auth_login_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/auth/refresh": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Refresh Token * @description Refresh access token using refresh token. */ post: operations["refresh_token_auth_refresh_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/auth/me": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Me * @description Get current authenticated user. */ get: operations["get_me_auth_me_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/admin/users": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List Users * @description List all users (admin only). */ get: operations["list_users_admin_users_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/admin/users/{user_id}/role": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; /** * Update User Role * @description Update a user's role (admin only). */ patch: operations["update_user_role_admin_users__user_id__role_patch"]; trace?: never; }; "/admin/users/{user_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** * Delete User * @description Delete a user (admin only). */ delete: operations["delete_user_admin_users__user_id__delete"]; options?: never; head?: never; patch?: never; trace?: never; }; "/analytics": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Analytics * @description Get analytics data (authenticated users only). */ get: operations["get_analytics_analytics_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/health": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Health Check * @description Check API health status. */ get: operations["health_check_health_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/analyze/{company_name}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Analyze Company * @description Analyze a single company's patent portfolio. * * This endpoint retrieves recent patents for the specified company, * parses them, and uses AI to generate a comprehensive analysis. * * Args: * company_name: Name of the company to analyze (e.g., "nvidia", "intel") * * Returns: * Analysis results including patent count, AI insights, and success status */ get: operations["analyze_company_analyze__company_name__get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/analyze/batch": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Analyze Companies Batch * @description Analyze multiple companies' patent portfolios. * * Processes companies concurrently for improved performance. * Limited to 20 companies per request. * * Args: * request: List of company names and optional worker count * * Returns: * Batch results with individual company analyses and summary statistics */ post: operations["analyze_companies_batch_analyze_batch_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/analyze/batch/async": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Analyze Companies Async * @description Start an asynchronous batch analysis job. * * Returns immediately with a job ID that can be used to poll for status. * Useful for large batch analyses that may take a long time. * * Args: * request: List of company names and optional worker count * * Returns: * Job status with job_id for polling */ post: operations["analyze_companies_async_analyze_batch_async_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/jobs/{job_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Job Status * @description Get the status of a background analysis job. * * Args: * job_id: The job ID returned from the async batch endpoint * * Returns: * Current job status including progress and results when complete */ get: operations["get_job_status_jobs__job_id__get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/jobs": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List Jobs * @description List all analysis jobs. * * Args: * status: Optional filter by job status * limit: Maximum number of jobs to return (default 10, max 100) * * Returns: * List of job statuses */ get: operations["list_jobs_jobs_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { /** * AnalyticsResponse * @description Analytics response model. */ AnalyticsResponse: { /** Total Messages */ total_messages: number; /** By Company */ by_company: { [key: string]: unknown; }[]; /** By Type */ by_type: { [key: string]: unknown; }[]; /** Period Days */ period_days: number; }; /** * BatchAnalysisRequest * @description Request model for batch company analysis. */ BatchAnalysisRequest: { /** * Companies * @description List of company names to analyze */ companies: string[]; /** * Max Workers * @description Max concurrent analyses * @default 3 */ max_workers: number; }; /** * BatchAnalysisResponse * @description Response model for batch company analysis. */ BatchAnalysisResponse: { /** Results */ results: components["schemas"]["CompanyAnalysisResponse"][]; /** Total Companies */ total_companies: number; /** Successful */ successful: number; /** Failed */ failed: number; /** * Timestamp * Format: date-time */ timestamp: string; }; /** * CompanyAnalysisResponse * @description Response model for single company analysis. */ CompanyAnalysisResponse: { /** Company Name */ company_name: string; /** Analysis */ analysis: string; /** Patent Count */ patent_count: number; /** Success */ success: boolean; /** Error */ error?: string | null; /** * Timestamp * Format: date-time */ timestamp: string; }; /** HTTPValidationError */ HTTPValidationError: { /** Detail */ detail?: components["schemas"]["ValidationError"][]; }; /** * HealthResponse * @description Health check response. */ HealthResponse: { /** Status */ status: string; /** Version */ version: string; /** * Timestamp * Format: date-time */ timestamp: string; }; /** * JobStatus * @description Status of a background analysis job. */ JobStatus: { /** Job Id */ job_id: string; /** Status */ status: string; /** Progress */ progress: number; /** Total Companies */ total_companies: number; /** Completed Companies */ completed_companies: number; result?: components["schemas"]["BatchAnalysisResponse"] | null; /** Error */ error?: string | null; }; /** * LoginRequest * @description User login request. */ LoginRequest: { /** * Email * Format: email */ email: string; /** Password */ password: string; }; /** * RefreshRequest * @description Token refresh request. */ RefreshRequest: { /** Refresh Token */ refresh_token: string; }; /** * RegisterRequest * @description User registration request. */ RegisterRequest: { /** * Email * Format: email */ email: string; /** * Password * @description Password (min 8 characters) */ password: string; }; /** * TokenResponse * @description Token response model. */ TokenResponse: { /** Access Token */ access_token: string; /** Refresh Token */ refresh_token: string; /** * Token Type * @default bearer */ token_type: string; }; /** * UpdateRoleRequest * @description Update user role request. */ UpdateRoleRequest: { /** Role */ role: string; }; /** * UserResponse * @description User response model. */ UserResponse: { /** Id */ id: number; /** Email */ email: string; /** Role */ role: string; /** * Created At * Format: date-time */ created_at: string; }; /** ValidationError */ ValidationError: { /** Location */ loc: (string | number)[]; /** Message */ msg: string; /** Error Type */ type: string; /** Input */ input?: unknown; /** Context */ ctx?: Record; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { register_auth_register_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["RegisterRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; login_auth_login_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["LoginRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TokenResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; refresh_token_auth_refresh_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["RefreshRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TokenResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_me_auth_me_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserResponse"]; }; }; }; }; list_users_admin_users_get: { parameters: { query?: { limit?: number; offset?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserResponse"][]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; update_user_role_admin_users__user_id__role_patch: { parameters: { query?: never; header?: never; path: { user_id: number; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateRoleRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; delete_user_admin_users__user_id__delete: { parameters: { query?: never; header?: never; path: { user_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_analytics_analytics_get: { parameters: { query?: { days?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AnalyticsResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; health_check_health_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HealthResponse"]; }; }; }; }; analyze_company_analyze__company_name__get: { parameters: { query?: never; header?: never; path: { company_name: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CompanyAnalysisResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; analyze_companies_batch_analyze_batch_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["BatchAnalysisRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["BatchAnalysisResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; analyze_companies_async_analyze_batch_async_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["BatchAnalysisRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["JobStatus"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_job_status_jobs__job_id__get: { parameters: { query?: never; header?: never; path: { job_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["JobStatus"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; list_jobs_jobs_get: { parameters: { query?: { /** @description Filter by status: pending, running, completed, failed */ status?: string | null; limit?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["JobStatus"][]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; }