{"openapi":"3.1.0","info":{"title":"GESTORA API","description":"API para la gestión de finanzas personales.","version":"0.1.0"},"paths":{"/api/auth/login":{"post":{"tags":["auth"],"summary":"Login Route","operationId":"login_route_api_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLogin"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/users/register":{"post":{"tags":["users"],"summary":"Register Route","operationId":"register_route_api_users_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/users/me":{"get":{"tags":["users"],"summary":"Me Route","operationId":"me_route_api_users_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/profiles":{"post":{"tags":["profiles"],"summary":"Create Profile Route","operationId":"create_profile_route_api_profiles_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/profiles/me":{"get":{"tags":["profiles"],"summary":"Get My Profile Route","operationId":"get_my_profile_route_api_profiles_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileResponse"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["profiles"],"summary":"Delete My Profile Route","operationId":"delete_my_profile_route_api_profiles_me_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["profiles"],"summary":"Update My Profile Route","operationId":"update_my_profile_route_api_profiles_me_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/categories":{"get":{"tags":["categories"],"summary":"List Categories Route","operationId":"list_categories_route_api_categories_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CategoryResponse"},"type":"array","title":"Response List Categories Route Api Categories Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["categories"],"summary":"Create Category Route","operationId":"create_category_route_api_categories_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/categories/{id_categoria}":{"get":{"tags":["categories"],"summary":"Get Category Route","operationId":"get_category_route_api_categories__id_categoria__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_categoria","in":"path","required":true,"schema":{"type":"integer","title":"Id Categoria"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["categories"],"summary":"Update Category Route","operationId":"update_category_route_api_categories__id_categoria__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_categoria","in":"path","required":true,"schema":{"type":"integer","title":"Id Categoria"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["categories"],"summary":"Delete Category Route","operationId":"delete_category_route_api_categories__id_categoria__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_categoria","in":"path","required":true,"schema":{"type":"integer","title":"Id Categoria"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/consumos":{"get":{"tags":["consumos"],"summary":"List Consumos Route","operationId":"list_consumos_route_api_consumos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ConsumoResponse"},"type":"array","title":"Response List Consumos Route Api Consumos Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["consumos"],"summary":"Create Consumo Route","operationId":"create_consumo_route_api_consumos_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsumoCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsumoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/consumos/{id_consumo}":{"get":{"tags":["consumos"],"summary":"Get Consumo Route","operationId":"get_consumo_route_api_consumos__id_consumo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_consumo","in":"path","required":true,"schema":{"type":"integer","title":"Id Consumo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsumoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["consumos"],"summary":"Update Consumo Route","operationId":"update_consumo_route_api_consumos__id_consumo__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_consumo","in":"path","required":true,"schema":{"type":"integer","title":"Id Consumo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsumoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsumoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["consumos"],"summary":"Delete Consumo Route","operationId":"delete_consumo_route_api_consumos__id_consumo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_consumo","in":"path","required":true,"schema":{"type":"integer","title":"Id Consumo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/monthly-records":{"get":{"tags":["monthly-records"],"summary":"List Monthly Records Route","operationId":"list_monthly_records_route_api_monthly_records_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MonthlyRecordResponse"},"type":"array","title":"Response List Monthly Records Route Api Monthly Records Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["monthly-records"],"summary":"Create Monthly Record Route","operationId":"create_monthly_record_route_api_monthly_records_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonthlyRecordCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonthlyRecordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/monthly-records/{id_registro}":{"get":{"tags":["monthly-records"],"summary":"Get Monthly Record Route","operationId":"get_monthly_record_route_api_monthly_records__id_registro__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_registro","in":"path","required":true,"schema":{"type":"integer","title":"Id Registro"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonthlyRecordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["monthly-records"],"summary":"Delete Monthly Record Route","operationId":"delete_monthly_record_route_api_monthly_records__id_registro__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_registro","in":"path","required":true,"schema":{"type":"integer","title":"Id Registro"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/incomes/fixed":{"get":{"tags":["incomes"],"summary":"List Route","operationId":"list_route_api_incomes_fixed_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FixedIncomeResponse"},"type":"array","title":"Response List Route Api Incomes Fixed Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["incomes"],"summary":"Create Route","operationId":"create_route_api_incomes_fixed_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedIncomeCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedIncomeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/incomes/fixed/{id_ingreso_fijo}":{"get":{"tags":["incomes"],"summary":"Get Route","operationId":"get_route_api_incomes_fixed__id_ingreso_fijo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_ingreso_fijo","in":"path","required":true,"schema":{"type":"integer","title":"Id Ingreso Fijo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedIncomeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["incomes"],"summary":"Update Route","operationId":"update_route_api_incomes_fixed__id_ingreso_fijo__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_ingreso_fijo","in":"path","required":true,"schema":{"type":"integer","title":"Id Ingreso Fijo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedIncomeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedIncomeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["incomes"],"summary":"Delete Route","operationId":"delete_route_api_incomes_fixed__id_ingreso_fijo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_ingreso_fijo","in":"path","required":true,"schema":{"type":"integer","title":"Id Ingreso Fijo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/incomes/occasional":{"get":{"tags":["incomes"],"summary":"List Route","operationId":"list_route_api_incomes_occasional_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OccasionalIncomeResponse"},"type":"array","title":"Response List Route Api Incomes Occasional Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["incomes"],"summary":"Create Route","operationId":"create_route_api_incomes_occasional_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccasionalIncomeCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccasionalIncomeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/incomes/occasional/{id_ingreso_eventual}":{"get":{"tags":["incomes"],"summary":"Get Route","operationId":"get_route_api_incomes_occasional__id_ingreso_eventual__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_ingreso_eventual","in":"path","required":true,"schema":{"type":"integer","title":"Id Ingreso Eventual"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccasionalIncomeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["incomes"],"summary":"Update Route","operationId":"update_route_api_incomes_occasional__id_ingreso_eventual__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_ingreso_eventual","in":"path","required":true,"schema":{"type":"integer","title":"Id Ingreso Eventual"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccasionalIncomeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccasionalIncomeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["incomes"],"summary":"Delete Route","operationId":"delete_route_api_incomes_occasional__id_ingreso_eventual__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_ingreso_eventual","in":"path","required":true,"schema":{"type":"integer","title":"Id Ingreso Eventual"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/expenses/fixed":{"get":{"tags":["expenses"],"summary":"List Route","operationId":"list_route_api_expenses_fixed_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FixedExpenseResponse"},"type":"array","title":"Response List Route Api Expenses Fixed Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["expenses"],"summary":"Create Route","operationId":"create_route_api_expenses_fixed_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedExpenseCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedExpenseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/expenses/fixed/{id_gasto_fijo}":{"get":{"tags":["expenses"],"summary":"Get Route","operationId":"get_route_api_expenses_fixed__id_gasto_fijo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_gasto_fijo","in":"path","required":true,"schema":{"type":"integer","title":"Id Gasto Fijo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedExpenseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["expenses"],"summary":"Update Route","operationId":"update_route_api_expenses_fixed__id_gasto_fijo__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_gasto_fijo","in":"path","required":true,"schema":{"type":"integer","title":"Id Gasto Fijo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedExpenseUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedExpenseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["expenses"],"summary":"Delete Route","operationId":"delete_route_api_expenses_fixed__id_gasto_fijo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_gasto_fijo","in":"path","required":true,"schema":{"type":"integer","title":"Id Gasto Fijo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/expenses/occasional":{"get":{"tags":["expenses"],"summary":"List Route","operationId":"list_route_api_expenses_occasional_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OccasionalExpenseResponse"},"type":"array","title":"Response List Route Api Expenses Occasional Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["expenses"],"summary":"Create Route","operationId":"create_route_api_expenses_occasional_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccasionalExpenseCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccasionalExpenseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/expenses/occasional/{id_gasto_eventual}":{"get":{"tags":["expenses"],"summary":"Get Route","operationId":"get_route_api_expenses_occasional__id_gasto_eventual__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_gasto_eventual","in":"path","required":true,"schema":{"type":"integer","title":"Id Gasto Eventual"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccasionalExpenseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["expenses"],"summary":"Update Route","operationId":"update_route_api_expenses_occasional__id_gasto_eventual__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_gasto_eventual","in":"path","required":true,"schema":{"type":"integer","title":"Id Gasto Eventual"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccasionalExpenseUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccasionalExpenseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["expenses"],"summary":"Delete Route","operationId":"delete_route_api_expenses_occasional__id_gasto_eventual__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_gasto_eventual","in":"path","required":true,"schema":{"type":"integer","title":"Id Gasto Eventual"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reports/balance/{anio}/{mes}":{"get":{"tags":["reports"],"summary":"Balance Route","operationId":"balance_route_api_reports_balance__anio___mes__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"anio","in":"path","required":true,"schema":{"type":"integer","title":"Anio"}},{"name":"mes","in":"path","required":true,"schema":{"type":"integer","title":"Mes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BalanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reports/compare/{anio_base}/{mes_base}/vs/{anio_cmp}/{mes_cmp}":{"get":{"tags":["reports"],"summary":"Compare Route","operationId":"compare_route_api_reports_compare__anio_base___mes_base__vs__anio_cmp___mes_cmp__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"anio_base","in":"path","required":true,"schema":{"type":"integer","title":"Anio Base"}},{"name":"mes_base","in":"path","required":true,"schema":{"type":"integer","title":"Mes Base"}},{"name":"anio_cmp","in":"path","required":true,"schema":{"type":"integer","title":"Anio Cmp"}},{"name":"mes_cmp","in":"path","required":true,"schema":{"type":"integer","title":"Mes Cmp"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reports/top-expenses/{anio}/{mes}":{"get":{"tags":["reports"],"summary":"Top Expenses Route","operationId":"top_expenses_route_api_reports_top_expenses__anio___mes__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"anio","in":"path","required":true,"schema":{"type":"integer","title":"Anio"}},{"name":"mes","in":"path","required":true,"schema":{"type":"integer","title":"Mes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TopExpenseItem"},"title":"Response Top Expenses Route Api Reports Top Expenses  Anio   Mes  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"BalanceResponse":{"properties":{"anio":{"type":"integer","title":"Anio"},"mes":{"type":"integer","title":"Mes"},"total_ingresos_fijos":{"type":"number","title":"Total Ingresos Fijos"},"total_ingresos_eventuales":{"type":"number","title":"Total Ingresos Eventuales"},"total_ingresos":{"type":"number","title":"Total Ingresos"},"total_gastos_fijos":{"type":"number","title":"Total Gastos Fijos"},"total_gastos_eventuales":{"type":"number","title":"Total Gastos Eventuales"},"total_gastos":{"type":"number","title":"Total Gastos"},"balance":{"type":"number","title":"Balance"},"estado":{"type":"string","title":"Estado"}},"type":"object","required":["anio","mes","total_ingresos_fijos","total_ingresos_eventuales","total_ingresos","total_gastos_fijos","total_gastos_eventuales","total_gastos","balance","estado"],"title":"BalanceResponse"},"CategoryCreate":{"properties":{"nombre":{"type":"string","title":"Nombre"},"tipo":{"type":"string","title":"Tipo"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["nombre","tipo"],"title":"CategoryCreate"},"CategoryResponse":{"properties":{"id_categoria":{"type":"integer","title":"Id Categoria"},"id_usuario":{"type":"integer","title":"Id Usuario"},"nombre":{"type":"string","title":"Nombre"},"tipo":{"type":"string","title":"Tipo"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"}},"type":"object","required":["id_categoria","id_usuario","nombre","tipo","color","fecha_creacion"],"title":"CategoryResponse"},"CategoryUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"tipo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","title":"CategoryUpdate"},"CompareResponse":{"properties":{"base":{"$ref":"#/components/schemas/MonthSummary"},"comparado":{"$ref":"#/components/schemas/MonthSummary"},"variacion":{"$ref":"#/components/schemas/Variation"}},"type":"object","required":["base","comparado","variacion"],"title":"CompareResponse"},"ConsumoCreate":{"properties":{"id_categoria":{"type":"integer","title":"Id Categoria"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","required":["id_categoria","nombre"],"title":"ConsumoCreate"},"ConsumoResponse":{"properties":{"id_consumo":{"type":"integer","title":"Id Consumo"},"id_usuario":{"type":"integer","title":"Id Usuario"},"id_categoria":{"type":"integer","title":"Id Categoria"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"}},"type":"object","required":["id_consumo","id_usuario","id_categoria","nombre","descripcion","fecha_creacion"],"title":"ConsumoResponse"},"ConsumoUpdate":{"properties":{"id_categoria":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Categoria"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","title":"ConsumoUpdate"},"FixedExpenseCreate":{"properties":{"id_registro_mensual":{"type":"integer","title":"Id Registro Mensual"},"id_consumo":{"type":"integer","title":"Id Consumo"},"monto":{"type":"number","title":"Monto"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"}},"type":"object","required":["id_registro_mensual","id_consumo","monto"],"title":"FixedExpenseCreate"},"FixedExpenseResponse":{"properties":{"id_gasto_fijo":{"type":"integer","title":"Id Gasto Fijo"},"id_registro_mensual":{"type":"integer","title":"Id Registro Mensual"},"id_consumo":{"type":"integer","title":"Id Consumo"},"monto":{"type":"number","title":"Monto"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"}},"type":"object","required":["id_gasto_fijo","id_registro_mensual","id_consumo","monto","observaciones","fecha_creacion"],"title":"FixedExpenseResponse"},"FixedExpenseUpdate":{"properties":{"id_consumo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Consumo"},"monto":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monto"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"}},"type":"object","title":"FixedExpenseUpdate"},"FixedIncomeCreate":{"properties":{"id_registro_mensual":{"type":"integer","title":"Id Registro Mensual"},"id_consumo":{"type":"integer","title":"Id Consumo"},"monto":{"type":"number","title":"Monto"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"}},"type":"object","required":["id_registro_mensual","id_consumo","monto"],"title":"FixedIncomeCreate"},"FixedIncomeResponse":{"properties":{"id_ingreso_fijo":{"type":"integer","title":"Id Ingreso Fijo"},"id_registro_mensual":{"type":"integer","title":"Id Registro Mensual"},"id_consumo":{"type":"integer","title":"Id Consumo"},"monto":{"type":"number","title":"Monto"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"}},"type":"object","required":["id_ingreso_fijo","id_registro_mensual","id_consumo","monto","observaciones","fecha_creacion"],"title":"FixedIncomeResponse"},"FixedIncomeUpdate":{"properties":{"id_consumo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Consumo"},"monto":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monto"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"}},"type":"object","title":"FixedIncomeUpdate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"MonthSummary":{"properties":{"anio":{"type":"integer","title":"Anio"},"mes":{"type":"integer","title":"Mes"},"total_ingresos_fijos":{"type":"number","title":"Total Ingresos Fijos"},"total_ingresos_eventuales":{"type":"number","title":"Total Ingresos Eventuales"},"total_ingresos":{"type":"number","title":"Total Ingresos"},"total_gastos_fijos":{"type":"number","title":"Total Gastos Fijos"},"total_gastos_eventuales":{"type":"number","title":"Total Gastos Eventuales"},"total_gastos":{"type":"number","title":"Total Gastos"},"balance":{"type":"number","title":"Balance"},"estado":{"type":"string","title":"Estado"}},"type":"object","required":["anio","mes","total_ingresos_fijos","total_ingresos_eventuales","total_ingresos","total_gastos_fijos","total_gastos_eventuales","total_gastos","balance","estado"],"title":"MonthSummary"},"MonthlyRecordCreate":{"properties":{"anio":{"type":"integer","title":"Anio"},"mes":{"type":"integer","title":"Mes"}},"type":"object","required":["anio","mes"],"title":"MonthlyRecordCreate"},"MonthlyRecordResponse":{"properties":{"id_registro_mensual":{"type":"integer","title":"Id Registro Mensual"},"id_usuario":{"type":"integer","title":"Id Usuario"},"anio":{"type":"integer","title":"Anio"},"mes":{"type":"integer","title":"Mes"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"}},"type":"object","required":["id_registro_mensual","id_usuario","anio","mes","fecha_creacion"],"title":"MonthlyRecordResponse"},"OccasionalExpenseCreate":{"properties":{"id_registro_mensual":{"type":"integer","title":"Id Registro Mensual"},"id_consumo":{"type":"integer","title":"Id Consumo"},"monto":{"type":"number","title":"Monto"},"fecha":{"type":"string","format":"date-time","title":"Fecha"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"}},"type":"object","required":["id_registro_mensual","id_consumo","monto","fecha"],"title":"OccasionalExpenseCreate"},"OccasionalExpenseResponse":{"properties":{"id_gasto_eventual":{"type":"integer","title":"Id Gasto Eventual"},"id_registro_mensual":{"type":"integer","title":"Id Registro Mensual"},"id_consumo":{"type":"integer","title":"Id Consumo"},"monto":{"type":"number","title":"Monto"},"fecha":{"type":"string","format":"date-time","title":"Fecha"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"}},"type":"object","required":["id_gasto_eventual","id_registro_mensual","id_consumo","monto","fecha","observaciones","fecha_creacion"],"title":"OccasionalExpenseResponse"},"OccasionalExpenseUpdate":{"properties":{"id_consumo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Consumo"},"monto":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monto"},"fecha":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"}},"type":"object","title":"OccasionalExpenseUpdate"},"OccasionalIncomeCreate":{"properties":{"id_registro_mensual":{"type":"integer","title":"Id Registro Mensual"},"id_consumo":{"type":"integer","title":"Id Consumo"},"monto":{"type":"number","title":"Monto"},"fecha":{"type":"string","format":"date-time","title":"Fecha"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"}},"type":"object","required":["id_registro_mensual","id_consumo","monto","fecha"],"title":"OccasionalIncomeCreate"},"OccasionalIncomeResponse":{"properties":{"id_ingreso_eventual":{"type":"integer","title":"Id Ingreso Eventual"},"id_registro_mensual":{"type":"integer","title":"Id Registro Mensual"},"id_consumo":{"type":"integer","title":"Id Consumo"},"monto":{"type":"number","title":"Monto"},"fecha":{"type":"string","format":"date-time","title":"Fecha"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"}},"type":"object","required":["id_ingreso_eventual","id_registro_mensual","id_consumo","monto","fecha","observaciones","fecha_creacion"],"title":"OccasionalIncomeResponse"},"OccasionalIncomeUpdate":{"properties":{"id_consumo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Consumo"},"monto":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monto"},"fecha":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"}},"type":"object","title":"OccasionalIncomeUpdate"},"ProfileCreate":{"properties":{"nombre_completo":{"type":"string","title":"Nombre Completo"},"ocupacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ocupacion"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["nombre_completo"],"title":"ProfileCreate"},"ProfileResponse":{"properties":{"id_perfil":{"type":"integer","title":"Id Perfil"},"id_usuario":{"type":"integer","title":"Id Usuario"},"nombre_completo":{"type":"string","title":"Nombre Completo"},"ocupacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ocupacion"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"fecha_actualizacion":{"type":"string","format":"date-time","title":"Fecha Actualizacion"}},"type":"object","required":["id_perfil","id_usuario","nombre_completo","ocupacion","avatar_url","fecha_actualizacion"],"title":"ProfileResponse"},"ProfileUpdate":{"properties":{"nombre_completo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Completo"},"ocupacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ocupacion"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","title":"ProfileUpdate"},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type"},"user":{"$ref":"#/components/schemas/UserInToken"}},"type":"object","required":["access_token","token_type","user"],"title":"TokenResponse"},"TopExpenseItem":{"properties":{"id_gasto_eventual":{"type":"integer","title":"Id Gasto Eventual"},"id_registro_mensual":{"type":"integer","title":"Id Registro Mensual"},"id_consumo":{"type":"integer","title":"Id Consumo"},"monto":{"type":"number","title":"Monto"},"fecha":{"type":"string","format":"date-time","title":"Fecha"},"observaciones":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observaciones"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"}},"type":"object","required":["id_gasto_eventual","id_registro_mensual","id_consumo","monto","fecha","observaciones","fecha_creacion"],"title":"TopExpenseItem"},"UserCreate":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"UserCreate"},"UserInToken":{"properties":{"id_usuario":{"type":"integer","title":"Id Usuario"},"email":{"type":"string","title":"Email"},"activo":{"type":"boolean","title":"Activo"}},"type":"object","required":["id_usuario","email","activo"],"title":"UserInToken"},"UserLogin":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"UserLogin"},"UserResponse":{"properties":{"id_usuario":{"type":"integer","title":"Id Usuario"},"email":{"type":"string","title":"Email"},"activo":{"type":"boolean","title":"Activo"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"}},"type":"object","required":["id_usuario","email","activo","fecha_creacion"],"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"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Variation":{"properties":{"ingresos_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ingresos Pct"},"gastos_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gastos Pct"},"balance_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Balance Pct"},"diferencia_ingresos":{"type":"number","title":"Diferencia Ingresos"},"diferencia_gastos":{"type":"number","title":"Diferencia Gastos"},"diferencia_balance":{"type":"number","title":"Diferencia Balance"}},"type":"object","required":["ingresos_pct","gastos_pct","balance_pct","diferencia_ingresos","diferencia_gastos","diferencia_balance"],"title":"Variation"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}