credit-score-cpf — raw upstream payload shapes

This is a companion page to the canonical credit-score-cpf — read that first for the merged shape, the LGPD posture, the 4-way recommendation rubric, auth, and free-vs-paid scope. This page lists the raw upstream wire-format each Direct Data / sanctions / S&P tool returns, so your handler knows what the verbatim result body of /api/invoke/{tool_slug} looks like before the client-side merge.

score (paid; directd_credit_score)

Backed by Direct Data’s Score endpoint (the QUOD bureau). Direct Data’s upstream returns:

// Raw upstream — apiv3.directd.com.br/api/Score?TOKEN=...&CPF=...
{
  "metaDados": { "resultadoId": 1, "mensagem": "Sucesso", "consultaUid": "direct-…", "tempoExecucaoMs": 974, "data": "27/04/2026 23:37:55" },
  "retorno": {
    "dataConsulta": "27/04/2026",
    "documentoConsultado": "87489953120",
    "pessoaFisica": {
      "score": 742,                     // QUOD numeric score, 0–1000 (integer)
      "faixaScore": "Médio"             // QUOD's raw band label (Baixo | Médio | Alto)
    },
    "pessoaJuridica": null,
    "observacao": null
  }
}

The auxiliar gateway returns this verbatim under result. Your client merges it into the screening shape as:

{
  "score": {
    "value": 742,                       // <- result.retorno.pessoaFisica.score
    "band": "high",                     // derived: ≤500 low, 501–700 mid, >700 high
    "faixa_score": "Médio",             // <- result.retorno.pessoaFisica.faixaScore (verbatim from upstream)
    "scoring_model": "QUOD",            // QUOD bureau, v3 endpoint
    "calculated_at": "2026-04-27",      // <- result.retorno.dataConsulta (ISO-normalized)
    "tier_required": null               // null when populated; "paid" on free tier
  }
}

score.value is Lei 12.414/2011 (Cadastro Positivo) data — see the LGPD section on the canonical page before you use it.

obito (paid; directd_obito)

Backed by Direct Data’s Obito endpoint. Direct Data’s upstream returns:

// Raw upstream — apiv3.directd.com.br/api/Obito?TOKEN=...&CPF=...
{
  "metaDados": { "resultadoId": 1, "mensagem": "Sucesso", "consultaUid": "direct-…", "tempoExecucaoMs": 756, "data": "27/04/2026 23:37:55" },
  "retorno": {
    "cpf": "874.899.531-20",
    "nome": "Thiago Lobato Alvarez",
    "constaObito": false,                // boolean — primary signal
    "status": "O CPF consultado NÃO CONSTA óbito.",
    "dataObito": null,                   // BR-formatted "DD/MM/YYYY" when present
    "anoObito": null                     // integer year when present
  }
}

Your client merges:

{
  "obito": {
    "deceased": false,                   // <- result.retorno.constaObito
    "date": null,                        // <- result.retorno.dataObito (BR-format → ISO if present)
    "year": null,                        // <- result.retorno.anoObito
    "source": "Direct Data / Cartório",  // upstream attribution (constant)
    "tier_required": null
  }
}

Cache TTL is permanent — death is irreversible upstream and Direct Data’s response doesn’t change. Subsequent calls for the same CPF are served from cache at zero upstream cost. The dataObito field is DD/MM/YYYY string format from upstream; normalize to ISO yourself or surface raw — be consistent across your handler.

dossie (paid; directd_cpf_dossie)

Backed by Direct Data’s CadastroPessoaFisicaPlus endpoint. Heavy PII — full Cadastro PF Plus dossier. Internal-decisioning use only per LGPD / Lei 12.414/2011; do not re-display fields to the screened individual, the requester, or any third party.

