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.
- URL completa:
https://app.chapi.cl/api/check/{rut} - Método:
GET - Auth:
Authorization: Token <token>o cookiesessionid(más). - Tag OpenAPI:
Checks
Headers requeridos
| Header | Valor |
|---|---|
Authorization | Token <token> (si no usas cookie auth) |
Path parameters
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
rut | string | sí | RUT 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ódigo | Causa |
|---|---|
400 | Invalid RUT — el RUT no calza el regex. |
404 | No 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);
}
