# Habilitação (CNH)

> Consulta a situação da habilitação de um condutor a partir do CPF, retornando o número da CNH, a UF emissora, a data da primeira habilitação e se o condutor está na fase de Permissão Para Dirigir (PPD). Útil para validar se uma pessoa possui carteira de motorista ativa e há quanto tempo dirige.

- **Consulta:** `habilitacao-cnh`
- **Categoria:** Veicular
- **Preço:** R$ 1,50 por consulta
- **Endpoint:** `GET https://app.fontedata.com/api/v1/consulta/habilitacao-cnh`
- **Autenticação:** header `X-API-Key`
- **Página:** https://fontedata.com/docs/veicular/habilitacao-cnh

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> A partir do CPF informado, esta consulta localiza o registro de habilitação do condutor junto às bases de trânsito e devolve os dados essenciais da Carteira Nacional de Habilitação: número da CNH, unidade da federação que a emitiu, nacionalidade, a data em que a pessoa se habilitou pela primeira vez e um indicador que aponta se o condutor ainda está no período de Permissão Para Dirigir (PPD). Serve para confirmar a existência e a maturidade da habilitação de uma pessoa, sem expor detalhes de infrações, pontuação ou processos.

## Requisição

### cURL

```bash
curl -H "X-API-Key: SUA_CHAVE" \
  "https://app.fontedata.com/api/v1/consulta/habilitacao-cnh?cpf=SEU_CPF"
```

### Python

```python
import requests

resp = requests.get(
    "https://app.fontedata.com/api/v1/consulta/habilitacao-cnh",
    params={"cpf": "SEU_CPF"},
    headers={"X-API-Key": "SUA_CHAVE"},
    timeout=60,
)
resp.raise_for_status()
print(resp.json())
```

### Node.js

```javascript
const url = new URL("https://app.fontedata.com/api/v1/consulta/habilitacao-cnh");

url.search = new URLSearchParams({
  "cpf": "SEU_CPF"
}).toString();

const resp = await fetch(url, {
  method: "GET",
  headers: { "X-API-Key": "SUA_CHAVE" }
});

if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
console.log(await resp.json());
```

## Parâmetros

| Nome | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| `cpf` | CPF | sim | CPF (somente números, 11 dígitos) | formato: 000.000.000-00 |

## Resposta

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> **Identificação do condutor**
> - `cpf`: CPF vinculado à habilitação consultada.
> - `nome`: nome completo do condutor.
> - `nacionalidade`: nacionalidade registrada no cadastro do condutor.
>
> **Dados da habilitação**
> - `cnh`: número de registro da Carteira Nacional de Habilitação.
> - `uf`: unidade da federação (Detran) responsável pela emissão da CNH.
> - `dataPrimeiraCNH`: data em que o condutor obteve sua primeira habilitação.
> - `permissionario`: indicador booleano. Quando `true`, o condutor possui apenas a Permissão Para Dirigir (PPD) — a habilitação provisória concedida no primeiro ano após a aprovação nos exames, antes da emissão da CNH definitiva. Quando `false`, o condutor já possui a habilitação definitiva.

### Exemplo de resposta

```json
{
  "uf": "string",
  "cnh": "string",
  "cpf": "string",
  "nome": "string",
  "nacionalidade": "string",
  "permissionario": "boolean",
  "dataPrimeiraCNH": "string"
}
```

### Schema da resposta

```json
{
  "type": "object",
  "properties": {
    "uf": {
      "type": [
        "string",
        "null"
      ],
      "description": "Unidade da federação (Detran) que emitiu a CNH."
    },
    "cnh": {
      "type": [
        "string",
        "null"
      ],
      "description": "Número de registro da Carteira Nacional de Habilitação."
    },
    "cpf": {
      "type": [
        "string",
        "null"
      ],
      "description": "CPF vinculado à habilitação consultada."
    },
    "nome": {
      "type": [
        "string",
        "null"
      ],
      "description": "Nome completo do condutor."
    },
    "nacionalidade": {
      "type": [
        "string",
        "null"
      ],
      "description": "Nacionalidade registrada no cadastro do condutor."
    },
    "permissionario": {
      "type": [
        "boolean",
        "null"
      ],
      "format": "bool",
      "description": "Indica se o condutor possui apenas a Permissão Para Dirigir (PPD, fase provisória antes da CNH definitiva). true = em período de permissão; false = habilitação definitiva."
    },
    "dataPrimeiraCNH": {
      "type": [
        "string",
        "null"
      ],
      "description": "Data da primeira habilitação do condutor."
    }
  }
}
```

## Códigos de erro

| Código | Mensagem | Quando acontece |
|---|---|---|
| `400` | Requisição Inválida | a requisição está incorreta ou os parâmetros são inválidos. |
| `401` | Não Autenticado | o usuário não forneceu as credenciais corretas para acessar o recurso. |
| `403` | Não Autorizado | o servidor recebeu a requisição, mas se negou a autorizá-la por conta de saldo indisponível. |
| `404` | Não Encontrado | o servidor não encontrou uma representação atual do recurso solicitado. |
| `408` | Tempo Esgotado | o servidor não conseguiu retornar a requisição no prazo estabelecido. |
| `500` | Falha ao Realizar Consulta | o servidor não conseguiu processar a requisição com sucesso. |
| `503` | Consulta em Manutenção | a consulta requisitada está em manutenção. |

## Observações

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> - Os dados são obtidos junto às bases oficiais de trânsito e refletem a situação registrada no momento da consulta.
> - O campo `permissionario` distingue o condutor recém-habilitado (em PPD, sujeito a regras mais rígidas e conversão para CNH definitiva após o período provisório sem infração grave) do condutor já com carteira definitiva. Não confunda `permissionario: false` com ausência de habilitação — significa apenas que a pessoa não está na fase de permissão.
> - Quando não há registro de habilitação para o CPF informado, a consulta pode retornar "nada consta", situação em que os campos de habilitação vêm vazios ou nulos.
> - A cobrança segue a política de retorno positivo: consultas sem qualquer registro localizado podem não ser tarifadas, conforme as regras vigentes do fornecedor.

---

Página em HTML: https://fontedata.com/docs/veicular/habilitacao-cnh
Catálogo completo: https://fontedata.com/docs
OpenAPI (JSON): https://app.fontedata.com/api/v1/openapi.json
Conectar via MCP: https://fontedata.com/docs/mcp
