{"openapi":"3.1.0","info":{"title":"API para procesamiento de Facturas","description":"API de extracción de datos de Facturas con IA","version":"1.0.0"},"paths":{"/users/":{"post":{"tags":["users"],"summary":"Create User","description":"Endpoint para crear un usuario","operationId":"create_user_users__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/remaining-queries/":{"get":{"tags":["users"],"summary":"Get Remaining Queries","description":"Endpoint para obtener las consultas restantes de un usuario","operationId":"get_remaining_queries_users_remaining_queries__get","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","title":"Email"}},{"name":"api_key","in":"query","required":true,"schema":{"type":"string","title":"Api Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/reset-api-key/":{"post":{"tags":["users"],"summary":"Reset Api Key","description":"Endpoint para resetear la clave API de un usuario","operationId":"reset_api_key_users_reset_api_key__post","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","format":"email","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/analyze-invoice/":{"post":{"tags":["invoices"],"summary":"Analyze Invoice","description":"Endpoint para analizar una factura con IA","operationId":"analyze_invoice_analyze_invoice__post","parameters":[{"name":"api_key","in":"query","required":false,"schema":{"type":"string","title":"Api Key"}},{"name":"email","in":"query","required":false,"schema":{"type":"string","title":"Email"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_analyze_invoice_analyze_invoice__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/analyze-invoices-bulk/":{"post":{"tags":["invoices"],"summary":"Analyze Invoices Bulk Endpoint","description":"Endpoint para analizar múltiples facturas con IA en paralelo\nUsa un pool de workers configurado en MAX_WORKERS (.env)","operationId":"analyze_invoices_bulk_endpoint_analyze_invoices_bulk__post","parameters":[{"name":"api_key","in":"query","required":false,"schema":{"type":"string","title":"Api Key"}},{"name":"email","in":"query","required":false,"schema":{"type":"string","title":"Email"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_analyze_invoices_bulk_endpoint_analyze_invoices_bulk__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_analyze_invoice_analyze_invoice__post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_analyze_invoice_analyze_invoice__post"},"Body_analyze_invoices_bulk_endpoint_analyze_invoices_bulk__post":{"properties":{"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files"}},"type":"object","required":["files"],"title":"Body_analyze_invoices_bulk_endpoint_analyze_invoices_bulk__post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"UserCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"UserCreate"},"UserResponse":{"properties":{"email":{"type":"string","title":"Email"},"enabled":{"type":"boolean","title":"Enabled"},"max_monthly_queries":{"type":"integer","title":"Max Monthly Queries"}},"type":"object","required":["email","enabled","max_monthly_queries"],"title":"UserResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}