Chapi

GET /api/check/{rut}

Recupera el Check más reciente de un RUT dentro del mes calendario en curso. No crea un Check nuevo. Si quieres garantizar que exista uno, usa primero POST /api/check.

Headers requeridos

HeaderValor
AuthorizationToken <token> (si no usas cookie auth)

Path parameters

ParámetroTipoRequeridoDescripción
rutstringRUT a recuperar. Patrón: \d{1,2}\.?\d{3}\.?\d{3}-[\dkK]$. Ver Convenciones.

Ejemplos válidos

GET /api/check/22222222-2
GET /api/check/12.345.678-9
GET /api/check/9876543-K

Respuestas

200 OK

Devuelve el Check vigente para el RUT en el mes calendario actual. Schema: Check (idéntico a ACheck).

{
  "id": "5c7e0a1e-3c1d-4e0a-bf5a-2a0a9b1c0d1e",
  "permalink": "https://app.chapi.cl/check/5c7e0a1e-3c1d-4e0a-bf5a-2a0a9b1c0d1e",
  "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": 2,
    "causas_laborales_count": 0,
    "causas_sindicales_count": 0,
    "international_sanctions_count": 0,
    "pep": false
  },
  "created_at": "2026-05-01T12:00:00Z",
  "score": { "value": 0.18, "label": "low" },
  "pdf_report_url": "https://app.chapi.cl/checks/5c7e0a1e/report.pdf",
  "ai_summary": ""
}

Estructura completa de campos descrita en POST /api/check.

Errores

CódigoCausa
400Invalid RUT — el RUT no calza el regex.
404No existe un Check para ese RUT dentro del mes calendario en curso.

Schema de error: { "message": "..." }. Más en Errores.

Patrón típico: garantizar Check vigente

import requests

def get_or_create_check(rut: str, token: str) -> dict:
    headers = {"Authorization": f"Token {token}"}
    r = requests.get(f"https://app.chapi.cl/api/check/{rut}", headers=headers, timeout=30)
    if r.status_code == 200:
        return r.json()
    if r.status_code == 404:
        r = requests.post(
            "https://app.chapi.cl/api/check",
            headers=headers,
            json={"rut": rut},
            timeout=30,
        )
        r.raise_for_status()
        return r.json()
    r.raise_for_status()

Ejemplos

curl

curl https://app.chapi.cl/api/check/22222222-2 \
  -H "Authorization: Token TU_TOKEN"

Python (requests)

import requests

resp = requests.get(
    "https://app.chapi.cl/api/check/22222222-2",
    headers={"Authorization": "Token TU_TOKEN"},
    timeout=30,
)
if resp.status_code == 404:
    print("No hay Check vigente este mes para ese RUT.")
else:
    resp.raise_for_status()
    print(resp.json()["score"]["label"])

JavaScript (fetch)

const resp = await fetch("https://app.chapi.cl/api/check/22222222-2", {
  headers: { "Authorization": "Token TU_TOKEN" },
});
if (resp.status === 404) {
  console.log("Sin Check vigente este mes.");
} else if (!resp.ok) {
  throw new Error(`HTTP ${resp.status}`);
} else {
  const check = await resp.json();
  console.log(check.score.label);
}