> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zylon.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Integración Claromentis

> Sincroniza contenido de Claromentis al espacio de trabajo.

<Warning>
  **Próxima versión — Zylon 1.58**

  Esta 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](/es/v1.57/overview).
</Warning>

Las integraciones de Claromentis importan contenido de la base de conocimiento. **Habilita Claromentis a nivel de instancia primero**—consulta la guía del operador: [Configuración de Claromentis](/es/v1.58/operator-manual/knowledge-base/claromentis).

## Requisitos previos

* Un token de Workspace API y el slug de la organización.
* Un proyecto de destino.
* Un usuario y una contraseña de Claromentis.

## Crear la integración

Crea la integración como un artefacto de tipo `Integration`. Las credenciales se guardan en `private_props` y no se devuelven en el `ArtifactDTO` público.

<Accordion title="Parametros del endpoint">
  | Tipo | Nombre | Obligatorio | Notas |
  | - | - | - | - |
  | Body | `project_id` | No | Proyecto propietario de la integración. Omítelo para una integración de organización; esa operación requiere `AppAdmin` o superior. |
  | Body | `type` | Si | Debe ser `Integration`. |
  | Body | `source` | Si | Debe ser `Claromentis`. |
  | Body | `name` | Si | Nombre visible de la integración. |
  | Body | `props` | Si | Usa `{}`. |
  | Body | `props.metadata` | No | Metadatos opcionales del proveedor. |
  | Body | `private_props.username` | Si | Usuario de Claromentis. |
  | Body | `private_props.password` | Si | Contraseña de Claromentis. |
</Accordion>

```bash theme={null}
curl -X POST "https://{BASE_URL}/api/v1/app/artifact" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -H "x-org: {org_slug}" \
  -H "Content-Type: application/json" \
  -d '{
    "project_id": "{projectID}",
    "type": "Integration",
    "source": "Claromentis",
    "name": "Base de conocimiento de Claromentis",
    "props": {},
    "private_props": {
      "username": "{claromentis_username}",
      "password": "{claromentis_password}"
    }
  }'
```

<Accordion title="Ejemplo de respuesta">
  ```json theme={null}
  {
    "id": "{integrationArtifactID}",
    "child_count": 0,
    "project_id": "{projectID}",
    "name": "Base de conocimiento de Claromentis",
    "type": "Integration",
    "source": "Claromentis",
    "state": "Published",
    "ingest_status": "NotApplicable",
    "props": {},
    "keep_file_after_ingestion": true,
    "created_at": "2026-02-08T14:05:00Z",
    "updated_at": "2026-02-08T14:05:00Z"
  }
  ```
</Accordion>

## Actualizar las credenciales

<Accordion title="Parametros del endpoint">
  | Tipo | Nombre | Obligatorio | Notas |
  | - | - | - | - |
  | Path | `integrationArtifactID` | Si | ID del artefacto de integración. |
  | Body | `private_props.username` | Si | Nuevo usuario de Claromentis. |
  | Body | `private_props.password` | Si | Nueva contraseña de Claromentis. |
</Accordion>

```bash theme={null}
curl -X PUT "https://{BASE_URL}/api/v1/app/artifact/{integrationArtifactID}" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -H "x-org: {org_slug}" \
  -H "Content-Type: application/json" \
  -d '{
    "private_props": {
      "username": "{claromentis_username}",
      "password": "{claromentis_password}"
    }
  }'
```

La respuesta es el `ArtifactDTO` actualizado y no incluye `private_props`.

## Obtener la integración

```bash theme={null}
curl "https://{BASE_URL}/api/v1/app/artifact/{integrationArtifactID}" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -H "x-org: {org_slug}"
```

<Accordion title="Ejemplo de respuesta">
  ```json theme={null}
  {
    "id": "{integrationArtifactID}",
    "child_count": 0,
    "project_id": "{projectID}",
    "name": "Base de conocimiento de Claromentis",
    "type": "Integration",
    "source": "Claromentis",
    "state": "Published",
    "ingest_status": "NotApplicable",
    "props": {},
    "keep_file_after_ingestion": true,
    "created_by": {
      "id": "{accountID}",
      "state": "Active",
      "email": "sasha@example.com",
      "name": "Sasha Patel",
      "provider": "Credentials",
      "roles": ["Workspace"],
      "created_at": "2026-02-08T14:12:45Z",
      "updated_at": "2026-02-08T14:12:45Z"
    },
    "created_at": "2026-02-08T14:05:00Z",
    "updated_at": "2026-02-08T15:10:00Z",
    "scopes": [
      {
        "scope_type": "project",
        "scope_id": "{projectID}",
        "enabled": true,
        "ws_auto_select": false
      }
    ]
  }
  ```
</Accordion>

## Iniciar la ingesta

Indica el proyecto de destino, los IDs de carpeta y los IDs de documento que quieres importar. Envía ambos arrays, aunque uno de ellos esté vacío. La respuesta es un stream SSE.

<Accordion title="Parametros del endpoint">
  | Tipo | Nombre | Obligatorio | Notas |
  | - | - | - | - |
  | Path | `integrationArtifactID` | Si | ID del artefacto de integración Claromentis. |
  | Body | `project_id` | Si | Proyecto de destino. |
  | Body | `folder_ids` | Si | IDs de carpetas que se importarán. |
  | Body | `docs_ids` | Si | IDs de documentos que se importarán. |
</Accordion>

```bash theme={null}
curl -N -X POST "https://{BASE_URL}/api/v1/app/artifact/{integrationArtifactID}/ingest" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -H "x-org: {org_slug}" \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{
    "project_id": "{projectID}",
    "folder_ids": ["42"],
    "docs_ids": ["314"]
  }'
```

<Accordion title="Ejemplo de stream">
  ```text theme={null}
  event: SyncEvent
  data: {"type":"sync_started","current_artifact_count":0,"integration_item_count":2}

  event: SyncEvent
  data: {"type":"sync_progress","artifact_id":"{artifactID}","op":"Added","progress":0.5}

  event: SyncEvent
  data: {"type":"sync_completed"}
  ```
</Accordion>

## Errores y casos límite

* **400**: faltan campos obligatorios o las credenciales no son válidas.
* **403**: conector no habilitado o permisos insuficientes.
* **404**: proyecto o artefacto de integración no encontrado.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.