Cómo se autentica una petición
Todas las peticiones a la API pública llevan una clave secreta en la cabecera Authorization:
curl https://api.lectico.com/v1/agents \
-H "Authorization: Bearer sk_live_TU_CLAVE"Si una petición llega sin cabecera o con una clave inválida, la API responde 401 Unauthorized con code: invalid_api_key.
Tipos de clave
| Prefijo | Entorno | Para qué sirve |
|---|---|---|
sk_test_* | Sandbox | Desarrollo, CI/CD, pruebas. Datos aislados de producción, sin impacto en tu plan. |
sk_live_* | Producción | Integraciones reales. Consume crédito del plan. |
widget_pk_* | Widget | No funciona con esta API. Es una clave pública pensada para el chat embebible. Ver API Keys. |
Obtener una clave
- Entra en app.lectico.com con tu cuenta.
- En el sidebar, haz clic en API Keys.
- Pulsa Crear API key y elige tipo
admin. - Copia la clave completa. Solo se muestra una vez; guárdala en un gestor de secretos.
La clave no se puede recuperar — Si la pierdes, revoca la actual y crea una nueva. No hay forma de volver a ver el valor completo una vez cerrado el modal.
Buenas prácticas
- Nunca expongas
sk_live_*en el cliente. Es una clave secreta; vive solo en tu backend o en variables de entorno del servidor. - Usa
sk_test_*en CI. Los tests nunca deben tocar producción. - Rota las claves cada 90 días como mínimo, o cuando sospeches que una se ha filtrado.
- Revoca inmediatamente cualquier clave comprometida desde la pantalla de API Keys.
- Una clave por integración. Así puedes revocar una sin afectar al resto.
Cabecera legacy: x-api-key
Por compatibilidad, la API también acepta la clave en la cabecera x-api-key:
curl https://api.lectico.com/v1/agents \
-H "x-api-key: sk_live_TU_CLAVE"Recomendamos usar Authorization: Bearer ... en nuevas integraciones. La cabecera legacy seguirá funcionando durante toda la v1.
Errores de autenticación
| Código HTTP | code | Significado |
|---|---|---|
| 401 | invalid_api_key | La clave no existe o está revocada. |
| 401 | missing_authorization | No llegó ninguna cabecera de autenticación. |
| 403 | key_scope_mismatch | La clave existe pero no tiene permiso para este recurso. |
Todos los errores incluyen un request_id en la respuesta. Inclúyelo en tus tickets de soporte.