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

# Inicia processo de verificação de liveness

> Inicie a verificação de vivacidade (liveness) informando o CPF do usuário e os dados de configuração do webhook para entrega do resultado.

Use `POST /onboarding/api/v1/steps/liveness` para iniciar o processo de verificação de vivacidade (liveness). A requisição espera receber o CPF do usuário e informações de configuração como a URL e dados de autenticação do webhook para entrega do resultado. Além dessas informações é possível utilizar URLs de redirecionamento e flags para páginas de introdução e sucesso.

A API irá iniciar um novo processo de verificação de liveness e retornar o identificador do processo criado, a URL para acompanhar o processo e a data de criação.

## Request Body

<ParamField body="cpf" type="string" required>
  CPF do indivíduo.

  **Exemplo**: `12345678900`
</ParamField>

<ParamField body="appRedirect" type="string" required>
  Caminho de redirecionamento do aplicativo após a conclusão.

  **Exemplo**: `/onboarding/liveness-success`
</ParamField>

<ParamField body="webhookUrl" type="string">
  URL para notificação de webhook com o resultado final.

  **Exemplo**: `https://seusistema.com/webhook/liveness`
</ParamField>

<ParamField body="webhookBasicAuth" type="string">
  Credenciais Basic Auth (`usuario:senha`) para autenticação do webhook.

  **Exemplo**: `usuario:senha`
</ParamField>

## Response

Retorna o identificador do processo criado, a URL de acompanhamento e a data de criação.

### Exemplo de sucesso (`200 OK`)

```json theme={"theme":"catppuccin-latte"}
{
  "requestProcessUrl": "https://service.onboarding.comz/steps/resource/liveness/{{requestId}}",
  "requestId": "05be75cc-8f8a-414a-891f-434aa9b4e7a5",
  "createdAt": "2023-01-01T12:00:00"
}
```

<ResponseField name="requestProcessUrl" type="string" required>
  URL para a próxima etapa ou visualização do recurso.
</ResponseField>

<ResponseField name="requestId" type="string" required>
  ID único da requisição iniciada.
</ResponseField>

<ResponseField name="createdAt" type="string" required>
  Data e hora de criação da requisição.
</ResponseField>

## Respostas de Erro

A API pode retornar os status `400` (Bad request), `422` (Validation or semantic error) e `500` (Internal server error), seguindo o modelo padrão de erro da aplicação.

<ResponseField name="code" type="string" required>
  Código do erro que categoriza o tipo de erro.

  **Exemplo**: `VALIDATION_ERROR`
</ResponseField>

<ResponseField name="message" type="string" required>
  Mensagem de erro.

  **Exemplo**: `The request is invalid`
</ResponseField>

<ResponseField name="details" type="object[]">
  Lista contendo ou não um erro detalhado.

  * `field` (`string`): caminho do campo incorreto ou inválido. **Exemplo**: `name`
  * `message` (`string`): mensagem de erro do campo. **Exemplo**: `The field cannot be blank`
</ResponseField>
