Você pode testar esta rota diretamente em nossa documentação interativa.

Executa o resolveIssueTemplate (resolveIssueContext + verifyIssueV4 + resolveIssueIfFixedV4) síncronamente via motor sequentialThinking. Não usa fila nem Socket.IO.

Diferente de /v4/verifyIssue, esta rota muta o status da issue: marca status='resolved' e grava resolved_at=now() somente quando verdict='confirmed_fixed'. Se o veredicto for qualquer outro (still_present, partial, inconclusive), a issue fica como está.

Endpoint

POST /api/externalAPIs/public/advisor/v4/resolveIssue

Parâmetros

issueId
string (UUID)
required

ID da issue em advisor_issues_v2.

hostId
string (UUID)

Opcional em produção (auth resolve). Obrigatório em dev local sem KrakenD.

requestControlId
string (UUID)

Opcional. Propaga cost_control para o tracker do caller.

instructions
string

Sobrescreve a instrução default ("Verifique e marque esta issue como resolvida se estiver corrigida.").

locale
string

Locale para narração. Fallback: header Accept-Languagept-BR.

Exemplo

curl -X POST {{BASE_URL}}/api/externalAPIs/public/advisor/v4/resolveIssue \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "issueId": "f1a2b3c4-d5e6-7890-abcd-ef1234567890"
  }'

Resposta — issue confirmada como corrigida

{
  "result": {
    "finalAnswer": {
      "verdict": "confirmed_fixed",
      "resolved": true,
      "resolvedAt": "2026-05-14T18:32:11.482Z",
      "narration": "Issue marcada como resolvida — envelope não promete mais inglês."
    }
  },
  "events": [ ]
}

Resposta — issue ainda presente

{
  "result": {
    "finalAnswer": {
      "verdict": "still_present",
      "resolved": false,
      "narration": "O problema persiste no envelope. Issue continua aberta."
    }
  },
  "events": [ ]
}

Campos da Resposta

result.finalAnswer.verdict
string

Um de confirmed_fixed | still_present | partial | inconclusive (mesmo conjunto do /v4/verifyIssue).

result.finalAnswer.resolved
boolean

true apenas quando verdict === 'confirmed_fixed'. Indica que status='resolved' foi gravado em advisor_issues_v2.

result.finalAnswer.resolvedAt
string (ISO 8601)

Timestamp da resolução. Presente apenas quando resolved === true.

result.finalAnswer.narration
string

Narração textual no locale informado.

events
array

Timeline dos eventos do motor sequentialThinking.

Esta rota também atualiza verification_status da issue (efeito colateral do verifyIssueV4). Para apenas verificar sem mutar status, use Verify Issue.

Erros

CódigoDescrição
400issueId ausente ou hostId ausente (em dev local sem KrakenD)
401Token inválido ou ausente
404Issue não encontrada, ou não pertence ao host autenticado
500Erro interno do servidor