Claves API
Descripción general
Las claves API te permiten autenticarte con la API de Cotizera sin usar sesiones del navegador. Son ideales para:
- Integraciones con Zapier — conectar Cotizera con más de 6,000 apps
- Scripts automatizados — importar datos, generar cotizaciones programáticamente
- Aplicaciones externas — acceder a la API desde tus propios sistemas
Formato de la clave
Las claves API tienen el formato ctza_ seguido de 40 caracteres hexadecimales:
ctza_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0La clave completa se muestra una sola vez al momento de crearla. Cotizera almacena un hash bcrypt de la clave — no es posible recuperarla después.
Autenticación con clave API
Incluye tu clave API en el header Authorization de cada solicitud:
curl https://cotizera.com/api/v1/quotes \
-H "Authorization: Bearer ctza_a1b2c3d4..."La clave hereda los permisos del usuario que la creó (rol y tenant).
Endpoints
Listar claves API
GET /api/api-keys
Permiso: config:manage (solo Owner)
Lista todas las claves API del tenant. Nunca devuelve el hash de la clave.
Respuesta 200 OK:
[
{
"id": "clxyz...",
"name": "Zapier Integration",
"prefix": "ctza_a1b2",
"lastUsedAt": "2026-04-08T14:30:00.000Z",
"expiresAt": null,
"isActive": true,
"createdAt": "2026-03-15T10:00:00.000Z"
}
]Crear clave API
POST /api/api-keys
Permiso: config:manage (solo Owner)
Crea una nueva clave API. La clave completa (key) se devuelve únicamente en esta respuesta.
Cuerpo de la solicitud:
{
"name": "Mi integración",
"expiresAt": "2027-01-01T00:00:00.000Z"
}| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| name | string | Sí | Nombre descriptivo (1-100 caracteres) |
| expiresAt | string | No | Fecha de expiración en formato ISO 8601 |
Respuesta 201 Created:
{
"id": "clxyz...",
"name": "Mi integración",
"prefix": "ctza_a1b2",
"key": "ctza_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0",
"expiresAt": "2027-01-01T00:00:00.000Z",
"createdAt": "2026-04-09T10:00:00.000Z"
}Copia y guarda la clave inmediatamente. No podrás verla de nuevo.
Revocar clave API
DELETE /api/api-keys/:id
Permiso: config:manage (solo Owner)
Revoca una clave API (desactivación lógica). Las solicitudes con esta clave dejarán de funcionar inmediatamente.
Respuesta 200 OK:
{
"success": true
}Mejores prácticas
- Usa variables de entorno — nunca incluyas claves directamente en el código fuente
- Rota las claves periódicamente — crea una nueva clave, actualiza tus integraciones, y revoca la anterior
- Establece fecha de expiración — para claves temporales o de CI/CD, configura
expiresAt - Una clave por integración — facilita revocar el acceso si una integración se compromete
- Nunca hagas commit de claves — agrega archivos
.enva tu.gitignore
Siguientes pasos
- Integración con Zapier — usa tu clave API para conectar con Zapier
- API de Cotizaciones — crea cotizaciones programáticamente
- Guía de Webhooks — recibe notificaciones en tiempo real