Autenticación
La API de Luna Health es una API REST de solo lectura: todos los endpoints documentados usan el método HTTP GET. Cada solicitud debe autenticarse con una clave de API para que Luna Health identifique tu integración y aplique el acceso a los datos correctos de la clínica.
Obtén una clave de API
Crea una cuenta gratuita y genera una clave desde el panel de tu cuenta. Las claves están asociadas a tu organización y se pueden revocar en cualquier momento.
Autentica una solicitud
Envía tu clave de API en cada solicitud usando el esquema que se muestra en Esquema de seguridad más abajo. La forma más común es un token bearer en el encabezado Authorization:
curl https://account.lunahealth.app/api/patients \
-H "Authorization: Bearer TU_CLAVE_API"const res = await fetch("https://account.lunahealth.app/api/patients", {
headers: { Authorization: "Bearer TU_CLAVE_API" },
});
const data = await res.json();import requests
res = requests.get(
"https://account.lunahealth.app/api/patients",
headers={"Authorization": "Bearer TU_CLAVE_API"},
)
data = res.json()Reemplaza TU_CLAVE_API con la clave de tu panel y ajusta la URL base y la ruta al endpoint que estés llamando — consulta la referencia de la API para cada endpoint.
Protege tu clave
- Trata las claves de API como contraseñas. Nunca las incluyas en el control de versiones ni las expongas en código del lado del cliente.
- Guarda las claves en variables de entorno o en un gestor de secretos, y cárgalas en tiempo de ejecución.
- Rota las claves periódicamente y revoca cualquier clave que creas expuesta.
Solución de problemas
- 401 Unauthorized — falta la clave, es incorrecta o fue revocada. Verifica el nombre y el valor del encabezado según el esquema de seguridad de abajo.
- 403 Forbidden — la clave es válida pero no tiene autorización para ese recurso. Revisa los alcances otorgados a la clave.
Esquema de seguridad
| Nombre | Tipo | Ubicación | Detalles |
|---|---|---|---|
bearerAuth | http | header | bearer · Clave API |