# Debit API — cálculos jurídicos e financeiros do Brasil > A debit oferece cálculos de alta precisão (Lei 14.905/2024, manual CNJ 2022, EC 103/2019) > via API REST e servidor MCP, para agentes de IA. Tudo requer autenticação. ## Autenticação - Crie uma conta na debit.com.br e pegue uma chave. Duas opções, ambas válidas: - chave criada no site (painel → menu API), no formato UUID `b62d5a5f-...`; - chave desta API, no formato `dbt_live_...` (`POST /v1/keys`, permite restringir escopos). - Envie em todas as chamadas: `Authorization: Bearer ` - Sem credencial válida → 403/401. Não há acesso anônimo. ## MCP (recomendado para agentes) - Endpoint: `https://api.debit.com.br/mcp` (Streamable HTTP). - Auth: chave de API (`Authorization: Bearer dbt_live_...` ou a chave UUID criada no site) OU **OAuth 2.1 "Login com Debit"** (Authorization Code + PKCE + Dynamic Client Registration). Discovery em `/.well-known/oauth-authorization-server` e `/.well-known/oauth-protected-resource`. - Tools (10): debit_list_indices, debit_describe_calculation_type, debit_correct_value, debit_create_calculation, debit_set_calculation_fields, debit_run_calculation, debit_get_calculation, debit_list_my_calculations, debit_export_calculation, debit_extract_document. - Cálculos criados ficam SALVOS na conta do usuário e aparecem no site. ## REST (resumo) - GET /v1/indices — lista de índices (slug, cobertura). - GET /v1/indices/{slug} — detalhe de um índice. - GET /v1/describe/{type} — schema de campos de um tipo de cálculo. - POST /v1/correct — correção monetária (one-shot ou save:true). - POST /v1/calc — cria cálculo salvo. - PATCH /v1/calc/{type}/{id} — preenche campos. - POST /v1/calc/{type}/{id}/run — roda e retorna totais + memória. - GET /v1/calc — lista os cálculos do usuário. - GET /v1/calc/{type}/{id}/export — PDF/HTML/Excel. - POST /v1/extract — extração por IA (multipart "file" ou fileBase64; docType: cnis|sentenca|cartaoPonto|trabalhista). - OpenAPI completo: /v1/openapi.json · Docs: /v1/docs ## Exemplo (correção por IPCA-E) POST /v1/correct { "index":"ipca_e", "updateTo":"01/06/2026", "items":[{"date":"01/03/2019","amount":10000}], "juros":{"percentual":"1"} } ## Tipos de cálculo atualizacaoMonetaria, calculosJudiciais, calculoTrabalhista, cartaoPonto, rmiPrevidenciaria, pensaoAlimenticia, saldoDevedor, tabelasFinanciamento, tabelasJudiciais, prevDifNRecebidas, prevCT. ## Campos por tipo (resumo — use GET /v1/describe/{type} para a lista completa, com enums) > Em `fields` (PATCH /v1/calc/{type}/{id}) use chaves achatadas. Famílias com chave pontilhada > (a.b → info.a.b): atualizacaoMonetaria, pensaoAlimenticia, rmiPrevidenciaria. Trabalhista usa > variaveis.. Os demais usam o nome do campo no topo. - atualizacaoMonetaria — obrig: indexador(id), dia_atualiza(DD/MM/AAAA), lista[{dia,valor,desc?,custas?}]. opc: calc_jurosm, juros_moratorios.percentual, juros_moratorios.a_partir(vencimento|citacao), jurosTab[{modo:L|6|12|P, ate}], calc_multa, multa.percentual, multa.tipo_calculo(p|d), calc_honorarios, honorarios.modo(p|v), honorarios.valor, calc_selic, selic_inicio, calc_multa_ncpc. - calculosJudiciais — obrig: indexador, dataAtual, valorList[{dia,valor,desc?}]. opc: sucumList, jurosTab, calc_selic, selic_inicio, modoSelic(princ|princJuros), calcularHonoSucum, honoSucumModo(causa|condenacao|certo|valorExecucao|baseUsuario|apenasSucumbecia), honoSucumPercentual. - calculoTrabalhista — variaveis.dataad, variaveis.datade (datas adm/demissão); opc variaveis.*: modo_prescricao(int), ferias(bool), salario(bool), multasRescisorias(bool), percHE1, percHE2, checkGratA/B/C, dsrSeg..dsrDom, salarioReflex_base1..5(mes|nao), HEReflex_base1..8(bool); horario(obj). - cartaoPonto — jornada[{seg..dom,folga}], jornadas[{jornada,ate10..60}]; horario{mesano,dia,periodo,es,valor} (es: e|s|modo-dia|modo-periodo); toleranciaCLT, intrajornada{ativo,modo}, interjornada, bancoHoras, regime12x36, sobreaviso, salarioBase{valor,divisor}, adicionalNoturnoProrrogado, dsrSobreHE. - pensaoAlimenticia — obrig: fixacao.tipo(percentual_sm|valor_fixo|percentual_liquido|percentual_bruto|mista), dia_atualiza, lista[{mes_ano,valor_pago?}]. opc: fixacao.percentual, fixacao.valor_fixo, fixacao.data_inicio_vigencia, parametrosAtualizacao.indice_correcao(id), parametrosAtualizacao.juros.percentual, parametrosAtualizacao.juros.a_partir(vencimento|citacao), parametrosAtualizacao.prescricao.modo(bienal|quinquenal), processo.*, partes.alimentante/alimentando/representante.{nome,cpf,qualificacao}, pagamentos[]. - saldoDevedor — obrig: dia, valor, parcelas, juros, juros_periodo(m|a). opc: carencia, correcao_monetaria, indexador, modo_saldo, iof(+iof_perc,iof_periodo,iof_juros,iof_saldoDevedor,iof_tac), seguro, seguro_valor, tac, tacList[{dia,valor}], amortizacao, amortizacaoList. - tabelasFinanciamento — obrig: dia, valor, parcelas, juros, juros_periodo(m|a), sistema(PRICE|SAC|SACRE), carencia(0=à vista|1=próx mês|N). opc: correcao_monetaria, indexador, recalcular, modo_saldo, iof*, seguro, modo_seguro(antes|depois), tac, tacList. - tabelasJudiciais — obrig: indexador, dataAtual, valorList[{dia,valorDevido,valorPago?}]. opc: jurosTab, calc_selic, selic_inicio, modoSelic, calcularHonoSucum, honoSucumModo(causa|condenacao|certo), sucumList. - rmiPrevidenciaria — obrig: beneficio(slug). slugs: aposentadoria_idade_urbana, aposentadoria_tempo_contribuicao, aposentadoria_especial, aposentadoria_professor, aposentadoria_pcd, aposentadoria_empregado_rural, aposentadoria_hibrida, incapacidade_permanente, pensao_morte, auxilio_reclusao, auxilio_doenca, auxilio_acidente, salario_maternidade, rural_idade, bpc_loas, auxilio_inclusao, salario_familia, seguro_defeso. opc: der, data_calculo, segurado.sexo(m|f), segurado.nascimento, segurado.categoria, segurado.grau_deficiencia, parametros.pcd_modalidade(por_tempo|por_idade), tempo_contribuicao_dias, carencia_meses, base_beneficio.rmi_base, sc[{competencia:MM/AAAA,valor,origem:cnis|manual|rural}], dependentes[{nome,tipo:conjuge|filho|pai_mae,nascimento,invalido}]. - prevDifNRecebidas — obrig: especieBeneficio(código ex "42"), dataInicioBeneficio, dataLimite, dataAtual, indexador, valorList[{dia:MM/AAAA,valorDevido,valorPago}]. opc: genero(m|f), dataAjuizamento, dataCitacao, calcularParcelasVincendas, jurosTab[{modo:0|6|12|P,ate}], calcularHonoSucum, honoSucumModo(causa|condenacao|condenacaoSentenca|condenacaoAcordao|certo). - prevCT — obrig: valorList[{inicio,fim,natureza}]. opc: nomeSegurado, dataNasc, genero(m|f), deficienciaList[{inicio,fim,grau:0|1|2|3}], conflitoNaturezaDeficiencia(d|n).