> ## 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.

# Verificar disponibilidade de VIDaaS

> Consulta se o signatário possui certificado em nuvem VIDaaS disponível.

Verifica se o signatário da sessão atual possui um certificado em nuvem VIDaaS registrado. Serve para a aplicação saber se deve oferecer a modalidade VIDaaS de assinatura ou se deve usar apenas as demais estratégias (PAdES avançado via MFA, ou eletrônica simples).

**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 (obtido em [`POST /signer/v1/envelopes`](/plataforma/assinatura-digital/api/post-envelope) ou [`POST /signer/v1/templates/:uuid/envelopes`](/plataforma/assinatura-digital/api/post-template-envelope)).
</ParamField>

## Respostas

<ResponseField name="available" type="boolean" required>
  Se o signatário possui certificado em nuvem VIDaaS registrado e disponível para uso.
</ResponseField>

<ResponseField name="certificateCount" type="integer" optional>
  Quantidade de certificados encontrados quando o provedor VIDaaS informa (pode ser `null`).
</ResponseField>

## Erros

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

* **410**: Session token expirado (envelope expirou ou foi deletado).
* **502**: O VIDaaS não respondeu ou respondeu com erro.
* **503**: Integração VIDaaS não configurada no ambiente.

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

  {
    "available": true,
    "certificateCount": 1
  }
  ```

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

  {
    "available": false,
    "certificateCount": 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.../vidaas/availability" \
  -H "Content-Type: application/json"
```

## Importante

* **Sem autenticação por header**: o `sessionToken` é toda a autenticação necessária.
* **Sem efeitos colaterais**: esta chamada só consulta — não cria sessão de autorização, não marca a sessão como visitada.
* **Certificado do signatário**: verifica se existe certificado no VIDaaS para o CPF/CNPJ do signatário da sessão atual.

## Próximas etapas

Se `available` for `true`:

1. Chame [`POST /signer/v1/sign/:sessionToken/vidaas/authorization`](/plataforma/assinatura-digital/api/post-vidaas-authorization) para abrir a autorização (QR Code ou push).
2. Complete a autorização (QR Code ou poll de push).
3. Assine normalmente com [`POST /signer/v1/sign/:sessionToken/sign`](/plataforma/assinatura-digital/api/post-sign) — o endpoint usa a autorização VIDaaS automaticamente.

Se `available` for `false`:

* Ofereça outras modalidades (MFA para PAdES avançado ou eletrônica simples).
