# Chapi API

API pública de Chapi para verificación de antecedentes (KYC/KYB) en Chile a partir del RUT. Permite crear y consultar Checks, recuperar el último Check vigente del mes calendario en curso, y resolver entre nombre y RUT.

- **Base URL:** `https://app.chapi.cl`
- **Formato:** JSON (request y response).
- **Autenticación:** `Authorization: Token <token>` o cookie `sessionid`. Ver [Autenticación](/docs/api/authentication).
- **Especificación OpenAPI 3.0.3:** [`/openapi.yaml`](/openapi.yaml).

## Endpoints

| Método | Path | Descripción |
|---|---|---|
| POST | [`/api/check`](/docs/api/endpoints/check) | Crear o reutilizar el Check del mes calendario actual para un RUT. |
| GET | [`/api/check/{rut}`](/docs/api/endpoints/check-retrieve) | Recuperar el Check más reciente del RUT en el mes calendario actual. |
| POST | [`/api/name-to-rut`](/docs/api/endpoints/name-to-rut) | Buscar RUTs a partir de un nombre (paginado). |
| POST | [`/api/rut-to-name`](/docs/api/endpoints/rut-to-name) | Obtener nombre y datos a partir de un RUT. |

## Guías

- [Autenticación](/docs/api/authentication)
- [Convenciones (RUT, paginación, formatos)](/docs/api/conventions)
- [Códigos de error](/docs/api/errors)
- [Webhooks](/docs/api/webhooks)
- [Changelog](/docs/api/changelog)

## Quickstart

```bash
curl -X POST https://app.chapi.cl/api/check \
  -H "Authorization: Token TU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"rut": "22222222-2"}'
```

Respuesta esperada (200):

```json
{
  "id": "5c7e...uuid...",
  "permalink": "https://app.chapi.cl/check/5c7e...",
  "rut": "22222222-2",
  "name": "Nombre Apellido",
  "data": {
    "causas_penales_count": 0,
    "causas_penales_rut_match_count": 0,
    "causas_penales_name_match_count": 0,
    "causas_civiles_count": 0,
    "causas_laborales_count": 0,
    "causas_sindicales_count": 0,
    "international_sanctions_count": 0,
    "pep": false
  },
  "created_at": "2026-05-01T12:00:00Z",
  "score": { "value": 0.05, "label": "low" },
  "pdf_report_url": "https://app.chapi.cl/...pdf",
  "ai_summary": ""
}
```

El campo `score.label` toma exactamente uno de los valores `"low"`, `"medium"` o `"high"`.

## Documentos en Markdown

Cada página de esta documentación tiene una versión `.md` plana en la misma ruta. Por ejemplo:
- `https://chapi.cl/docs/api/endpoints/check` → HTML
- `https://chapi.cl/docs/api/endpoints/check.md` → Markdown

Los agentes que prefieran consumir Markdown pueden añadir `.md` al final de la URL.

---

Última actualización: 2026-05-01
