> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nlbs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Regras

> Versões do catálogo de regras/sinais do motor de risco

Expõe o histórico versionado do catálogo de regras (sinais de risco) usado pelo motor de análise. Assim como o [manifesto regulatório](/concepts/regulatory), cada versão é imutável.

**Escopo (todos os endpoints abaixo):** `rules:read`

## `GET /rules/versions`

Lista os manifestos de todas as versões publicadas do catálogo de regras.

```json theme={null}
[
  {
    "version": "0.1.0",
    "published_at": "2026-06-23T00:00:00Z",
    "catalog_hash": "sha256:example",
    "signal_count": 42
  }
]
```

## `GET /rules/versions/{version}`

Recupera uma versão específica do catálogo, incluindo cada sinal definido.

### Erros

| Status | Quando                                 |
| ------ | -------------------------------------- |
| `404`  | A versão informada não foi encontrada. |
| `422`  | Parâmetro de versão inválido.          |

## `GET /rules/current`

Recupera a versão vigente (mais recente) do catálogo.

### Erros

| Status | Quando                                 |
| ------ | -------------------------------------- |
| `404`  | Nenhuma versão vigente foi encontrada. |

Os dois endpoints acima retornam `RulesVersionSnapshotResponse`: os campos de manifesto listados acima, mais `catalog` — a lista de sinais definidos nessa versão.

<Note>
  O catálogo público traz apenas rótulos conceituais (nome, descrição, severidade) — nunca as fórmulas de metodologia ou pesos usados pelo motor de risco.
</Note>

Cada sinal (`RulesCatalogEntryResponse`):

| Campo         | Exemplo                                                                               | Descrição                                                                                                       |
| ------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `code`        | `"R-J-022-S"`                                                                         | Código estável do sinal.                                                                                        |
| `name`        | `"Ré em fraude na rede societária"`                                                   | Nome do sinal, voltado ao cliente.                                                                              |
| `description` | `"Entidade da rede societária da contraparte ré em processo penal ativo por fraude."` | Descrição, voltada ao cliente, do que o sinal identifica.                                                       |
| `kind`        | `"observable"`                                                                        | Tipo do sinal (string livre, não um enum fechado).                                                              |
| `pillar`      | `"jud"`                                                                               | Pilar analítico associado (`sanc`, `estru`, `jud`, `pep`, `juris`), quando o sinal é observável. Pode ser nulo. |
| `severity`    | `"high"`                                                                              | Rótulo de severidade do sinal (string livre, não um enum fechado).                                              |
| `version`     | `"1.0.0"`                                                                             | Versão publicada da definição do sinal.                                                                         |
