El AfiniTwin Portable lleva un par de meses descargándose desde el dashboard. Funciona: copias el preset, lo pegas en Claude/ChatGPT/Gemini, y la IA habla contigo como si te conociera desde el primer turno. Pero copiar y pegar es una mecánica que no escala. Si tu integración B2B es seria —un CRM, un asistente propio, un pipeline nocturno de procesamiento— necesitas otra cosa: que el AfiniTwin entre solo, programáticamente, en cada llamada que hace tu sistema al LLM.
Eso es lo que liberamos hoy. Una API REST autenticada que sirve tu AfiniTwin como system prompt, lista para inyectarse desde el código que estés escribiendo.
El gesto mínimo
Una key, una llamada:
curl -H "X-Twin-Key: atk_live_xxxxxxxx_yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" \
"https://api.afini.ai/v1/public/twin/preset/estandar?format=json&lang=es"
Devuelve el meta-prompt completo del preset que pidas, en el formato que pidas. Lo cargas como system en tu cliente Anthropic / OpenAI / Mistral / lo que sea, y a partir de ahí cada turno está calibrado a tu perfil cognitivo. Sin reentrenamiento. Sin fine-tuning. Sin pasar por nuestra infraestructura más allá de la lectura inicial del snapshot.
Cinco endpoints, una sola idea
/v1/public/twin/health — un ping para validar que la key sigue viva sin gastar cuota mensual. Para tus health checks de despliegue.
/v1/public/twin/me — identidad de la key, plan del propietario, cuota usada/restante, último Twin disponible. Es lo que llamarás al arrancar tu integración para detectar si has bajado de plan o si la key fue revocada.
/v1/public/twin/historic — listado de tus snapshots (uno por AfiniTwin comprado o por trimestral gratis del plan Profesional). Útil si tu integración quiere ofrecer al usuario elegir entre varios.
/v1/public/twin/snapshots/:id — metadatos de un snapshot concreto.
/v1/public/twin/preset/:slug?format=...&lang=...&variant=...&includeNarratives=... — el endpoint con carne. Devuelve el artefacto en .txt, .md, .json o .yaml, en seis idiomas, con o sin narrativas Opus integradas.
Todos los endpoints excepto /health cuentan para la cuota mensual. Por defecto 10.000 requests al mes, configurable hasta 1 millón por key. Cada respuesta incluye cabeceras X-Twin-Quota-{Limit,Used,Remaining} para que tu integración sepa cuánto le queda.
Por qué key, no OAuth
OAuth tendría sentido si la integración fuese un tercero accediendo al perfil de un usuario distinto. No es el caso. La API B2B sirve TU AfiniTwin a TU integración —tu CRM, tu asistente, tu agente—. Una API key personal, generada en tu dashboard, copiada al vault de tu integración, es el modelo que mejor encaja: cero fricción de consentimiento, revocación instantánea, una key por integración para que el blast radius de una filtración esté acotado.
Las keys son secretos en el sentido fuerte: en BD guardamos solo el hash SHA-256 (formato atk_live_<8 hex>_<32 hex>). El plaintext se enseña una vez al crearla. Si lo pierdes, revocas y creas otra. Si publicas la key por accidente en un repo público —pasa, no eres el primero— la revocas desde el dashboard y sale del aire en milisegundos.
Plan Profesional, no por capricho
La generación de keys está reservada al plan Profesional (suscripción Stripe activa o voucher Profesional vivo). Los endpoints públicos sirven indistintamente, siempre que tu key venga firmada en una cuenta Profesional al canjearla. Si bajas de plan, las keys siguen guardadas pero los endpoints devuelven 403 hasta que vuelvas a Profesional. No las borramos: las dejamos en pause, esperando.
¿Por qué no Esencial o Premium? Porque las integraciones B2B implican carga sostenida sobre nuestra infraestructura (el snapshot vive en nuestra BD, las cabeceras se sirven desde nuestro proxy), y el coste marginal por integración solo cuadra a precio Profesional. No es restricción artificial: es ingeniería honesta.
Cuota, rate-limit, dos cinturones
La cuota mensual mide volumen agregado. El rate-limit por IP/key mide ráfagas. Hoy te servimos 60 requests por minuto sobre cada endpoint pesado, 120 por minuto sobre /health. Si tu integración pega un bucle infinito accidental, el rate-limit la atrapa antes de drenarte la cuota mensual. No es seguridad de un solo capa.
Lo que NO somos
Esto no es un endpoint de "tráeme el perfil de usuario X" donde X es alguien distinto al titular de la key. La key autentica al propietario y devuelve siempre SU AfiniTwin. No hay paths multi-tenant. No hay admin remoto.
Esto tampoco es un endpoint para entrenar modelos a costa del usuario. Lo que sirvimos es lo que ya está en su snapshot inmutable. Si nuestro proveedor de inferencia (Anthropic) cambia su política de retención, no afecta retroactivamente a snapshots ya generados.
Y esto no es un sustituto del journaling, del coaching ni de la terapia. Es un componente técnico para integradores. Las cuestiones humanas siguen siendo humanas.
Cómo empezar hoy
- Suscríbete o canjea voucher Profesional en
https://afini.ai/preciossi aún no lo tienes. - Compra tu AfiniTwin desde el dashboard si no lo has hecho ya. La API funciona sin Twin (te devuelve 403 NO_TWIN_PURCHASED), pero sin Twin no hay mucho que servir.
- Genera tu primera key en
https://afini.ai/es/dashboard/twin/api. Cópiala al vault de tu integración. NO la cometas a un repo. - Llama a
/v1/public/twin/healthpara verificar que está viva. No consume cuota. - Lee la documentación completa en
https://afini.ai/es/afinitwin/api. Hay ejemplos en cURL, Node.js y Python, tabla completa de errores, recomendaciones de seguridad.
Si tu caso de integración tiene exigencias particulares —cuotas mayores que 1 millón al mes, scopes específicos, soporte SLA—, escríbenos a info@afini.ai. Hay margen de negociación.
Roadmap honesto
Hoy (v1.0): los 5 endpoints anteriores, scope twin:read único, plan Profesional, cuota configurable hasta 1M.
Próximas semanas: webhooks (notificarte cuando un nuevo snapshot esté ready, sin que tengas que hacer polling), scope twin:write para integraciones que quieran sembrar hechos vitales (con consentimiento explícito), métricas de uso desde el dashboard.
Cuando haga falta: SDK oficial en TypeScript y Python, ejemplos canónicos de integración con Anthropic y OpenAI, plan Enterprise con SLA y cuotas por encima del millón.
No prometemos lo que no hay. Si lo necesitas y aún no está, dilo y se prioriza.
— Ricardo