{"openapi":"3.1.0","info":{"title":"Oráculo API","description":"API REST do sistema Oráculo para gerenciamento financeiro pessoal.\n\nComece por `/api` para ver a visão geral dos módulos, links rápidos e fluxo recomendado.\n\nFluxo sugerido:\n1. Faça o setup do usuário inicial e login.\n2. Cadastre contas, cartões, linhas de crédito e beneficiários.\n3. Registre contas fixas e gere ou acompanhe pendências do mês.\n4. Consulte dashboard, categorias e recursos de IA conforme necessário.","version":"1.2.0"},"paths":{"/api/v1/auth/login":{"post":{"tags":["Autenticação"],"summary":"Login","operationId":"login_api_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioLogin"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/setup":{"post":{"tags":["Autenticação"],"summary":"Setup Usuario Inicial","description":"Cria usuário inicial se não existir nenhum","operationId":"setup_usuario_inicial_api_v1_auth_setup_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/contas":{"get":{"tags":["Contas"],"summary":"Listar contas bancárias","description":"Retorna as contas cadastradas. Use `ativo=true` para ver apenas contas ativas.","operationId":"listar_contas_api_v1_contas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"ativo","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ativo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContaBancariaResponse"},"title":"Response Listar Contas Api V1 Contas Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Contas"],"summary":"Criar conta bancária","description":"Cadastra uma nova conta com nome, tipo, saldo inicial e demais dados opcionais.","operationId":"criar_conta_api_v1_contas_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaBancariaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaBancariaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contas/{conta_id}":{"get":{"tags":["Contas"],"summary":"Obter uma conta bancária","description":"Busca uma conta específica pelo ID.","operationId":"obter_conta_api_v1_contas__conta_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"conta_id","in":"path","required":true,"schema":{"type":"integer","title":"Conta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaBancariaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Contas"],"summary":"Atualizar conta bancária","description":"Altera os dados principais da conta informada.","operationId":"atualizar_conta_api_v1_contas__conta_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"conta_id","in":"path","required":true,"schema":{"type":"integer","title":"Conta Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaBancariaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaBancariaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contas/{conta_id}/saldo":{"patch":{"tags":["Contas"],"summary":"Atualizar saldo da conta","description":"Atualiza o saldo atual e grava automaticamente um item no histórico de saldo.","operationId":"atualizar_saldo_conta_api_v1_contas__conta_id__saldo_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"conta_id","in":"path","required":true,"schema":{"type":"integer","title":"Conta Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaBancariaUpdateSaldo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaBancariaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contas/{conta_id}/historico":{"get":{"tags":["Contas"],"summary":"Listar histórico de saldo","description":"Mostra as alterações de saldo já registradas para a conta informada.","operationId":"obter_historico_conta_api_v1_contas__conta_id__historico_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"conta_id","in":"path","required":true,"schema":{"type":"integer","title":"Conta Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HistoricoSaldoResponse"},"title":"Response Obter Historico Conta Api V1 Contas  Conta Id  Historico Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cartoes":{"get":{"tags":["Cartões"],"summary":"Listar cartões","description":"Retorna os cartões cadastrados e permite filtrar pelo campo `ativo`.","operationId":"listar_cartoes_api_v1_cartoes_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"ativo","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ativo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CartaoCreditoResponse"},"title":"Response Listar Cartoes Api V1 Cartoes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Cartões"],"summary":"Criar cartão","description":"Cadastra um novo cartão de crédito com limites e datas de fechamento e vencimento.","operationId":"criar_cartao_api_v1_cartoes_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartaoCreditoCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartaoCreditoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cartoes/{cartao_id}":{"get":{"tags":["Cartões"],"summary":"Obter um cartão","description":"Busca um cartão de crédito específico pelo ID.","operationId":"obter_cartao_api_v1_cartoes__cartao_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cartao_id","in":"path","required":true,"schema":{"type":"integer","title":"Cartao Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartaoCreditoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Cartões"],"summary":"Atualizar cartão","description":"Altera os dados principais do cartão informado.","operationId":"atualizar_cartao_api_v1_cartoes__cartao_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cartao_id","in":"path","required":true,"schema":{"type":"integer","title":"Cartao Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartaoCreditoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartaoCreditoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Cartões"],"summary":"Desativar cartão","description":"Marca o cartão como inativo sem apagar o histórico.","operationId":"deletar_cartao_api_v1_cartoes__cartao_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cartao_id","in":"path","required":true,"schema":{"type":"integer","title":"Cartao Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cartoes/{cartao_id}/limite":{"patch":{"tags":["Cartões"],"summary":"Atualizar limite do cartão","description":"Atualiza o limite total e/ou o limite disponível do cartão.","operationId":"atualizar_limite_cartao_api_v1_cartoes__cartao_id__limite_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cartao_id","in":"path","required":true,"schema":{"type":"integer","title":"Cartao Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartaoCreditoUpdateLimite"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartaoCreditoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/credito":{"get":{"tags":["Crédito"],"summary":"Listar linhas de crédito","description":"Lista empréstimos e linhas de crédito cadastrados.","operationId":"listar_linhas_credito_api_v1_credito_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"ativo","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ativo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LinhaCreditoResponse"},"title":"Response Listar Linhas Credito Api V1 Credito Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Crédito"],"summary":"Criar linha de crédito","description":"Cadastra um empréstimo ou linha de crédito com parcelas, juros e vencimento.","operationId":"criar_linha_credito_api_v1_credito_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinhaCreditoCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinhaCreditoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/credito/{credito_id}":{"get":{"tags":["Crédito"],"summary":"Obter uma linha de crédito","description":"Busca uma linha de crédito específica pelo ID.","operationId":"obter_linha_credito_api_v1_credito__credito_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"credito_id","in":"path","required":true,"schema":{"type":"integer","title":"Credito Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinhaCreditoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Crédito"],"summary":"Atualizar linha de crédito","description":"Altera os dados principais de uma linha de crédito já cadastrada.","operationId":"atualizar_linha_credito_api_v1_credito__credito_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"credito_id","in":"path","required":true,"schema":{"type":"integer","title":"Credito Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinhaCreditoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinhaCreditoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Crédito"],"summary":"Desativar linha de crédito","description":"Marca a linha de crédito como inativa.","operationId":"deletar_linha_credito_api_v1_credito__credito_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"credito_id","in":"path","required":true,"schema":{"type":"integer","title":"Credito Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/beneficiarios":{"get":{"tags":["Beneficiários"],"summary":"Listar beneficiários","description":"Lista beneficiários recorrentes e chaves PIX cadastradas.","operationId":"listar_beneficiarios_api_v1_beneficiarios_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"ativo","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ativo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BeneficiarioResponse"},"title":"Response Listar Beneficiarios Api V1 Beneficiarios Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Beneficiários"],"summary":"Criar beneficiário","description":"Cadastra um beneficiário para uso em contas fixas e pagamentos.","operationId":"criar_beneficiario_api_v1_beneficiarios_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeneficiarioCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeneficiarioResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/beneficiarios/{beneficiario_id}":{"get":{"tags":["Beneficiários"],"summary":"Obter um beneficiário","description":"Busca um beneficiário específico pelo ID.","operationId":"obter_beneficiario_api_v1_beneficiarios__beneficiario_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"beneficiario_id","in":"path","required":true,"schema":{"type":"integer","title":"Beneficiario Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeneficiarioResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Beneficiários"],"summary":"Atualizar beneficiário","description":"Altera os dados do beneficiário informado.","operationId":"atualizar_beneficiario_api_v1_beneficiarios__beneficiario_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"beneficiario_id","in":"path","required":true,"schema":{"type":"integer","title":"Beneficiario Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeneficiarioUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeneficiarioResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Beneficiários"],"summary":"Desativar beneficiário","description":"Marca o beneficiário como inativo.","operationId":"deletar_beneficiario_api_v1_beneficiarios__beneficiario_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"beneficiario_id","in":"path","required":true,"schema":{"type":"integer","title":"Beneficiario Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contas-fixas":{"get":{"tags":["Contas Fixas"],"summary":"Listar contas fixas","description":"Lista despesas recorrentes cadastradas e permite filtrar por tipo e status.","operationId":"listar_contas_fixas_api_v1_contas_fixas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"ativo","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ativo"}},{"name":"tipo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContaFixaResponse"},"title":"Response Listar Contas Fixas Api V1 Contas Fixas Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Contas Fixas"],"summary":"Criar conta fixa","description":"Cadastra uma despesa recorrente com valor, recorrência e vencimento.","operationId":"criar_conta_fixa_api_v1_contas_fixas_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaFixaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaFixaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contas-fixas/{conta_fixa_id}":{"get":{"tags":["Contas Fixas"],"summary":"Obter uma conta fixa","description":"Busca uma conta fixa específica pelo ID.","operationId":"obter_conta_fixa_api_v1_contas_fixas__conta_fixa_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"conta_fixa_id","in":"path","required":true,"schema":{"type":"integer","title":"Conta Fixa Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaFixaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Contas Fixas"],"summary":"Atualizar conta fixa","description":"Altera os dados de uma conta fixa já cadastrada.","operationId":"atualizar_conta_fixa_api_v1_contas_fixas__conta_fixa_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"conta_fixa_id","in":"path","required":true,"schema":{"type":"integer","title":"Conta Fixa Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaFixaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContaFixaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Contas Fixas"],"summary":"Desativar conta fixa","description":"Marca a conta fixa como inativa.","operationId":"deletar_conta_fixa_api_v1_contas_fixas__conta_fixa_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"conta_fixa_id","in":"path","required":true,"schema":{"type":"integer","title":"Conta Fixa Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pendencias":{"get":{"tags":["Pendências"],"summary":"Listar pendências","description":"Lista pendências do mês ou do ano informado, com filtros por status, categoria e paginação simples.","operationId":"listar_pendencias_api_v1_pendencias_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"mes","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"title":"Mes"}},{"name":"ano","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2000},{"type":"null"}],"title":"Ano"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"categoria_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Categoria Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PendenciaResponse"},"title":"Response Listar Pendencias Api V1 Pendencias Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Pendências"],"summary":"Criar pendência","description":"Cadastra uma pendência manual, como conta, fatura ou lançamento avulso.","operationId":"criar_pendencia_api_v1_pendencias_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendenciaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendenciaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pendencias/{pendencia_id}":{"put":{"tags":["Pendências"],"summary":"Atualizar pendência","description":"Altera descrição, valor, data, status e observações da pendência.","operationId":"atualizar_pendencia_api_v1_pendencias__pendencia_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pendencia_id","in":"path","required":true,"schema":{"type":"integer","title":"Pendencia Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendenciaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendenciaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Pendências"],"summary":"Cancelar pendência","description":"Cancela a pendência (soft delete). O registro é mantido com status cancelado.","operationId":"deletar_pendencia_api_v1_pendencias__pendencia_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pendencia_id","in":"path","required":true,"schema":{"type":"integer","title":"Pendencia Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pendencias/{pendencia_id}/pagar":{"patch":{"tags":["Pendências"],"summary":"Marcar pendência como paga","description":"Define a pendência como paga e registra a conta ou cartão usado no pagamento.","operationId":"pagar_pendencia_api_v1_pendencias__pendencia_id__pagar_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pendencia_id","in":"path","required":true,"schema":{"type":"integer","title":"Pendencia Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendenciaPagar"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendenciaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pendencias/gerar":{"post":{"tags":["Pendências"],"summary":"Gerar pendências do mês","description":"Executa a rotina do banco que cria pendências do mês a partir das contas fixas.","operationId":"gerar_pendencias_mes_api_v1_pendencias_gerar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"mes","in":"query","required":true,"schema":{"type":"integer","maximum":12,"minimum":1,"title":"Mes"}},{"name":"ano","in":"query","required":true,"schema":{"type":"integer","maximum":2100,"minimum":2000,"title":"Ano"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendenciasGerarResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/categorias":{"get":{"tags":["Categorias"],"summary":"Listar categorias","description":"Retorna as categorias usadas para classificar contas e pendências.","operationId":"listar_categorias_api_v1_categorias_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CategoriaResponse"},"type":"array","title":"Response Listar Categorias Api V1 Categorias Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Categorias"],"summary":"Criar categoria","description":"Cria uma categoria customizada para classificação financeira.","operationId":"criar_categoria_api_v1_categorias_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/categorias/{categoria_id}":{"get":{"tags":["Categorias"],"summary":"Obter uma categoria","description":"Busca uma categoria específica pelo ID.","operationId":"obter_categoria_api_v1_categorias__categoria_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria_id","in":"path","required":true,"schema":{"type":"integer","title":"Categoria Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Categorias"],"summary":"Atualizar categoria","description":"Edita nome, slug, ícone ou cor de uma categoria existente.","operationId":"atualizar_categoria_api_v1_categorias__categoria_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria_id","in":"path","required":true,"schema":{"type":"integer","title":"Categoria Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Categorias"],"summary":"Excluir categoria","description":"Exclui a categoria quando ela não estiver vinculada a contas fixas ou pendências.","operationId":"deletar_categoria_api_v1_categorias__categoria_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria_id","in":"path","required":true,"schema":{"type":"integer","title":"Categoria Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard":{"get":{"tags":["Dashboard"],"summary":"Obter dashboard financeiro","description":"Retorna um resumo com saldo total, reserva, cartões, pendências do mês, projeção e dívidas ativas.","operationId":"obter_dashboard_api_v1_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ia/documentos":{"post":{"tags":["Inteligência Artificial"],"summary":"Upload Documento","description":"Upload de documento para análise de IA","operationId":"upload_documento_api_v1_ia_documentos_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tipo","in":"query","required":true,"schema":{"type":"string","title":"Tipo"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_documento_api_v1_ia_documentos_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentoIAResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Inteligência Artificial"],"summary":"Listar Documentos","description":"Lista documentos enviados para análise","operationId":"listar_documentos_api_v1_ia_documentos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DocumentoIAResponse"},"title":"Response Listar Documentos Api V1 Ia Documentos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ia/documentos/{documento_id}/lancamentos":{"get":{"tags":["Inteligência Artificial"],"summary":"Obter Lancamentos Documento","description":"Lista lançamentos extraídos de um documento","operationId":"obter_lancamentos_documento_api_v1_ia_documentos__documento_id__lancamentos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"documento_id","in":"path","required":true,"schema":{"type":"integer","title":"Documento Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LancamentoIAResponse"},"title":"Response Obter Lancamentos Documento Api V1 Ia Documentos  Documento Id  Lancamentos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ia/documentos/{documento_id}/reprocessar":{"post":{"tags":["Inteligência Artificial"],"summary":"Reprocessar Documento","description":"Reenvia um documento com erro para novo processamento","operationId":"reprocessar_documento_api_v1_ia_documentos__documento_id__reprocessar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"documento_id","in":"path","required":true,"schema":{"type":"integer","title":"Documento Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentoIAResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ia/lancamentos/{lancamento_id}/confirmar":{"patch":{"tags":["Inteligência Artificial"],"summary":"Confirmar Lancamento","description":"Confirma um lançamento extraído e cria pendência","operationId":"confirmar_lancamento_api_v1_ia_lancamentos__lancamento_id__confirmar_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"lancamento_id","in":"path","required":true,"schema":{"type":"integer","title":"Lancamento Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ia/lancamentos/{lancamento_id}/ignorar":{"patch":{"tags":["Inteligência Artificial"],"summary":"Ignorar Lancamento","description":"Ignora um lançamento extraído","operationId":"ignorar_lancamento_api_v1_ia_lancamentos__lancamento_id__ignorar_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"lancamento_id","in":"path","required":true,"schema":{"type":"integer","title":"Lancamento Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/health":{"get":{"summary":"Health Check","operationId":"health_check_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health Check","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"BeneficiarioCreate":{"properties":{"nome":{"type":"string","title":"Nome"},"chave_pix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chave Pix"},"tipo_chave":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Chave"},"banco":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banco"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"},"ativo":{"type":"boolean","title":"Ativo","default":true}},"type":"object","required":["nome"],"title":"BeneficiarioCreate"},"BeneficiarioResponse":{"properties":{"nome":{"type":"string","title":"Nome"},"chave_pix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chave Pix"},"tipo_chave":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Chave"},"banco":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banco"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"},"ativo":{"type":"boolean","title":"Ativo","default":true},"id":{"type":"integer","title":"Id"},"criado_em":{"type":"string","format":"date-time","title":"Criado Em"}},"type":"object","required":["nome","id","criado_em"],"title":"BeneficiarioResponse"},"BeneficiarioUpdate":{"properties":{"nome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nome"},"chave_pix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chave Pix"},"tipo_chave":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Chave"},"banco":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banco"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"},"ativo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ativo"}},"type":"object","title":"BeneficiarioUpdate"},"Body_upload_documento_api_v1_ia_documentos_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_documento_api_v1_ia_documentos_post"},"CartaoCreditoCreate":{"properties":{"nome":{"type":"string","title":"Nome"},"instituicao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instituicao"},"limite_total":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Limite Total","default":"0"},"limite_disponivel":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Limite Disponivel","default":"0"},"dia_fechamento":{"anyOf":[{"type":"integer","maximum":31.0,"minimum":1.0},{"type":"null"}],"title":"Dia Fechamento"},"dia_vencimento":{"anyOf":[{"type":"integer","maximum":31.0,"minimum":1.0},{"type":"null"}],"title":"Dia Vencimento"},"cor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cor"},"ativo":{"type":"boolean","title":"Ativo","default":true},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"}},"type":"object","required":["nome"],"title":"CartaoCreditoCreate"},"CartaoCreditoResponse":{"properties":{"id":{"type":"integer","title":"Id"},"nome":{"type":"string","title":"Nome"},"instituicao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instituicao"},"limite_total":{"type":"number","title":"Limite Total"},"limite_disponivel":{"type":"number","title":"Limite Disponivel"},"dia_fechamento":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dia Fechamento"},"dia_vencimento":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dia Vencimento"},"cor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cor"},"ativo":{"type":"boolean","title":"Ativo"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"},"atualizado_em":{"type":"string","format":"date-time","title":"Atualizado Em"},"criado_em":{"type":"string","format":"date-time","title":"Criado Em"}},"type":"object","required":["id","nome","limite_total","limite_disponivel","ativo","atualizado_em","criado_em"],"title":"CartaoCreditoResponse"},"CartaoCreditoUpdate":{"properties":{"nome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nome"},"instituicao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instituicao"},"limite_total":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Limite Total"},"limite_disponivel":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Limite Disponivel"},"dia_fechamento":{"anyOf":[{"type":"integer","maximum":31.0,"minimum":1.0},{"type":"null"}],"title":"Dia Fechamento"},"dia_vencimento":{"anyOf":[{"type":"integer","maximum":31.0,"minimum":1.0},{"type":"null"}],"title":"Dia Vencimento"},"cor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cor"},"ativo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ativo"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"}},"type":"object","title":"CartaoCreditoUpdate"},"CartaoCreditoUpdateLimite":{"properties":{"limite_total":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Limite Total"},"limite_disponivel":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Limite Disponivel"}},"type":"object","title":"CartaoCreditoUpdateLimite"},"CategoriaCreate":{"properties":{"nome":{"type":"string","title":"Nome"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"icone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icone"},"cor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cor"}},"type":"object","required":["nome"],"title":"CategoriaCreate"},"CategoriaResponse":{"properties":{"nome":{"type":"string","title":"Nome"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"icone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icone"},"cor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cor"},"id":{"type":"integer","title":"Id"},"criado_em":{"type":"string","format":"date-time","title":"Criado Em"}},"type":"object","required":["nome","id","criado_em"],"title":"CategoriaResponse"},"CategoriaUpdate":{"properties":{"nome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nome"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"icone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icone"},"cor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cor"}},"type":"object","title":"CategoriaUpdate"},"ContaBancariaCreate":{"properties":{"nome":{"type":"string","title":"Nome"},"instituicao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instituicao"},"tipo":{"type":"string","title":"Tipo","default":"corrente"},"saldo":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Saldo","default":"0"},"cor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cor"},"ativo":{"type":"boolean","title":"Ativo","default":true},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"}},"type":"object","required":["nome"],"title":"ContaBancariaCreate"},"ContaBancariaResponse":{"properties":{"id":{"type":"integer","title":"Id"},"nome":{"type":"string","title":"Nome"},"instituicao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instituicao"},"tipo":{"type":"string","title":"Tipo"},"saldo":{"type":"number","title":"Saldo"},"cor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cor"},"ativo":{"type":"boolean","title":"Ativo"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"},"atualizado_em":{"type":"string","format":"date-time","title":"Atualizado Em"},"criado_em":{"type":"string","format":"date-time","title":"Criado Em"}},"type":"object","required":["id","nome","tipo","saldo","ativo","atualizado_em","criado_em"],"title":"ContaBancariaResponse"},"ContaBancariaUpdate":{"properties":{"nome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nome"},"instituicao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instituicao"},"tipo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo"},"saldo":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Saldo"},"cor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cor"},"ativo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ativo"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"}},"type":"object","title":"ContaBancariaUpdate"},"ContaBancariaUpdateSaldo":{"properties":{"saldo":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Saldo"},"motivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo"}},"type":"object","required":["saldo"],"title":"ContaBancariaUpdateSaldo"},"ContaFixaCreate":{"properties":{"nome":{"type":"string","title":"Nome"},"categoria_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Categoria Id"},"tipo":{"type":"string","title":"Tipo","default":"essencial"},"valor":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Valor","default":"0"},"recorrencia":{"type":"string","title":"Recorrencia","default":"mensal"},"dia_vencimento":{"anyOf":[{"type":"integer","maximum":31.0,"minimum":1.0},{"type":"null"}],"title":"Dia Vencimento"},"mes_referencia":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0},{"type":"null"}],"title":"Mes Referencia"},"coberto_por_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coberto Por Id"},"conta_bancaria_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conta Bancaria Id"},"cartao_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cartao Id"},"beneficiario_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beneficiario Id"},"vigencia_inicio":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Vigencia Inicio"},"vigencia_fim":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Vigencia Fim"},"ativo":{"type":"boolean","title":"Ativo","default":true},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"}},"type":"object","required":["nome"],"title":"ContaFixaCreate"},"ContaFixaResponse":{"properties":{"id":{"type":"integer","title":"Id"},"nome":{"type":"string","title":"Nome"},"categoria_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Categoria Id"},"tipo":{"type":"string","title":"Tipo"},"valor":{"type":"number","title":"Valor"},"recorrencia":{"type":"string","title":"Recorrencia"},"dia_vencimento":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dia Vencimento"},"mes_referencia":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mes Referencia"},"coberto_por_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coberto Por Id"},"coberto_por_nome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coberto Por Nome"},"conta_bancaria_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conta Bancaria Id"},"cartao_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cartao Id"},"beneficiario_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beneficiario Id"},"vigencia_inicio":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Vigencia Inicio"},"vigencia_fim":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Vigencia Fim"},"ativo":{"type":"boolean","title":"Ativo"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"},"criado_em":{"type":"string","format":"date-time","title":"Criado Em"}},"type":"object","required":["id","nome","tipo","valor","recorrencia","ativo","criado_em"],"title":"ContaFixaResponse"},"ContaFixaUpdate":{"properties":{"nome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nome"},"categoria_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Categoria Id"},"tipo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo"},"valor":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Valor"},"recorrencia":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recorrencia"},"dia_vencimento":{"anyOf":[{"type":"integer","maximum":31.0,"minimum":1.0},{"type":"null"}],"title":"Dia Vencimento"},"mes_referencia":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0},{"type":"null"}],"title":"Mes Referencia"},"coberto_por_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coberto Por Id"},"conta_bancaria_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conta Bancaria Id"},"cartao_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cartao Id"},"beneficiario_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beneficiario Id"},"vigencia_inicio":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Vigencia Inicio"},"vigencia_fim":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Vigencia Fim"},"ativo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ativo"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"}},"type":"object","title":"ContaFixaUpdate"},"DashboardResponse":{"properties":{"saldo_total":{"type":"number","title":"Saldo Total"},"total_reserva":{"type":"number","title":"Total Reserva"},"cartoes":{"items":{"$ref":"#/components/schemas/ResumoCartao"},"type":"array","title":"Cartoes"},"pendencias_mes":{"$ref":"#/components/schemas/ResumoMensal"},"saldo_projetado":{"$ref":"#/components/schemas/SaldoProjetado"},"dividas_ativas":{"$ref":"#/components/schemas/DividasAtivasResumo"}},"type":"object","required":["saldo_total","total_reserva","cartoes","pendencias_mes","saldo_projetado","dividas_ativas"],"title":"DashboardResponse"},"DividaAtivaLinha":{"properties":{"id":{"type":"integer","title":"Id"},"nome":{"type":"string","title":"Nome"},"saldo_devedor":{"type":"number","title":"Saldo Devedor"},"valor_parcela":{"type":"number","title":"Valor Parcela"},"parcelas_restantes":{"type":"integer","title":"Parcelas Restantes"}},"type":"object","required":["id","nome","saldo_devedor","valor_parcela","parcelas_restantes"],"title":"DividaAtivaLinha"},"DividasAtivasResumo":{"properties":{"total_saldo_devedor":{"type":"number","title":"Total Saldo Devedor"},"total_parcela_mensal":{"type":"number","title":"Total Parcela Mensal"},"linhas":{"items":{"$ref":"#/components/schemas/DividaAtivaLinha"},"type":"array","title":"Linhas"}},"type":"object","required":["total_saldo_devedor","total_parcela_mensal","linhas"],"title":"DividasAtivasResumo"},"DocumentoIAResponse":{"properties":{"tipo":{"type":"string","title":"Tipo"},"nome_arquivo":{"type":"string","title":"Nome Arquivo"},"caminho_arquivo":{"type":"string","title":"Caminho Arquivo"},"tamanho_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tamanho Bytes"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type"},"mes_ref":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0},{"type":"null"}],"title":"Mes Ref"},"ano_ref":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ano Ref"},"id":{"type":"integer","title":"Id"},"status":{"type":"string","title":"Status"},"resultado_json":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Resultado Json"},"erro_mensagem":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Erro Mensagem"},"processado_em":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Processado Em"},"pendencia_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pendencia Id"},"criado_em":{"type":"string","format":"date-time","title":"Criado Em"}},"type":"object","required":["tipo","nome_arquivo","caminho_arquivo","id","status","criado_em"],"title":"DocumentoIAResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HistoricoSaldoResponse":{"properties":{"id":{"type":"integer","title":"Id"},"conta_bancaria_id":{"type":"integer","title":"Conta Bancaria Id"},"saldo_anterior":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Saldo Anterior"},"saldo_novo":{"type":"number","title":"Saldo Novo"},"motivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo"},"data_referencia":{"type":"string","format":"date","title":"Data Referencia"},"criado_em":{"type":"string","format":"date-time","title":"Criado Em"}},"type":"object","required":["id","conta_bancaria_id","saldo_novo","data_referencia","criado_em"],"title":"HistoricoSaldoResponse"},"LancamentoIAResponse":{"properties":{"id":{"type":"integer","title":"Id"},"documento_id":{"type":"integer","title":"Documento Id"},"descricao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descricao"},"valor":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Valor"},"data_lancamento":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Lancamento"},"categoria_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Categoria Id"},"pendencia_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pendencia Id"},"confirmado":{"type":"boolean","title":"Confirmado","default":false},"ignorado":{"type":"boolean","title":"Ignorado","default":false},"criado_em":{"type":"string","format":"date-time","title":"Criado Em"}},"type":"object","required":["id","documento_id","criado_em"],"title":"LancamentoIAResponse"},"LinhaCreditoCreate":{"properties":{"nome":{"type":"string","title":"Nome"},"instituicao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instituicao"},"valor_total":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Valor Total"},"valor_parcela":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Valor Parcela"},"num_parcelas":{"type":"integer","title":"Num Parcelas"},"parcelas_pagas":{"type":"integer","title":"Parcelas Pagas","default":0},"data_inicio":{"type":"string","format":"date","title":"Data Inicio"},"dia_vencimento":{"anyOf":[{"type":"integer","maximum":31.0,"minimum":1.0},{"type":"null"}],"title":"Dia Vencimento"},"taxa_juros":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Taxa Juros"},"ativo":{"type":"boolean","title":"Ativo","default":true},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"}},"type":"object","required":["nome","valor_total","valor_parcela","num_parcelas","data_inicio"],"title":"LinhaCreditoCreate"},"LinhaCreditoResponse":{"properties":{"id":{"type":"integer","title":"Id"},"nome":{"type":"string","title":"Nome"},"instituicao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instituicao"},"valor_total":{"type":"number","title":"Valor Total"},"valor_parcela":{"type":"number","title":"Valor Parcela"},"num_parcelas":{"type":"integer","title":"Num Parcelas"},"parcelas_pagas":{"type":"integer","title":"Parcelas Pagas"},"parcelas_restantes":{"type":"integer","title":"Parcelas Restantes","default":0},"data_inicio":{"type":"string","format":"date","title":"Data Inicio"},"dia_vencimento":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dia Vencimento"},"taxa_juros":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Taxa Juros"},"saldo_devedor":{"type":"number","title":"Saldo Devedor","default":0},"ativo":{"type":"boolean","title":"Ativo"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"},"criado_em":{"type":"string","format":"date-time","title":"Criado Em"}},"type":"object","required":["id","nome","valor_total","valor_parcela","num_parcelas","parcelas_pagas","data_inicio","ativo","criado_em"],"title":"LinhaCreditoResponse"},"LinhaCreditoUpdate":{"properties":{"nome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nome"},"instituicao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instituicao"},"valor_total":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Valor Total"},"valor_parcela":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Valor Parcela"},"num_parcelas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Parcelas"},"parcelas_pagas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parcelas Pagas"},"data_inicio":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Inicio"},"dia_vencimento":{"anyOf":[{"type":"integer","maximum":31.0,"minimum":1.0},{"type":"null"}],"title":"Dia Vencimento"},"taxa_juros":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Taxa Juros"},"ativo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ativo"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"}},"type":"object","title":"LinhaCreditoUpdate"},"PendenciaCreate":{"properties":{"descricao":{"type":"string","title":"Descricao"},"tipo":{"type":"string","title":"Tipo","default":"avulso"},"categoria_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Categoria Id"},"conta_fixa_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conta Fixa Id"},"cartao_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cartao Id"},"linha_credito_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Linha Credito Id"},"mes_ref":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Mes Ref"},"ano_ref":{"type":"integer","maximum":2100.0,"minimum":2000.0,"title":"Ano Ref"},"valor":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Valor"},"data_vencimento":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Vencimento"},"status":{"type":"string","title":"Status","default":"pendente"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"}},"type":"object","required":["descricao","mes_ref","ano_ref","valor"],"title":"PendenciaCreate"},"PendenciaPagar":{"properties":{"pago_com_conta_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pago Com Conta Id"},"pago_com_cartao_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pago Com Cartao Id"},"data_pagamento":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Pagamento"},"valor_pago":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Valor Pago"}},"type":"object","title":"PendenciaPagar"},"PendenciaResponse":{"properties":{"id":{"type":"integer","title":"Id"},"descricao":{"type":"string","title":"Descricao"},"tipo":{"type":"string","title":"Tipo"},"categoria_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Categoria Id"},"conta_fixa_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conta Fixa Id"},"cartao_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cartao Id"},"linha_credito_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Linha Credito Id"},"mes_ref":{"type":"integer","title":"Mes Ref"},"ano_ref":{"type":"integer","title":"Ano Ref"},"valor":{"type":"number","title":"Valor"},"valor_pago":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Valor Pago"},"data_vencimento":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Vencimento"},"data_pagamento":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Pagamento"},"status":{"type":"string","title":"Status"},"pago_com_conta_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pago Com Conta Id"},"pago_com_cartao_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pago Com Cartao Id"},"beneficiario_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beneficiario Id"},"num_parcela":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Parcela"},"total_parcelas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Parcelas"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"},"criado_em":{"type":"string","format":"date-time","title":"Criado Em"},"atualizado_em":{"type":"string","format":"date-time","title":"Atualizado Em"}},"type":"object","required":["id","descricao","tipo","mes_ref","ano_ref","valor","status","criado_em","atualizado_em"],"title":"PendenciaResponse"},"PendenciaUpdate":{"properties":{"descricao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descricao"},"categoria_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Categoria Id"},"valor":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Valor"},"data_vencimento":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Vencimento"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"observacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacao"}},"type":"object","title":"PendenciaUpdate"},"PendenciasGerarResponse":{"properties":{"mes":{"type":"integer","title":"Mes"},"ano":{"type":"integer","title":"Ano"},"pendencias_geradas":{"type":"integer","title":"Pendencias Geradas"},"mensagem":{"type":"string","title":"Mensagem"}},"type":"object","required":["mes","ano","pendencias_geradas","mensagem"],"title":"PendenciasGerarResponse"},"ResumoCartao":{"properties":{"id":{"type":"integer","title":"Id"},"nome":{"type":"string","title":"Nome"},"limite_disponivel":{"type":"number","title":"Limite Disponivel"}},"type":"object","required":["id","nome","limite_disponivel"],"title":"ResumoCartao"},"ResumoMensal":{"properties":{"total_previsto":{"type":"number","title":"Total Previsto"},"total_pago":{"type":"number","title":"Total Pago"},"total_pendente":{"type":"number","title":"Total Pendente"}},"type":"object","required":["total_previsto","total_pago","total_pendente"],"title":"ResumoMensal"},"SaldoProjetado":{"properties":{"saldo_atual":{"type":"number","title":"Saldo Atual"},"pendente_mes_atual":{"type":"number","title":"Pendente Mes Atual"},"saldo_projetado":{"type":"number","title":"Saldo Projetado"},"alerta_critico":{"type":"boolean","title":"Alerta Critico"}},"type":"object","required":["saldo_atual","pendente_mes_atual","saldo_projetado","alerta_critico"],"title":"SaldoProjetado"},"Token":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"}},"type":"object","required":["access_token"],"title":"Token"},"UsuarioLogin":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"UsuarioLogin"},"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"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"tags":[{"name":"Autenticação","description":"Acesso inicial da API: setup do usuário e emissão do token JWT."},{"name":"Contas","description":"Cadastro de contas bancárias, consulta individual e histórico de saldo."},{"name":"Cartões","description":"Gestão de cartões de crédito, limites e ativação lógica."},{"name":"Crédito","description":"Linhas de crédito, empréstimos e acompanhamento de dívidas parceladas."},{"name":"Beneficiários","description":"Cadastro de pessoas e favorecidos usados em pagamentos recorrentes."},{"name":"Contas Fixas","description":"Despesas recorrentes que alimentam o planejamento mensal."},{"name":"Pendências","description":"Lançamentos do mês, geração automática, pagamento e acompanhamento de status."},{"name":"Categorias","description":"Categorias de classificação financeira disponíveis na aplicação."},{"name":"Dashboard","description":"Resumo consolidado com saldo, cartões, pendências, projeção do mês e dívidas ativas."},{"name":"Inteligência Artificial","description":"Upload e revisão de documentos financeiros processados por IA."}]}