Skip to main content

Scopes

Cada API key se genera con uno de dos scopes: WRITE es un superset de READ: cualquier endpoint que acepta READ también acepta WRITE.

Tabla de permisos por endpoint

Respuestas de scope insuficiente

Si una llave READ intenta una operación WRITE:

Multi-tenant scope (automático)

Tu API key está bound a UNA cuenta empresarial. Todos los endpoints filtran por tu companyId automáticamente — no podés ver ni operar datos de otras cuentas. Endpoints administrativos globales (/admin/*) usan un middleware de autenticación diferente y rechazan API keys cliente. Esto es defense-in-depth contra privilege escalation.

Multi-sig (firma múltiple)

Si tu empresa configuró multiSigThreshold >= 2, las transferencias salientes vía POST /transfers/send no se dispatchan inmediatamente:
La transacción espera firmas (ADMIN/OPERATOR roles via dashboard) hasta alcanzar el quorum. TTL 24h — si no se firma, expira y revierte automáticamente. API keys NO pueden firmar approvals (defense-in-depth — un actor humano siempre debe verificar). Las firmas se hacen desde el dashboard cliente o admin.

Buenas prácticas

Mínimo privilegio

Generá llaves READ separadas para reporting/observabilidad. Solo usá WRITE en servicios que estrictamente disparan movimientos.

Múltiples llaves por entorno

production-server · staging · local-dev · reporting-bi. Cada una con su label y su scope mínimo necesario.

Rotá cada 90 días

Cero downtime: generá nueva → switch → revocá vieja.

Audit por llave

El campo apiKeyId queda persistido en cada Transaction — podés filtrar el historial por llave para forensics.