← DocumentaciónEmpezar

Autenticación

API keys, scopes, rotación, cómo guardarlas.

Replai usa API keys con Bearer auth para el API REST y cookies HMAC-firmadas para el dashboard. Cada API key vive dentro de un tenant — nunca cruza tenants.

Formato de la API key

rk_live_ax87Cd...  ← producción
rk_test_PE2zKy...  ← sandbox (próximamente)

Prefijo rk_live_ + 40+ chars. Guárdala como secreto — la tratamos como una contraseña. La parte después del prefijo es lo único que valida el server.

Header Authorization

Todo request al API REST lleva:

Authorization: Bearer rk_live_ax87Cd...
Nunca pongas la API key en código del cliente (web/mobile). Va en backend, en una variable de entorno. Si se filtra, rotala desde Settings → API keys → Rotate.

Scopes

Hoy todas las API keys tienen scope=*. Próximamente:

  • messages:send — sólo enviar mensajes
  • messages:read — sólo leer conversaciones
  • webhooks:manage — CRUD de webhooks
  • admin:* — todo lo de arriba + billing + team

Rotación

Cada key tiene un id (kid) + secret. Al rotar:

  1. El dashboard genera una key nueva.
  2. La vieja sigue funcionando 24h (overlap window).
  3. Pasadas las 24h, los requests con la vieja devuelven 401 UNAUTHENTICATED.

En producción rota cada 90 días o tras cualquier sospecha de filtración. Para rotación automática usa el endpoint POST /v1/api-keys y guarda el secret nuevo en tu secret manager.

Cookies del dashboard

El dashboard usa session_id + cookie HMAC-firmada (SESSION_SECRET). TTL 14 días deslizante. Domain-locked al dominio del dashboard. Marcada Secure y SameSite=Lax.

Errores comunes

StatusCodeCausa
401UNAUTHENTICATEDFalta header o key inválida.
401UNAUTHENTICATEDKey rotada hace > 24h.
403FORBIDDENRecurso de otro tenant.
402PAYMENT_REQUIREDSuscripción no activa. Ver Pricing.
Autenticación · Replai · WhatsApp con IA en Venezuela