// Raw upstream — apiv3.directd.com.br/api/CadastroPessoaFisicaPlus?TOKEN=...&CPF=...
{
  "metaDados": { "resultadoId": 1, "mensagem": "Sucesso", "consultaUid": "direct-…", "tempoExecucaoMs": 974 },
  "retorno": {
    "cpf": "874.899.531-20",
    "nome": "Thiago Lobato Alvarez",
    "nomeMae": "Lucia Maria Pinheiro Lobato",
    "nomePai": null,
    "sexo": "Masculino",
    "dataNascimento": "20/05/1980 00:00:00",   // BR-format with time component
    "idade": 45,
    "signo": "Touro",
    "obito": false,                            // also surfaced in dedicated obito tool
    "situacaoCadastral": "Regular",
    "dataSituacaoCadastral": "24/07/2025 00:00:00",
    "codigoCBO": "212405",
    "cbo": "Tecnólogo em sistemas para internet",
    "classeSocial": "A1",
    "rendaEstimada": "320133.44",              // string (R$ annual)
    "rendaFaixaSalarial": "Faixa superior a 20 salários mínimos",
    "telefones": [
      { "telefoneComDDD": "(11) 98121-7411", "operadora": "TIM",  "tipoTelefone": "CELULAR",     "whatsApp": true,  "telemarketingBloqueado": false },
      { "telefoneComDDD": "(21) 2246-4013",  "operadora": "OI",   "tipoTelefone": "RESIDENCIAL", "whatsApp": false, "telemarketingBloqueado": false }
    ],
    "enderecos": [
      { "logradouro": "AL JAU",         "numero": "150", "complemento": "AP 24", "bairro": "JD PAULISTA", "cidade": "SAO PAULO", "uf": "SP", "cep": "01420-902" },
      { "logradouro": "R DIAS DE TOLEDO","numero": "309", "complemento": "AP 124","bairro": "SAUDE",       "cidade": "SAO PAULO", "uf": "SP", "cep": "04143-030" }
    ],
    "emails": [
      { "enderecoEmail": "[email protected]" },
      { "enderecoEmail": "[email protected]" }
    ],
    "parentescos": [
      { "grauParentesco": "Mãe",   "cpf": "203.254.797-04", "nome": "Lucia Maria Pinheiro Lobato", "dataNascimento": "07/08/1942 00:00:00", "genero": "Feminino", "obito": true,  "dataObito": null },
      { "grauParentesco": "Irmão", "cpf": "766.828.111-87", "nome": "Leandro Lobato Alvarez",      "dataNascimento": "12/10/1975 00:00:00", "genero": "Masculino","obito": false, "dataObito": null }
    ]
  }
}

The merged screening shape preserves the field names: top-level dossie.nome_completo, dossie.nome_mae, dossie.telefones[], dossie.enderecos[], dossie.emails[], dossie.renda_estimada, dossie.renda_faixa_salarial, dossie.classe_social, dossie.cbo, dossie.situacao_cadastral, dossie.parentescos[]. Your handler maps from the camelCase upstream paths shown above to your snake_case merged shape.

For the upstream’s authoritative field-by-field schema (including rare optional fields not shown in this sample) see https://docs.directd.com.br/CadastroPessoaFisicaPlus.

sanctions (free anonymous; sancoes_empresa)

Backed by auxiliar’s own sancoes_empresa tool (no third-party API gate; sourced from CGU Portal da Transparência daily ZIP dumps + TCU’s open-data CSV). The gateway returns this raw shape:

// Raw upstream — api.auxiliar.ai/api/invoke/sancoes_empresa
{
  "tool": "sancoes_empresa",
  "source_module": "backend.sources.br.empresa.sancoes",
  "elapsed_ms": 412,
  "result": {
    "cpf_cnpj": "12345678909",
    "cpf_cnpj_digits": "12345678909",
    "resumo": {
      "cadastros_presentes": ["CEIS"],
      "total_registros": 1,
      "ativas_count": 1,
      "ultima_sancao_iso": "2024-01-15",
      "data_datasets": {
        "ceis": "2026-04-30",
        "cnep": "2026-04-30",
        "cepim": "2026-04-30",
        "tcu_inidoneos": "2026-04-30",
        "leniencia": "2026-04-30"
      }
    },
    "registros": {
      "ceis": [
        {
          "cpf_cnpj": "12345678909",
          "nome_sancionado": "...",
          "orgao_sancionador": "CGU",
          "tipo_sancao": "Inidoneidade",
          "data_inicio_sancao": "15/01/2024",      // BR-format from upstream CSV
          "data_final_sancao": "14/01/2026",
          "fundamentacao": "Lei 12.846/2013, art. 5º",
          "numero_processo": "00190.001234/2023-45",
          "data_publicacao": "20/01/2024",
          "fonte_link": "https://portaldatransparencia.gov.br/sancoes/ceis"
        }
      ],
      "cnep": [],
      "cepim": [],
      "tcu_inidoneos": [],
      "leniencia": { "acordos": [], "efeitos": [] }
    },
    "note": "Para o one-line NADA_CONSTA/CONSTAM_REGISTROS use TCU certidão. Esta retorna todas as linhas cruas — inclui CEPIM e Leniência."
  },
  "scope": { "tier": "anonymous", "rate_limit_remaining": 599 }
}

