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

# POST /v1/evaluate

> Executa um ruleset e retorna um verdict de compliance.

O endpoint principal de compliance. Envie uma geometria (e/ou um
identificador tipado) mais um ruleset; receba um verdict estruturado
com evidências por check.

## Request

```json theme={null}
{
  "input": {
    "geometry": {
      "type": "Polygon",
      "coordinates": [[[-60,-3],[-60,-2],[-59,-2],[-59,-3],[-60,-3]]]
    },
    "scheme": { "type": "br:cnpj", "value": "00.000.000/0001-91" }
  },
  "ruleset_id": "br-bacen-cmn-5193-credito-rural@1"
}
```

| Campo            | Obrigatório | Notas                                                                 |
| ---------------- | ----------- | --------------------------------------------------------------------- |
| `input.geometry` | sim¹        | GeoJSON Polygon, MultiPolygon ou Point.                               |
| `input.scheme`   | sim¹        | Identificador tipado `{type, value}` para checks de subject register. |
| `input.crs`      | não         | CRS de origem (ex.: `EPSG:31983`). Default: `EPSG:4326`.              |
| `ruleset_id`     | sim²        | `name@version` para uma versão fixada, ou `name` para a mais recente. |
| `ruleset`        | sim²        | Ruleset inline.                                                       |

¹ Pelo menos um entre `geometry` ou `scheme` é obrigatório.
² Exatamente um entre `ruleset_id` / `ruleset`.

## Response

```json theme={null}
{
  "data": {
    "ruleset_ref": "br-bacen-cmn-5193-credito-rural@1",
    "evaluated_at": "2026-05-05T12:34:56Z",
    "status":  "ok",
    "outcome": "non_compliant",
    "checks": [
      {
        "id": "no_indigenous_overlap",
        "severity": "critical",
        "triggered": true,
        "status": "ok",
        "evidence": [
          {
            "source_name": "funai_tis",
            "name": "Yanomami",
            "overlap_area_m2": 420314.5,
            "overlap_pct_input": 0.42
          }
        ],
        "total_matched": 3
      }
    ],
    "projections": []
  }
}
```

### Dois campos distintos

* **`status`** — saúde de execução: `ok` se todo check rodou limpo,
  `degraded` se algum source ou check não pôde ser avaliado.
* **`outcome`** — resultado de compliance: `compliant`, `warning`,
  `non_compliant` ou `degraded`.

Você lê os dois. A resposta pode ter `status: ok` com `outcome:
non_compliant` (avaliação limpa, política violada). Um `status:
degraded` é incompleto — trate com cautela e considere retry.

Veja [Verdicts](/pt-BR/concepts/verdicts) para a semântica completa.

## Idempotência

Envie `Idempotency-Key: <string-única>` para fazer a chamada
seguramente repetível. A primeira resposta é replicada para chaves
iguais; colisões com bodies diferentes são rejeitadas.

## Formatos de saída

* Default: JSON.
* `Accept: application/geo+json` — retorna uma FeatureCollection
  GeoJSON com as feições de evidência.
