Autenticación

La API usa llaves tipo bearer. Cada solicitud lleva tu llave en el header Authorization.

Crear una llave

  1. Entra al portal de tu flotilla → Desarrolladores.
  2. Crear llave API: nombre + permisos (scopes).
  3. Copia la llave en ese momento — por seguridad no volvemos a mostrarla. Si la pierdes, revócala y crea otra.

Solo la cuenta principal de la flotilla administra llaves; los usuarios de equipo no.

Las llaves de producción empiezan con ck_live_; las del ambiente de pruebas con ck_test_. Una llave test nunca funciona en producción ni al revés.

Usarla

curl https://api.credikul.com/v1/me \
  -H "Authorization: Bearer ck_live_TU_LLAVE"

GET /v1/me es el "hola mundo": responde tu flotilla, los scopes de la llave y el ambiente.

{
  "tenantId": "1f2e…",
  "tenantName": "Flotilla García",
  "keyId": "8a3b…",
  "keyPrefix": "ck_live_a1b2c3d4",
  "scopes": ["vehicles:read", "vehicles:write", "drivers:read", "drivers:write", "documents:write", "rides:read"],
  "environment": "live"
}

Scopes

Scope Autoriza
vehicles:read Leer vehículos, registros y documentos
vehicles:write Crear/editar vehículos y registrarlos en plataformas
drivers:read Leer conductores, invitaciones y asignaciones
drivers:write Crear/editar conductores, invitar, asignar
documents:write Subir documentos de vehículo
rides:read Consultar viajes y ganancias

Una llamada sin el scope necesario responde 403 con código INSUFFICIENT_SCOPE.

Buenas prácticas

  • Guarda la llave en una variable de entorno o en un gestor de secretos — nunca en el código, en un repositorio ni en un frontend.
  • Usa una llave por sistema (nómbralas por lo que las usa) — así revocar una no tumba lo demás.
  • Rotación: crea la llave nueva → migra tu sistema → revoca la vieja. La revocación es inmediata.

Errores de autenticación

HTTP Código Causa
401 UNAUTHORIZED Header faltante, llave inválida, revocada o del ambiente equivocado
403 INSUFFICIENT_SCOPE La llave no tiene el scope del endpoint
403 TENANT_PENDING Tu cuenta sigue en revisión por Credikul