Skip to main content
Próxima versión — Zylon 1.58Esta documentación se publica antes del lanzamiento para que puedas preparar tus integraciones de API. La imagen de la versión todavía no está disponible. Para instalaciones con 1.57, consulta la documentación de 1.57.
Las URLs de artefactos, las codificaciones de contenido y los campos de respuesta cambian en 1.58. Consulta Migración de API 1.57 → 1.58 antes de actualizar tu integración.
Un artefacto es una pieza de información o herramienta que le entregas a Zylon para usarla como contexto en consultas y operaciones. La Workspace API agrupa los artefactos en documentos, documentos IA y otros artefactos.

Requisitos previos

Artefactos

Campos de petición de artefacto

Usa POST /api/v1/app/artifact para crear cualquier tipo de artefacto. El cuerpo indica la organización o el proyecto propietario e incluye metadatos compartidos y un objeto props específico del tipo. Cuando envías la cabecera x-org, omite organization_id: la organización se obtiene de la cabecera. Usa project_id para crear el artefacto dentro de un proyecto u omítelo para crear un artefacto de organización; esto último requiere el rol AppAdmin o superior. Sin x-org, los operadores y superadministradores deben enviar organization_id; si también envían project_id, este debe pertenecer a esa organización. Los artefactos Link siempre requieren project_id.
Si omites scopes, un artefacto de proyecto recibe su alcance de proyecto y un artefacto de organización recibe su alcance de organización. No puedes crear un artefacto de organización con alcances de proyecto; añádelos después con la operación de alcance.

Artefactos de documento

Los documentos contienen contenido, los enlaces referencian artefactos existentes y las carpetas organizan artefactos dentro de una organización o un proyecto.

Documentos IA

Los documentos IA ejecutan un flujo de trabajo de Zylon sobre uno o más artefactos para producir un resultado estructurado.

Otros artefactos

Los otros artefactos proporcionan herramientas, conexiones con proveedores y skills reutilizables. private_props se usa en artefactos MCP, SqlDatabase y Integration respaldados por proveedores. Consulta las formas de petición de Integration en las guías de Confluence, SharePoint, Filesystem y Claromentis.

Trabajar con artefactos

Listar artefactos

Con x-org, el listado queda limitado a esa organización y no admite organization_id. Sin x-org, los operadores y superadministradores pueden seleccionar una organización con organization_id; si lo omiten, el backend busca en las organizaciones a las que tienen acceso. project_id requiere una organización seleccionada.
La respuesta paginada también devuelve next_cursor y previous_cursor cuando esos cursores están disponibles. has_next_page y has_previous_page siempre están presentes; total_count solo se devuelve al enviar total_count=true.

Obtener un artefacto

El servidor obtiene la organización y el proyecto del artefacto almacenado. No envíes esos identificadores en la ruta.

Actualizar un artefacto

Usa parent_id para mover un artefacto dentro de una carpeta. Usa reset_parent_id: true para quitar el padre actual y moverlo a la raíz de su árbol de proyecto u organización.

Validar antes de crear o actualizar

La validación está implementada para artefactos Skill y SqlDatabase. Usa POST /api/v1/app/artifact/validate con el mismo cuerpo de creación que enviarías a POST /api/v1/app/artifact. Para validar la actualización de uno de esos artefactos, usa POST /api/v1/app/artifact/{artifactID}/validate con el mismo cuerpo JSON que enviarías a PUT /api/v1/app/artifact/{artifactID}. Ninguna de las dos operaciones guarda cambios.
Ambas rutas devuelven el mismo modelo de validación:
La respuesta contiene valid, errors y warnings, además del campo opcional data. Cada error o advertencia contiene type, message y, opcionalmente, params. La validación de skills puede devolver name y description analizados dentro de data.

Añadir o eliminar un alcance

La respuesta es el artefacto actualizado con su lista scopes.

Reintentar la creación de un artefacto

POST /api/v1/app/artifact/{artifactID}/retry elimina el artefacto original y crea uno nuevo con un cuerpo de creación completo. organization_id y project_id deben coincidir con los del artefacto original.
La respuesta es el artefacto de reemplazo.

Eliminar un artefacto

La respuesta es una lista porque la eliminación puede afectar a artefactos descendientes.

Descargar contenido sin procesar

Sin la cabecera Content-Disposition, o con Content-Disposition: inline, la respuesta es una cadena con una URL prefirmada. Para un artefacto Link disponible, tanto este modo como Content-Disposition: attachment resuelven el artefacto original antes de devolver su URL o sus bytes:
Para recibir los bytes directamente, envía Content-Disposition: attachment:

Obtener contenido procesado

Este endpoint solo está disponible cuando el artefacto tiene un índice vectorial inicializado. En la práctica, esto suele implicar documentos de conectores o artefactos con indexación ya completada.

Sincronizar un artefacto

Este endpoint se utiliza principalmente con artefactos de integración (SharePoint, Confluence, Claromentis o FileSystem).
El cuerpo de la petición está vacío. La respuesta es un stream SSE emitido por el proceso de sincronización de la integración.

Ingerir desde un artefacto de integración

POST /api/v1/app/artifact/{artifactID}/ingest inicia la ingesta desde el artefacto de integración indicado por artifactID. El cuerpo JSON requiere project_id y los demás campos dependen del proveedor. El ejemplo selecciona un espacio de Confluence; consulta la guía de cada integración para ver sus campos completos. La respuesta es un stream SSE.

Actualizar artefactos en bloque

Usa el endpoint de actualización en bloque para aplicar la misma forma de cuerpo de PUT /api/v1/app/artifact/{artifactID} a varios artefactos.

Eliminar artefactos en bloque

Comprobar artefactos enlazados antes de modificar

Usa este endpoint antes de cambiar un artefacto cuando necesites comprobar si otros artefactos enlazados dependen de él.

Errores y casos límite

  • Códigos de error de artefacto: el campo error refleja fallos de ingesta:
Si ingest_status es Error, corrige el archivo y reintenta o sustituye el artefacto. Para artefactos de integración, corrige el origen y vuelve a sincronizar.
  • Advertencias: ingest_warnings puede incluir valores como BigSize, UnprocessableContent o NoContent para indicar problemas no fatales.
  • 400: en creación falta organization_id o x-org, se usa project_id sin una organización seleccionada o ya hay una sincronización en curso.
  • 401: token ausente o no válido.
  • 403: permisos insuficientes o combinación no permitida de organization_id con x-org.
  • 404: artefacto o proyecto no encontrado.
  • Para archivos de más de 250 MB, el backend conserva únicamente el registro del artefacto con la advertencia UnprocessableContent; no almacena los bytes subidos ni inicia la ingesta.