📍 Endpoints Principales
La API está organizada en grupos funcionales:
Assets
/api/assets
Listar assets del portal
/api/assets
Subir nuevo asset
/api/assets/{id}
Obtener asset específico
Variantes
/api/assets/{id}/variants
Listar variantes de asset
/api/assets/{id}/variants
Crear nueva variante/recorte
IA/Stock Integration
/atenea/ai/generate
Generar imagen con IA
/atenea/stock/search
Buscar en stocks externos
/atenea/external/import
Importar desde galería externa
Portal Management
/api/portals/me
Info del portal actual
/api/portals/me/presets
Presets configurados
🔐 Flujo de Autenticación
La API usa JWT de corta duración (10 min) para máxima seguridad:
Server-to-Server Auth
Tu backend solicita JWT usando API Key secreta
/auth/token { "api_key": "ak_...", "public_key": "pk_..." }
Receive JWT Token
API responde con token JWT firmado
{"token": "eyJ0eXAiOiJKV1QiLCJhbGc...","expires_in": 600, "scopes": ["asset:read", "asset:write"]}
Use in Component
Pasa el JWT al Component-Limbo frontend
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGc...
Importante
Nunca expongas la API Key secreta en el frontend. El flujo debe ser: Backend obtiene JWT → Frontend usa JWT.
📊 Códigos de Estado HTTP
La API usa códigos HTTP estándar:
✅ Success (2xx)
200
OK - Request successful
201
Created - Resource created
⚠️ Client Error (4xx)
400
Bad Request - Invalid data
401
Unauthorized - Missing/invalid token
403
Forbidden - Insufficient permissions
404
Not Found - Resource not found
422
Unprocessable Entity - Validation failed
❌ Server Error (5xx)
500
Internal Error - Server problem
502
Bad Gateway - Upstream error
503
Service Unavailable - Maintenance
🚦 Rate Limiting y Límites
La API implementa límites para proteger el servicio:
📊 Requests por Minuto
Máximo 1000 requests por minuto por API Key
📁 Tamaño de Archivo
Máximo 15MB por imagen subida
🔄 Requests Concurrentes
Máximo 50 requests simultáneos
💾 Storage por Portal
Límite configurable por portal
📦 SDKs y Herramientas
Herramientas oficiales para facilitar la integración (más proximamente):
Component-Limbo
v1.5.0Frontend React embebible para cualquier tecnología