---
title: "Reenviar código OTP da sessão de confiança"
method: POST
path: "/v1/trust-sessions/{sessionId}/resend-otp"
tags: ["TrustSessions"]
---

# Reenviar código OTP da sessão de confiança

`POST /v1/trust-sessions/{sessionId}/resend-otp`

## Request

- Base URL: `https://api.signdocs.com.br`
- URL: `https://api.signdocs.com.br/v1/trust-sessions/{sessionId}/resend-otp`
- Auth: HTTP bearer

Reenvia o desafio OTP para a Sessão de Confiança atual.

Limitado a um reenvio a cada 60 segundos por sessão. Dentro desse
intervalo a chamada retorna `409` com o tempo restante — o endpoint é
autenticado pelo signatário e cada envio custa um SMS.

Autenticação via embedToken (clientSecret).

## Path parameters

- `sessionId` string, required

## Response `200`

OTP reenviado com sucesso.

- AdvanceSessionResponse: Resposta do avanço da sessão.
  - `sessionId` string, required
  - `status` 'ACTIVE' | 'COMPLETED' | 'CANCELLED' | 'EXPIRED' | 'FAILED', required: Status da sessão de assinatura.
  - `currentStep` object: Etapa atual sendo processada.
    - `stepId` string
    - `type` string
    - `status` string
  - `nextStep` object: Próxima etapa pendente (se houver).
    - `stepId` string
    - `type` string
  - `evidenceId` string: ID da evidência (presente quando status é COMPLETED).
  - `redirectUrl` string, uri: URL de redirecionamento (returnUrl + session_id).
  - `completedAt` string, date-time: Data/hora de conclusão (quando status é COMPLETED).
  - `hostedUrl` string, uri: URL da página de liveness hospedada (para `start_liveness`).
  - `livenessSessionId` string: ID da sessão Rekognition (para `start_liveness`).
  - `signatureRequestId` string: ID da requisição de assinatura (para `prepare_signing`).
  - `hashToSign` string: Hash a ser assinado pelo certificado (para `prepare_signing`).
  - `hashAlgorithm` string: Algoritmo do hash (ex. SHA-256).
  - `signatureAlgorithm` string: Algoritmo de assinatura esperado (ex. SHA256withRSA).
  - `sandbox` object: Dados de sandbox (apenas em HML). Contém o OTP para testes.
    - `otpCode` string
    - `autoPass` boolean: Indica que a etapa biométrica será aprovada automaticamente.
  - `errorCode` string: Motivo da reprovação de uma etapa, quando ela falha **sem** que a requisição falhe. Esta é a parte que mais importa numa integração biométrica: uma etapa reprovada volta **200** com a sessão ainda `ACTIVE` e o motivo aqui — não como erro HTTP. Quem trata só o status HTTP lê uma reprovação como sucesso. Valores emitidos hoje: | Código | Significado | |---|---| | `BIOMETRIC_MATCH_FAILED` | Similaridade abaixo do limiar exigido | | `LIVENESS_NOT_COMPLETED` | A captura de vivacidade não foi concluída | | `DOCUMENT_QUALITY_LOW` | Brilho ou nitidez abaixo do piso do tenant | | `DOCUMENT_MATCH_FAILED` | A comparação com a foto do documento não foi aprovada | | `SERPRO_*` | Falha na consulta SERPRO — `SERPRO_TIMEOUT`, `SERPRO_RATE_LIMITED`, `SERPRO_CIRCUIT_OPEN`, `SERPRO_AUTH_FAILURE`, `SERPRO_CREDENTIALS_ERROR`, `SERPRO_INVALID_REQUEST`, `SERPRO_SERVER_ERROR` | `CPF_REQUIRED` e `CPF_MISMATCH` não aparecem aqui: são 400, com o código dentro do corpo do problema, não desta resposta 200.
  - `errorDetail` string: Texto em pt-BR destinado ao signatário, pronto para ser exibido. Descreve o que fazer, não o que houve internamente.
  - `retryable` boolean: `true` enquanto restam tentativas na etapa. Quando as tentativas acabam a etapa vai a `FAILED` e este campo vem `false` — é o sinal de que insistir não adianta. Cada nova tentativa é cobrada como excedente.
  - `fallback` object: Presente quando a política desviou para uma etapa alternativa em vez de reprovar de vez — por exemplo, biometria que cai para comparação com foto do documento.
    - `triggered` boolean
    - `reason` string
    - `nextStepType` string

## Other responses

- `400`: Requisição inválida — parâmetros ausentes ou malformados.
- `401`: Autenticação ausente ou inválida.
- `404`: Recurso não encontrado.
- `409`: Conflito de estado — a operação não pode ser realizada no estado atual do recurso.
- `500`: Erro interno do servidor.

---

[API](https://skmtc.dev/signdocs/apis/signdocs-brasil-external-api.md) · [All operations](https://skmtc.dev/signdocs/apis/signdocs-brasil-external-api/llms.txt) · [OpenAPI document](https://skmtc.dev/signdocs/apis/signdocs-brasil-external-api/revisions/2d3805aed161?raw)
