#Autenticación

Cada credencial de la API de Clarisfy es un par API key + API secret, emitido para un entorno concreto. Autenticas enviando ambos con HTTP Basic en el header Authorization.

#El par key + secret

Al crear una credencial obtienes dos valores:

ValorPrefijoVisibilidad
API keyclf_{env}_key_…Pública. Identifica la credencial; puedes volver a consultarla en el Panel.
API secretclf_{env}_secret_…Privada. Se muestra una sola vez al crearla; guárdala de inmediato.

El servidor solo almacena el sha256 del secret: si lo pierdes, genera una credencial nueva y revoca la anterior. El prefijo clf_ es amigable con el escaneo de secretos (herramientas como el secret-scanning de GitHub detectan una clave filtrada por su patrón).

#Entornos

Cada credencial vive en un entorno, marcado en el prefijo:

EntornoPrefijosUso
Producción (live)clf_live_key_… / clf_live_secret_…Datos fiscales reales del contribuyente.
Desarrollo (test)clf_test_key_… / clf_test_secret_…Datos de prueba.

#Cómo autenticarte

El método canónico es HTTP Basic: la api_key va como usuario y el api_secret como contraseña (Authorization: Basic base64(api_key:api_secret)). Para pruebas rápidas también se acepta el api_secret solo como Bearer.

cURL
# HTTP Basic (recomendado): -u la codifica en base64 por ti
curl https://api.clarisfy.com/api/v1/fiscal-entities \
  -u "clf_live_key_2b7f9c1a4d8e6f30a1b2c3d4:clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"

#Cómo se administran

Las credenciales se crean, rotan y revocan desde el Panel (Configuración → Desarrollo → API keys). Son:

  • Por organización — pertenecen a tu Account, no a un usuario individual.
  • Por entorno — eliges Producción o Desarrollo al crearlas.
  • Rotables — genera una credencial nueva y revoca la anterior sin tiempo fuera de servicio.

#Errores de autenticación

Los errores devuelven el HTTP status correspondiente y un cuerpo { "detail": … }:

Código HTTPdetail (ejemplo)Causa
401missing or invalid Authorization headerNo se envió Authorization o el esquema no es Basic/Bearer.
401invalid Basic credentialsEl base64 de Basic no es api_key:api_secret válido.
401invalid or revoked api credentialsLa credencial no existe, expiró o fue revocada, o el secret no coincide.

Ejemplo de respuesta 401:

JSON
{
  "detail": "invalid or revoked api credentials"
}