Chapi

Autenticación

El API de Chapi soporta dos esquemas de autenticación, ambos definidos en el OpenAPI.

1. Token (recomendado para integraciones server-to-server)

Envía el token en el header Authorization con el prefijo literal Token (separado por un espacio):

Authorization: Token TU_TOKEN

Ejemplos

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

r = requests.post(
    "https://app.chapi.cl/api/check",
    headers={"Authorization": "Token TU_TOKEN"},
    json={"rut": "22222222-2"},
    timeout=30,
)
r.raise_for_status()
print(r.json())
const r = await fetch("https://app.chapi.cl/api/check", {
  method: "POST",
  headers: {
    "Authorization": "Token TU_TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ rut: "22222222-2" }),
});
if (!r.ok) throw new Error(`HTTP ${r.status}`);
console.log(await r.json());

2. Cookie (uso desde el panel app.chapi.cl)

El panel autenticado en https://app.chapi.cl mantiene una cookie sessionid. Las llamadas hechas desde el panel (mismo origen) la usan automáticamente. Este esquema no está pensado para integraciones server-to-server; usa Token en su lugar.

Esquema completo (extracto OpenAPI)

securitySchemes:
  cookieAuth:
    type: apiKey
    in: cookie
    name: sessionid
  tokenAuth:
    type: apiKey
    in: header
    name: Authorization
    description: Token-based authentication with required prefix "Token"

Todos los endpoints declaran ambos esquemas como alternativos:

security:
  - cookieAuth: []
  - tokenAuth: []

Pendiente de aclaración

Cómo emitir / rotar tokens. El procedimiento exacto para crear un token de API (probablemente desde el panel en https://app.chapi.cl), su política de rotación y los scopes asociados aún no están documentados públicamente. Si lo necesitas, contacta a Chapi vía https://chapi.cl/contacto.
Scopes y permisos. El OpenAPI actual no diferencia scopes por endpoint. Asume que un token válido tiene acceso a los 4 endpoints del API.