GET /health— sin auth, sin rate limit. Lo usan los uptime monitors y load balancers para verificar que el API está vivo y que la base de datos responde.GET /me— requiere bearer (cualquier scope, incluso vacío). Lo usan los conectores de Make / Zapier como paso de “Probar conexión” para mostrarle al usuario el nombre de su organización y los permisos del bearer.
GET /health
Sonda pública de liveness + readiness. No necesita header Authorization, sin scope, sin rate limit. Verifica que el proceso de Next.js está vivo y que el pool de la BD puede ejecutar un SELECT 1.
Diseñado para Uptime Kuma, Pingdom, Better Stack, target groups de AWS ELB, y monitoreo externo similar. Intencionalmente minimal: sin info de versión, sin leak de entorno, nada que un atacante pueda usar para fingerprinting.
Request
Response 200
Response 503
Devuelto cuando la base de datos no es alcanzable desde el tier del API.Tips para monitorear
- Usa keyword check sobre
"ok":trueen lugar de solo status200. Así, si un edge cache mal configurado sirve un{"ok":false}viejo, no aparece accidentalmente como healthy. - No le pegues más rápido que cada 60 segundos. Es un ping a la BD; no lo conviertas en una prueba de carga.
- No está autenticado. No incluyas headers sensibles cuando lo pruebes.
GET /me
Confirma que un bearer es válido y devuelve la organización a la que está atado. No requiere scope — útil como paso de “Probar conexión” en conectores de Make / Zapier.
Request
Response 200
Campos
| Campo | Descripción |
|---|---|
organization.id | Identificador interno de la organización. |
organization.name | Nombre de display. |
organization.slug | Slug seguro para URLs (puede ser null para orgs viejas). |
auth.type | api_key o oauth. |
auth.scopes | Array de scopes asociados a este bearer. |
auth.clientId | OAuth client ID. Solo presente para auth.type: "oauth". |
auth.userId | El usuario que se autentica. Solo presente para auth.type: "oauth". |
Errores
Aplican los errores estándar de auth (401, 403). Ver Autenticación.