Read one averbado contract's loan status on the rail
Reads the rail’s consultar-emprestimo-trabalhador (Manual 005 v1.13 §3.2.1) for one averbado contract: situação do empréstimo, the proposta that owns it, the money terms and the FGTS collateral block. It REPORTS status only — it creates or resolves no durable proposal witness and emits no handoff fact.
Authorizations
JWT bearer token issued by the identity provider.
Path Parameters
The averbado contract number to read (rail numeroContrato, Texto 2..15 alphanumerics — Manual 005 v1.13 §3.2.1 p.13).
"199971600000"
Query Parameters
OPTIONAL. The proposal identifier this gateway minted for your bid. It is NEVER sent to the rail — the published query is codigoSolicitante + numeroContrato only. It is the LOCAL comparison key for the win classification: supply it and 'outcome' reports won/lost/pending for that proposal; omit it and 'outcome' is 'pending' because the classification has no subject. The rail's own verdict is always in 'situacao_emprestimo' and 'situacao_descricao', which are relayed verbatim.
"12345678901234567890"
Response
OK
dataHoraInclusaoEmprestimo — the instant the rail recorded the loan, RFC 3339 UTC. The rail publishes it as a ddMMyyyyHHmmss Texto (the Manual 005 example sends "18022026152224").
"2026-02-18T15:22:24Z"
valorCetAnual — Custo Efetivo Total as a PERCENT-per-year decimal string (the effective compounding of cet_mensal).
"25.34"
valorCetMensal — Custo Efetivo Total as a PERCENT-per-month decimal string. NOTE the rail's casing: the RESPONSE spells it valorCetMensal while the inclusão REQUEST spells it valorCETMensal.
"1.90"
The contract number the loan was averbado under (rail field contrato, Texto).
"199971600000"
The worker the contract belongs to, 11 digits. The rail publishes it as a Número (the Manual 005 example sends 99971699990), so the adapter restores any digit JSON dropped.
"99971699990"
Whether the 2xx actually carried a garantia block, under EITHER the singular or plural rail key. Gate on THIS, never on garantia.tem_garantias: temGarantias=false is an authoritative "this averbado contract has NO collateral" and is indistinguishable from the zero value of an absent block.
true
The worker's payroll registration at the employer (Texto). The rail DOES publish it on this read — row 1 of the Manual 005 p.15 field table, and the §3.2.3.2 example sends "MATCEN716".
"MATCEN716"
The employer inscription the contract belongs to (Texto — CNPJ, CEI or CAEPF).
"42422253000101"
The read's numeroProposta (Manual 005 §3.2.2 p.15, Texto): the proposta that owns this contract. The win classification compares it against the one you minted.
"12345678901234567890"
The adapter-derived win classification, never a fabricated win. It compares numero_proposta against the proposal you supplied: won means the rail's contract belongs to YOUR proposta, lost means it belongs to another, pending means the classification has no subject (you omitted numero_proposta) or the rail's situação was absent. The rail's own verdict is always in situacao_emprestimo / situacao_descricao.
pending, won, lost "won"
The handoff's dedupe key, sourced from the read's numeroProposta — the identifier THIS gateway minted and the rail echoes. There is no propostaRef key on this rail.
"12345678901234567890"
totalParcelas — the number of instalments.
24
situacaoEmprestimo.descricao — the rail's own label for the code above, relayed verbatim so an unmapped code is still diagnosable.
"Ativo"
situacaoEmprestimo.codigo, surfaced verbatim. Manual 005 §3.2.2 p.17 publishes the full table: 0 Ativo, 2 Excluído, 3 Encerrado, 7 Contrato suspenso, 8 Suspenso banco, 15 Encerrado por término do vínculo, 16 Encerrado com renegociação, 17 Contrato suspenso por antecipação de parcela. Meaningful ONLY when situacao_present is true.
0
Whether the 2xx actually carried situacaoEmprestimo.codigo. false on a 2xx is a malformed or unexpected read: the outcome is forced to pending rather than guessed.
true
valorTaxaAnual as a PERCENT-per-year decimal string. "23.87" is 23.87 %/year, NOT the fraction 0.2387.
"23.87"
valorTaxaMensal as a PERCENT-per-month decimal string. "1.80" is 1.80 %/month, NOT the fraction 0.018.
"1.80"
valorIOF — the IOF charged (decimal string, BRL). Unlike the CET pair, this key is spelled identically on both the request and the response.
"100.00"
valorLiberado — the net amount released to the worker (decimal string, BRL). The rail DOES publish it on this read (Manual 005 p.17 field table, example 20000). It is NOT derivable from valor_principal minus valor_iof.
"20000.00"
The instalment amount (decimal string, BRL).
"1116.31"
valorEmprestimo — the amount actually lent (decimal string, BRL).
"21600.00"
dataHoraAtualizacao — when the rail last changed this contract (RFC 3339 UTC).
"2026-02-18T15:22:24Z"
The rail's cnpjEmpregadorCompleto flag, relayed verbatim. UNVERIFIABLE-UNTIL-HOMOLOG: the source pins its form (Booleano) and not its meaning, so it is passed through and NOT interpreted. Absent means the rail sent no flag — never read absence as false.
true
The operator CNPJ the rail holds for this contract (Texto 14; the Manual 005 example sends "31061847000100").
"31061847000100"
Last payroll competência the discount runs in, as the rail's verbatim AAAAMM literal.
"202609"
First payroll competência the discount runs in, as the rail's verbatim AAAAMM literal — never reparsed into a date.
"202601"
Last day of the contract (RFC 3339 UTC). Absent when the rail omitted it.
"2027-01-20T00:00:00Z"
First day of the contract (RFC 3339 UTC). Absent when the rail omitted it.
"2026-02-20T00:00:00Z"
Date of the first payroll discount (RFC 3339 UTC). Absent when the rail omitted it.
"2026-01-20T00:00:00Z"
dataHoraExclusao — when the contract was excluded (RFC 3339 UTC). Absent on a contract that was not excluded.
"2026-03-01T09:00:00Z"
The institution that granted the loan, code and the rail's own label. Absent when the rail sent no pair.
dataHoraEnvioInfoContrato — when the contract information was sent to the rail (RFC 3339 UTC).
"2026-02-19T08:30:00Z"
Which kind of identity numero_inscricao_empregador is (Manual 005 §3.2.2 p.16: 1 CNPJ, 2 CPF), code and the rail's own label. Absent when the rail sent no pair.
Why the contract was excluded (Manual 005 §3.2.2 p.17: 1 desistência do empréstimo, 2 falecimento, 3 liquidação antecipada, 7 ação judicial, 8 exclusão por fraude, 9 outros). Absent on a contract that was not excluded.
The employer's name as the rail holds it (Texto).
"EMPREGADOR TESTE LTDA"
The worker's name as the rail holds it (Texto).
"Teste Homo_716999"
How the contract came to be averbado (Manual 005 §3.2.2 p.16: 0 Averbação banco, 1 troca de titularidade, 2 portabilidade, 3 refinanciamento, 4 reversão de refinanciamento, 5 renegociação, 6 renegociação de legado, 7 tombamento compulsório). Code 0 is LIVE: absence is the absent pair, never a zero.
Who excluded the contract (Manual 005 §3.2.2 p.16: 1 APS, 2 Banco, 3 Sistema, 4 troca de titularidade, 5 portabilidade, 6 reversão de refinanciamento, 7 refinanciamento). Absent on a contract that was not excluded.
informacoesPortabilidade.codigoOrigem — the institution the contract was ported FROM, as the rail's verbatim literal. Never re-parsed as a number: an institution code with a leading zero does not survive that.
"237"
informacoesPortabilidade.codigoProponente — the institution that proposed the portability, verbatim.
"999"
informacoesPortabilidade.numeroUnicoAverbacao — the rail-minted identifier of the portability averbação. Relayed, never parsed.
"20260731000000123"
informacoesPortabilidade.numeroUnicoExclusao — the rail-minted identifier of the exclusion that closed the origin contract. Relayed, never parsed.
"20260731000000456"
informacoesPortabilidade.situacao — the state of the portability itself, code and label verbatim from the rail. Absent when the contract has no portability history; the code is never synthesised.
informacoesPortabilidade.valorPago — the amount paid to settle the origin contract (decimal string, BRL). Empty means the rail sent nothing; it never means zero.
"12500.00"
The rail's count of escriturações on this contract, verbatim. The escrituração DETAIL is not duplicated here — it reaches you as consignado.reconciliation.received — so this count is how you detect a short feed. "0" is a live count; empty means the rail sent none.
"0"
The rail's count of repasse payments on this contract, verbatim. Same purpose as qtd_escrituracoes: the detail arrives as consignado.reconciliation.received.
"0"
State of the FGTS collateral BLOCK (Manual 005 §3.2.2 p.17: 0 Pendente de bloqueio, 1 Bloqueio Realizado, 2 Falha de bloqueio, 3 Bloqueio em reprocessamento, 4 Bloqueio rejeitado). A contract quoting FGTS collateral whose block failed or was rejected is effectively unsecured. Code 0 is LIVE: absence is the absent pair, never a zero.
valorTroco — the change returned to the worker (decimal string, BRL).
"100.00"

