Exato - Candidate Score

Candidate Score - Evaluate One Candidate Against Many Positions

Scores one already-extracted candidate against N already-extracted job positions. The response is 200 even when individual items fail: read completed, pending and invalid, whose lengths always sum to the number of items sent. A sync call returns at max_wait_seconds with whatever finished, and a pending item then carries a NULL uid - retry it (the abandoned run keeps going and its result is cached for 30 days, so the retry is a cache hit). An async call returns at once with a real uid per item, polled with exec_mode=result. PDF: one report per item at d.exa.to/{uid}.pdf while render_html is on (the default here). It is produced AFTER the response, so allow a few seconds on a sync call; on an async call it already exists once the poll reports that item complete. While a render is still in flight the PDF endpoint answers success_with_remarks rather than the bytes.

post/candidate-score/evaluate-positions

Request

  • Base URL: https://api.exato.digital
  • URL: https://api.exato.digital/candidate-score/evaluate-positions
  • Auth: API key in header token

Query parameters

test_modeboolean

Modo Teste (retorna dados simulados)

lightweightboolean

Modo Lightweight (uso interno)

Request body application/x-www-form-urlencoded

candidate_extraction_jsonstring required

Candidate extraction JSON (SUB 19101 output)

candidate_embeddingnumber[]

Candidate document embedding (optional; skips one recompute per item)

candidate_embedder_tagstring

Embedder tag for candidate_embedding

data_originstring

LinkedIn | Resume | ResumeAndLinkedIn | ClientProvided | Other

date_of_birthstring date-time

Authoritative date of birth (overrides extraction)

verified_full_namestring

Authoritative full name (overrides extraction)

expected_salarynumber double

Candidate expected salary

precision_presetstring

Turbo | Fast | Balanced | Precise | Maximum | Bulk | BulkSelfHosted | BulkGlobal | BulkFast | BalancedGoogle | Express. Express is an opt-in latency tier: fastest, costs more per call, and trades scoring accuracy for speed. Applies to every item. Omit to get the channel default (BalancedGoogle over REST).

scoring_providerstring

Auto | Gpt54Mini | Sonnet. Applies to every item.

render_htmlboolean

Render each item's HTML report, which is what the PDF at d.exa.to/{uid}.pdf is made from (default TRUE on this route).

include_interview_checklistboolean

Include the interview checklist on every item (default false). Adds ~3.8s and one provider call per item.

include_candidate_feedback_letterboolean

Include the feedback letter on every item (default false). Adds ~2.0s and one provider call per item.

inconsistency_detection_enabledboolean

Run inconsistency detection on every item (default false). Rule engine, no LLM call.

max_wait_secondsinteger

Seconds to wait before returning partial results (sync calls only). Default 25, range 1-120.

Response

Success

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.

BalanceInBrlnumber double

Saldo atual em BRL.

BalanceInCreditsinteger

Saldo atual em créditos.

DataSourceCategorystring

Categoria da fonte de dados

Datestring date-time

Data da transação.

ElapsedTimeInMillisecondsinteger

Tempo de execução (em milisegundos).

ExecutedDataSourceNamestring

Nome de exibição do tipo de consulta que realmente executou.

ExecutedDataSourceTypeIdinteger

Id do tipo de consulta que realmente executou (o gravado na transação), que pode diferir do tipo pedido quando a rota é genérica por UF ou quando um master delega a uma sub-consulta.

HasOriginalFilesboolean

Indica que a transação carrega arquivos originais da fonte (a certidão emitida, por exemplo) para download em OriginalFilesUrl. Falso não significa que a URL não exista: ela é montada sempre.

HasPdfboolean

Indica que existe PDF de comprovante do resultado.

Messagestring

Mensagem.

OriginalFilesUrlstring

Url para download dos arquivos originais da transação (quando disponíveis).

OutdatedResultboolean

Indica que o resultado é datado.

PdfUrlstring

Url para download do arquivo de comprovante em PDF da transação (quando disponível).

ResultSubtypestring

Subtipo específico do resultado para fornecer contexto adicional (ex: 'duplicate_name', 'invalid_cpf').

ResultTypeCodeinteger

Código numérico do resultado (compatível com TransactionResultTypeCode mas extensível).

TotalCostnumber double

Internal use only.

TotalCostInCreditsinteger

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 Exato para notificação do problema</td></tr></tbody></table>
TransactionResultTypeCodeinteger

Código do tipo de resultado da transação.

UniqueIdentifierstring

Identificador único da transação. Recomendado armazenar para controle e depuração.

Changes

No operation changes recorded.