> ## Documentation Index
> Fetch the complete documentation index at: https://docs-platform.services-valid.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Obter configurações do certificado local

> Retorna a licença do plugin Web PKI e URL do RestPKI necessários para assinar com certificado no computador.

Obtém as configurações e a licença do plugin Web PKI (da Lacuna), necessárias para o signatário assinar usando um certificado A1 instalado no computador ou A3 em token/smartcard.

**Autenticação**: use apenas o `sessionToken` na URL — nenhum header de autenticação é necessário.

## Parâmetros

<ParamField path="sessionToken" type="string" required>
  Token único da sessão do signatário.
</ParamField>

## Respostas

<ResponseField name="available" type="boolean">
  Se a modalidade de certificado local está disponível. `false` se `WEB_PKI_LICENSE` não está configurada no ambiente.
</ResponseField>

<ResponseField name="license" type="string" nullable>
  Licença do plugin Web PKI emitida pela Lacuna para seu domínio. Necessária para inicializar o plugin no navegador. Presente apenas se `available: true`.
</ResponseField>

<ResponseField name="restPkiUrl" type="string" nullable>
  URL base do serviço Lacuna RestPKI que o plugin do navegador precisa contactar. Presente apenas se `available: true`.
</ResponseField>

## Erros

Veja [Autenticação e erros](/plataforma/assinatura-digital/api/erros-e-autenticacao).

* **410**: Session token expirado (envelope expirou ou foi deletado).

<ResponseExample>
  ```json theme={"theme":"catppuccin-latte"}
  HTTP/1.1 200 OK
  Content-Type: application/json

  {
    "available": true,
    "license": "ABCDEF1234567890...",
    "restPkiUrl": "https://restpki.lacunasoftware.com"
  }
  ```

  ```json theme={"theme":"catppuccin-latte"}
  HTTP/1.1 200 OK
  Content-Type: application/json

  {
    "available": false,
    "license": null,
    "restPkiUrl": null
  }
  ```

  ```json theme={"theme":"catppuccin-latte"}
  HTTP/1.1 410 Gone
  Content-Type: application/json

  {
    "statusCode": 410,
    "message": "Session expired"
  }
  ```
</ResponseExample>

## Exemplo

```bash theme={"theme":"catppuccin-latte"}
curl -X GET "https://api.valid.com/signer/v1/sign/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.../web-pki/settings" \
  -H "Content-Type: application/json"
```

## Importante

* **Disponibilidade**: sem `WEB_PKI_LICENSE` configurada no servidor, a resposta é `available: false` — a modalidade não deve ser oferecida ao signatário.
* **Licença pública**: a licença é um valor público que vai diretamente no JavaScript da página (exposição não é problema de segurança).
* **Plugin necessário**: o signatário precisa ter a extensão Web PKI instalada no navegador. Se não tiver, o plugin oferece download automático.

## Próximas etapas

Se `available: true`:

1. Inicialize o plugin Web PKI com a licença recebida: `pki.init({ license })`
2. Liste certificados: `pki.listCertificates()`
3. Deixe o signatário escolher um certificado
4. Chame [`POST .../web-pki/start`](/plataforma/assinatura-digital/api/post-web-pki-start) com o certificado escolhido
5. Use o `token` devolvido no plugin: `pki.signWithRestPki({ token, thumbprint })`
6. Chame [`POST /signer/v1/sign/:sessionToken/sign`](/plataforma/assinatura-digital/api/post-sign) para finalizar

## Relacionado

* [`POST .../web-pki/start`](/plataforma/assinatura-digital/api/post-web-pki-start) — preparar assinatura com certificado escolhido
* [`POST /signer/v1/sign/:sessionToken/sign`](/plataforma/assinatura-digital/api/post-sign) — finalizar assinatura
* [`GET /signer/v1/sign/:sessionToken`](/plataforma/assinatura-digital/api/get-sign-session) — obter dados da sessão


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.