Autenticación
Secret key en el servidor; publishable key solo en el navegador. La key identifica el negocio y el entorno (prueba o producción).
Cabecerahttp
Authorization: Bearer kuti_live_…- Obligatoria en los endpoints de API (cobros, clientes, webhooks, saldo, …): Authorization: Bearer kuti_…
- Checkout público (GET /checkout-sessions/{id}): no uses la secret key; pasa el client_secret de la sesión como ?client_secret=… o header X-Kuti-Token.
- Sin key o inválida → 401 UNAUTHORIZED.
- kuti_test_… = prueba; kuti_live_… = producción. No mezcles datos entre entornos.
Cómo obtener la key
Dashboard KUTI → Desarrolladores → API keys. El plaintext solo se muestra al crearla. Guárdala en un secreto de servidor.
Claves live: el negocio debe tener el sello KUTI habilitado (verificación en Ajustes). Si no, la API responde 403 KYB_REQUIRED. Las de prueba se pueden crear desde el inicio.
Publishable keys
kuti_pub_test_… / kuti_pub_live_… son para el cliente (Checkout.js). Solo pueden crear sesiones de checkout. Nunca uses una secret key en el navegador.
Ejemplo
cURLbash
curl -s https://api.kuti.pe/v1/payment-intents \
-H 'Authorization: Bearer kuti_test_…' \
-H 'Content-Type: application/json'