Your client merges into the screening shape as:

{
  "sanctions": {
    "registros": [
      {
        "cadastro": "CEIS",                                    // <- which key under result.registros (CEIS|CNEP|CEPIM|LENIENCIA|TCU_INIDONEOS)
        "orgao_sancionador": "CGU",                            // <- registros.ceis[].orgao_sancionador
        "tipo_sancao": "Inidoneidade",                         // <- registros.ceis[].tipo_sancao
        "data_inicio": "2024-01-15",                           // <- data_inicio_sancao (BR → ISO)
        "data_fim": "2026-01-14",                              // <- data_final_sancao
        "fundamentacao": "Lei 12.846/2013, art. 5º",          // <- registros.ceis[].fundamentacao
        "processo": "00190.001234/2023-45",                   // <- registros.ceis[].numero_processo
        "fonte": "https://portaldatransparencia.gov.br/sancoes/ceis"  // <- registros.ceis[].fonte_link
      }
    ],
    "resumo": {
      "cadastros_presentes": ["CEIS"],                         // <- result.resumo.cadastros_presentes
      "total_registros": 1,                                    // <- result.resumo.total_registros
      "ativas_count": 1                                        // <- result.resumo.ativas_count
    },
    "checked_at": "2026-04-30T14:22:11Z",
    "registries_consulted": ["CEIS","CNEP","CEPIM","LENIENCIA","TCU_INIDONEOS"]
  }
}

Cache TTL 24h. Free at all tiers, no token required. Public open data — safe to re-display to the screened individual or to the requester (LGPD does not constrain public sanctions registries).

rating (free anonymous; rating_actions_brazil_recent)

S&P Brazil public press releases, scoped to issuer CNPJs (a CPF is rarely an issuer; this section is mostly empty for individual screening but kept in the response shape for parity with company-screening callers). Schema is the upstream S&P Brazil action shape (rating, action_type, agency, action_date, comment).

Free-tier sample (full populated result)

curl -s -X POST https://api.auxiliar.ai/api/invoke/sancoes_empresa \
  -H "content-type: application/json" \
  -d '{"documento": "12345678909"}'
{
  "tool": "sancoes_empresa",
  "source_module": "backend.sources.br.empresa.sancoes",
  "elapsed_ms": 412,
  "result": {
    "cpf": "123.456.789-09",
    "score":     { "value": null, "band": null, "faixa_score": null, "tier_required": "paid" },
    "obito":     { "deceased": null, "date": null, "tier_required": "paid" },
    "judicial":  { "process_count": null, "processes": [], "tier_required": "paid" },
    "dossie":    { "tier_required": "paid" },
    "sanctions": {
      "registros": [
        {
          "cadastro": "CEIS",
          "orgao_sancionador": "CGU",
          "tipo_sancao": "Inidoneidade",
          "data_inicio": "2024-01-15",
          "data_fim": "2026-01-14",
          "fundamentacao": "Lei 12.846/2013, art. 5º",
          "processo": "00190.001234/2023-45",
          "fonte": "https://portaldatransparencia.gov.br/sancoes/ceis"
        }
      ],
      "resumo": { "cadastros_presentes": ["CEIS"], "total_registros": 1, "ativas_count": 1 },
      "checked_at": "2026-04-30T14:22:11Z",
      "registries_consulted": ["CEIS","CNEP","CEPIM","LENIENCIA","TCU_INIDONEOS"]
    },
    "rating":    { "actions": [] }
  },
  "scope": { "tier": "anonymous", "rate_limit_remaining": 599 }
}

The four directd_* calls return null HIGH_PII fields; the sancoes_empresa call shown above returns full real data. The merged shape your handler produces is what you assemble for your application’s response handler.

For the per-process judicial schema (the largest of the upstream payloads), see /data/credit-score-cpf-judicial-detail/.

For the merged shape, recommendation rubric, and LGPD posture, return to /data/credit-score-cpf/.