Seguimos Semantic Versioning para el SDK. El contrato de la API pública es estable dentro de v1; cualquier cambio incompatible se anunciará aquí con al menos 30 días de aviso.
v1 (0.4.0-beta) — 2026-06-14 (Formularios embebibles)
Add-only. Nueva superficie de formularios embebibles para capturar tickets y leads desde tu propia web sin instalar el widget de chat.
API:
GET https://api.lectico.com/v1/forms/{form_id}/config— devuelve la configuración pública de un formulario (campos, etiquetas, validaciones, branding). La sirve la API pública bajoapi.lectico.comy la consume el render del formulario embebido. Autenticación con la cabeceraLectico-Api-Key(clave pública del workspace, equivalente awidget_pk_*).POST https://forms.lectico.com/api/forms/{form_id}/submit— recibe el envío del formulario y crea el ticket o lead correspondiente en el workspace. Sirve desde el subdominio dedicadoforms.lectico.com. CabeceraLectico-Api-Keyobligatoria.- Acepta un
identity_tokenfirmado opcional: un token que tu backend genera para identificar de forma verificable al usuario que envía el formulario (evita suplantación). Si lo incluyes, Lectico asocia el envío a esa identidad sin que el visitante pueda falsearla; si lo omites, el envío se trata como anónimo/auto-declarado.
- Acepta un
Los envíos que generan un ticket pasan por el mismo pipeline que POST /v1/tickets: emiten ticket.created, notifican al owner por email y respetan los topes de plan.
Guía de uso: ver Formularios embebibles para la instalación paso a paso y Tickets para gestionar las solicitudes que llegan.
Sin cambios en endpoints existentes.
v1 (0.3.0-beta) — 2026-05-30 (Tickets: soporte humano vía API)
Add-only sobre 0.2.1-beta. Cero breaking changes — se añade el recurso tickets completo y 4 eventos de webhook nuevos. Documenta en el changelog endpoints que ya existían en producción.
API — recurso tickets (9 endpoints):
POST /v1/tickets— crea un ticket. Tres orígenes: widget (widget:tickets, origenwidget_buttonoai_escalation), y clientes de la API admin (write:tickets, origenapi) que canalizan tickets desde otros canales. Encolaticket.created, notifica al owner por email y deduplica conIdempotency-Key(TTL 24 h). Sujeto a topes de plan (Free 20/mes, Starter 200/mes, Pro ilimitado;402 limit_reachedal exceder).GET /v1/tickets— lista paginada (read:tickets).statusypriorityson multi-valor (repetir el parámetro hace OR). Opt-in?include=total_countañademeta.pagination.total_count.GET /v1/tickets/{public_id}— devuelve el ticket con su hilo completo de mensajes y eventos (read:tickets).PATCH /v1/tickets/{public_id}— actualización parcial (write:tickets):status,assigned_to(UID de miembro onull),tags(reemplaza la lista completa),metadata(merge superficial).POST /v1/tickets/{public_id}/resolve— atajo aPATCHconstatus:"resolved". Sellaresolved_at, emiteticket.resolved, idempotente.POST /v1/tickets/{public_id}/reopen— atajo aPATCHconstatus:"open". Limpiaresolved_at, emiteticket.status.changed.POST /v1/tickets/{public_id}/messages— añade un mensaje al hilo.author_typese infiere del contexto de auth (admin →member, widget →visitor). Una respuesta de miembro sobre un ticketopenlo pasa apending_usery sellafirst_response_at.DELETE /v1/tickets/{public_id}— derecho de supresión GDPR: anonimiza la PII (nombre, email y cuerpos de mensaje pasan a[deleted]); preservaticket_events. Idempotente, mismo patrón queDELETE /v1/leads/{lead_id}.
Webhook events nuevos (4):
ticket.created— se creó un ticket.ticket.status.changed— cambió el estado del ticket (incluye reaperturas).ticket.resolved— el ticket pasó aresolved.ticket.message.created— se añadió un mensaje al hilo.
Referencia completa: Tickets en la referencia REST y la guía del panel Tickets.
SDK @lectico/api: los helpers lectico.tickets.* se publicarán en el siguiente release del SDK.
v1 (0.2.1-beta) — 2026-04-13 (REQ-095: ingesta bulk multi-URL)
Add-only. Un endpoint nuevo.
API:
POST /v1/agents/{agent_id}/knowledge/batch— nuevo endpoint para ingestar hasta 500 URLs en una sola llamada. Las URLs pasan por el mismo pipeline que el endpoint individual (scrape, generación de categorías con IA, Q&A, vectorización). Procesamiento serial por agente: la primera URL establece la estructura de categorías, las siguientes distribuyen sus Q&A. Útil para documentación multi-página, help centers o migraciones desde otra plataforma.
Sin cambios en endpoints existentes. El ingest individual POST /v1/agents/{id}/knowledge type:"url" sigue igual y usa el mismo pipeline; la diferencia es que /batch ahorra 1 request por URL y garantiza orden serial.
SDK: @lectico/api@0.2.1-beta — pendiente release. El helper lectico.agents.knowledge.createBatch(agentId, { urls }) se publicará tras el siguiente release del SDK.
v1 (0.2.0-beta) — 2026-04-13 (REQ-092: paridad con admin)
Add-only sobre 0.1.0-beta. Cero breaking changes en endpoints existentes — solo se añaden 26 endpoints nuevos y campos adicionales al shape de KnowledgeSource.
API — 26 endpoints añadidos (total 53):
- Imagen (REQ-092.1):
POST /v1/agents/{id}/knowledge type:"file_id"ahora procesa imágenes (PNG, JPG, WEBP) con OCR por IA. - CSV Q&A (REQ-092.2):
POST /v1/agents/{id}/knowledgeaceptatype:"csv_qa"concontent(CSV plano, max 1 MB) para importar Q&A pre-formuladas sin pasar por el pipeline de IA. - Status enriquecido (REQ-092.3): el shape de knowledge source incluye ahora
phase,progress,attempts,next_attempt_atpara client UX (progress bars, spinners). - Files confirm:
POST /v1/files/{id}/confirmflippeastatusauploadedtras elPUTde bytes. - Q&A management (REQ-092.4, 9 endpoints):
/v1/agents/{id}/qa(CRUD +/regenerateasync) y/v1/agents/{id}/categories(CRUD). - Training agents (REQ-092.5, 12 endpoints):
/v1/agents/{id}/modules,/lessonsy/sourcescon jerarquía explícita. Solo agentestype:"training". - Glossary (REQ-092.6, 5 endpoints):
/v1/agents/{id}/glossaryconPUTlista completa,POST /terms,DELETE /terms/{term},PATCHflags.
Webhook events nuevos:
qa.regenerated—POST /qa/regenerateterminó.course.lesson.source.indexed— lesson source listo (training).course.lesson.source.failed— lesson source falló.
SDK @lectico/api v0.2.0-beta:
- 3 recursos nuevos:
lectico.qa,lectico.training,lectico.glossary. lectico.knowledge.get(agentId, sourceId)ylectico.knowledge.waitUntilDone(...)para polling.lectico.training.waitUntilDone(...).lectico.files.confirm(id).KnowledgeCreateInputahora discrimina portype:text | url | file_id | csv_qa.
npm install @lectico/api@betaLimitaciones documentadas:
- Imagen >= 4 MB usa un flujo interno alternativo (transparente para el cliente).
- Audio en lecciones puede tardar hasta 10 min según duración.
- Training agents:
is_primaryse asigna al primer source de la lección automáticamente; no hay endpoint para cambiarlo.
v1 (0.1.0-beta) — 2026-04-13
Lanzamiento inicial de la API pública y del SDK de Node.
API
- 26 endpoints bajo
/v1/*cubriendo agentes, mensajes, conocimiento, conversaciones, leads, webhooks, files y usage. - Autenticación con claves
sk_live_*ysk_test_*víaAuthorization: Bearer. - Cabecera legacy
x-api-keysoportada por compatibilidad. - Formato de error uniforme (RFC 7807-inspired) con
request_iden cada respuesta. - Paginación por cursor (
starting_after,has_more,next_cursor). - Idempotencia en todos los
POSTvíaIdempotency-Key(TTL 24 h). - Rate limits explícitos vía cabeceras
X-RateLimit-*. - Streaming SSE en
POST /v1/agents/{id}/messages. - Webhooks firmados con HMAC-SHA256 (formato
t=...,v1=...) y protección contra replay (tolerancia 5 min).
SDK @lectico/api v0.1.0
- Recursos:
agents,knowledge,conversations,leads,webhooks,files,usage. agents.messages.createcon streaming (default) o JSON (stream: false).iterAllpara auto-paginación.constructEventpara verificar firmas de webhook.- Clases de error tipadas:
AuthenticationError,NotFoundError,ConflictError,InvalidRequestError,RateLimitError,PaymentRequiredError,PermissionDeniedError,InternalServerError. - Reintentos automáticos en
429y5xxcon backoff exponencial. - Cero dependencias runtime. ESM only. Node 18+.
- npm · GitHub