---
title: "Candidate Score - JD Extraction"
method: POST
path: "/candidate-score/jd-extraction"
tags: ["Exato - Candidate Score"]
---

# Candidate Score - JD Extraction

`POST /candidate-score/jd-extraction`

Extrai a vaga estruturada (dados da posição, classificação na taxonomia e requisitos) a partir do texto da descrição. É a mesma etapa que /candidate-score executa internamente, então o resultado é reaproveitável: extraia a vaga uma vez e pontue vários candidatos contra ela.

## Query parameters

- `test_mode` boolean
- `lightweight` boolean

## Response `200`

Success

- CandidateScoreJdExtractionResponse — CandidateScoreJdExtractionResponse
  - `ApiResultType` 'Success' | 'SuccessWithRemarks' | 'InvalidInput' | 'DataUnavailable' | 'NotFound' | 'InvalidParameters' | 'UnsupportedCombination' | 'RemoteUnavailable' | 'Timeout' | 'RetryLimitReached' | 'RemoteError' | 'InProgress' | 'InsufficientCredits' | 'ConcurrentLimitReached' | 'TransactionUnavailable' | 'AccessDenied' | 'TransactionCancelled' | 'Created' | 'Updated' | 'Deleted' | 'InternalError' | 'ValidationFailed' | 'Conflict' | 'ResourceLocked' | 'PendingApproval' | 'Approved' | 'Rejected' | 'Cancelled' | 'Paused' | 'Resumed' — Novo tipo de resultado unificado para queries e operações administrativas. Substitui TransactionResultType com melhor semântica.
  - `BalanceInBrl` number, double — Saldo atual em BRL.
  - `BalanceInCredits` integer — Saldo atual em créditos.
  - `DataSourceCategory` string — Categoria da fonte de dados
  - `Date` string, date-time — Data da transação.
  - `ElapsedTimeInMilliseconds` integer — Tempo de execução (em milisegundos).
  - `HasPdf` boolean — Indica que existe PDF de comprovante do resultado.
  - `Message` string — Mensagem.
  - `OriginalFilesUrl` string — Url para download dos arquivos originais da transação (quando disponíveis).
  - `OutdatedResult` boolean — Indica que o resultado é datado.
  - `PdfUrl` string — Url para download do arquivo de comprovante em PDF da transação (quando disponível).
  - `ResultSubtype` string — Subtipo específico do resultado para fornecer contexto adicional (ex: 'duplicate_name', 'invalid_cpf').
  - `ResultTypeCode` integer — Código numérico do resultado (compatível com TransactionResultTypeCode mas extensível).
  - `TotalCost` number, double — Internal use only.
  - `TotalCostInCredits` integer — Custo total da transação em créditos.
  - `TransactionResultType` 'Success' | 'SuccessWithRemarks' | 'InvalidInputData' | 'UnavailableData' | 'EntityNotFound' | 'InvalidParameters' | 'ParametersNotSupported' | 'RemoteSystemUnavailable' | 'Timeout' | 'AttemptsLimitReached' | 'RemoteSystemError' | 'AsyncExecutionInProgress' | 'AwaitingExecution' | 'BirthDateRequired' | 'InsufficientBalance' | 'SimultaneousTransactionsLimitReached' | 'TransactionUnavailable' | 'AccessDenied' | 'TransactionCancelled' | 'InternalError' — <table class="transaction"><thead><tr><th>TransactionResultType Code</th><th>TransactionResultType</th><th>Definitivo</th><th>Faturavel</th><th>Erro</th></tr></thead><tbody><tr><td>1</td><td>Sucesso</td><td>Verdadeiro</td><td>Verdadeiro</td><td>Falso</td></tr><tr><td>2</td><td>Sucesso parcial ou com observações</td><td>Verdadeiro</td><td>Verdadeiro</td><td>Falso</td></tr><tr><td>3</td><td>Entrada ou documento inválido</td><td>Verdadeiro</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>4</td><td>Dados não disponíveis</td><td>Verdadeiro (no dia)</td><td>Falso</td><td>Falso</td></tr><tr><td>5</td><td>Entidade ou documento inexistente/não encontrado</td><td>Verdadeiro</td><td>Verdadeiro</td><td>Falso</td></tr><tr><td>6</td><td>Parâmetros de entrada inválidos</td><td>Verdadeiro</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>7</td><td>Combinação de parâmetros não suportados</td><td>Verdadeiro</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>8</td><td>Fonte de dados ou sistema remoto indisponível</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>9</td><td>Limite de tempo esgotado</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>10</td><td>Limite de tentativas atingido</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>11</td><td>Erro na fonte de dados ou sistema remoto</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>12</td><td>Transação em execução</td><td>Falso</td><td>Falso</td><td>Falso</td></tr><tr><td>101</td><td>Saldo em créditos insuficiente, entre em contato</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>102</td><td>Limite de transações simultâneas atingido, entre em contato</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>103</td><td>Transação não disponível, entre em contato</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>104</td><td>Credenciais inválidas ou acesso negado, entre em contato</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>105</td><td>Transação cancelada, entre em contato</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>255*</td><td>Erro interno não esperado, entre em contato</td><td>Verdadeiro (no dia)</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>* Consulta em manutenção, tente refazer mais tarde ou entre em contato com a Direct Digital para notificação do problema</td></tr></tbody></table>
  - `TransactionResultTypeCode` integer — Código do tipo de resultado da transação.
  - `UniqueIdentifier` string — Identificador único da transação. Recomendado armazenar para controle e depuração.
  - `Result` CandidateScoreJdExtractionResult — CandidateScoreJdExtractionResult
    - `ExtractionDataJson` string — Vaga estruturada em JSON (dados da posição, classificação e requisitos)
    - `ExtractionModel` string — Modelo que executou a extração
    - `ExtractionProviderLabel` string — Rótulo do provedor que executou a extração
    - `ExtractionDisplayName` string — Nome de exibição do cliente de extração (inclui sufixo de fallback quando houve)
    - `ExtractionVendorName` string — Fornecedor do modelo
    - `ExtractionBackendName` string — Backend que atendeu a chamada
    - `PrecisionPreset` string — Preset de precisão que computou esta extração
    - `InputTokens` integer — Tokens de entrada
    - `OutputTokens` integer — Tokens de saída
    - `CacheCreationTokens` integer — Tokens gravados no cache de prompt
    - `CacheReadTokens` integer — Tokens lidos do cache de prompt
    - `ReasoningTokens` integer — Tokens de raciocínio (modelos com reasoning)
    - `ElapsedMs` integer — Tempo total da extração em ms
    - `NormalizationElapsedMs` integer — Tempo do passo determinístico de normalização em ms
    - `JsonParseStrategy` string — Estratégia usada para extrair o JSON da resposta do modelo
    - `UsedStructuredOutputs` boolean — Indica se a chamada usou structured outputs
    - `CodesNormalized` integer — Quantidade de códigos de taxonomia corrigidos na normalização
    - `DocumentEmbedding` number[] — Embedding holístico da vaga (768 dimensões, vetor unitário)
    - `EmbedderTag` string — Identidade do embedder que gerou o vetor (modelo + variante de serving)

---

[API](https://skmtc.dev/directdigital/apis/backend-apis.md) · [All operations](https://skmtc.dev/directdigital/apis/backend-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/directdigital/backend-apis/revisions/a3305895eccd/schema)
