---
title: "Obter dados de bootstrap da sessão"
method: GET
path: "/v1/signing-sessions/{sessionId}"
tags: ["SigningSessions"]
---

# Obter dados de bootstrap da sessão

`GET /v1/signing-sessions/{sessionId}`

## Request

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

Retorna os dados de bootstrap para o aplicativo de assinatura hospedado ou widget.

Autenticação via embedToken (clientSecret).

## Path parameters

- `sessionId` string, required

## Response `200`

Dados de bootstrap retornados com sucesso.

- SigningSessionBootstrap: Dados de bootstrap para o aplicativo de assinatura hospedado.
  - `sessionId` string, required
  - `transactionId` string, required
  - `status` 'ACTIVE' | 'COMPLETED' | 'CANCELLED' | 'EXPIRED' | 'FAILED', required: Status da sessão de assinatura.
  - `purpose` 'DOCUMENT_SIGNATURE' | 'ACTION_AUTHENTICATION', required: Finalidade da transação.
  - `signer` object, required: Dados mascarados do signatário.
    - `name` string
    - `maskedEmail` string
    - `maskedCpf` string
    - `maskedPhone` string
    - `otpChannel` 'email' | 'sms' | 'whatsapp' | 'telegram': Canal de entrega do OTP, escolhido por signatário. Independente do canal usado para entregar o link de assinatura: um convite por WhatsApp pode ter OTP por e-mail, e um convite por e-mail pode ter OTP por WhatsApp. `sms` e `whatsapp` exigem `signer.phone` e o canal habilitado para o tenant (`sms.enabled` / `whatsapp.enabled`); caso contrário o passo de OTP falha com **422**. No WhatsApp, um número que pediu para não receber mensagens também falha com 422, com uma mensagem que orienta a escolher outro canal. `telegram` exige `telegram.enabled` no tenant. O código chega pelo bot da SignDocs quando o signatário já registrou o próprio CPF nele; sem registro, é enviado por telefone (Telegram Gateway) se o tenant tiver essa opção habilitada, e caso contrário o passo falha com **422** de imediato. Ao criar a sessão, `otpChannel: telegram` ainda exige `signer.email` quando a política tem OTP. Um OTP por WhatsApp ou pelo Telegram Gateway consome a cota de mensagens do tenant; esgotada, o envio é recusado com **429**.
    - `otpChannelSelectable` boolean: Quando `true`, a tela hospedada exibe o seletor de canal do OTP (combinado com `availableOtpChannels` contendo 2 ou mais canais).
    - `availableOtpChannels` OtpChannel[]: Canais pelos quais o signatário pode receber o OTP: `email` se houver e-mail; `sms` e `whatsapp` se houver telefone e o canal estiver habilitado para o tenant; `telegram` se houver CPF e o Telegram estiver habilitado. Se o signatário está registrado no bot do Telegram só se sabe no envio; sem registro, o código segue por telefone pelo Telegram Gateway quando o tenant o tem habilitado, ou o passo falha com 422.
  - `steps` object[], required
    - `stepId` string
    - `type` string
    - `status` string
    - `order` integer
  - `document` object: Documento para visualização (URL pré-assinada).
    - `presignedUrl` string, uri
    - `filename` string
    - `hash` string
  - `action` ActionMetadata: Metadados da ação autenticada (para `ACTION_AUTHENTICATION`).
    - `type` string, required: Tipo da ação.
    - `description` string, required: Descrição da ação.
    - `reference` string: Referência externa da ação.
  - `appearance` SigningSessionAppearance: Configuração visual da página de assinatura hospedada.
    - `brandColor` string: Cor primária da marca (hex).
    - `logoUrl` string, uri: URL HTTPS do logotipo da empresa.
    - `companyName` string: Nome da empresa exibido na página.
    - `backgroundColor` string: Cor de fundo (hex).
    - `textColor` string: Cor do texto (hex).
    - `buttonTextColor` string: Cor do texto dos botões (hex).
    - `borderRadius` string: Raio de borda dos elementos (formato "Npx").
    - `headerStyle` 'full' | 'minimal' | 'none': Estilo do cabeçalho da página.
    - `fontFamily` 'system-ui' | 'Inter' | 'Roboto' | 'Open Sans' | 'Lato' | 'Montserrat' | 'Source Sans Pro' | 'Nunito' | 'Poppins' | 'Raleway' | 'Ubuntu': Família tipográfica.
  - `locale` string, required
  - `returnUrl` string, uri
  - `cancelUrl` string, uri
  - `expiresAt` string, date-time, required

## Other responses

- `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)
