# Crear un enlace para conectar un sistema

> Crea un enlace de un solo uso donde la persona entrega sus credenciales del sistema para conectarlo.



{/* AUTO-GENERATED by @emisso/codegen. DO NOT EDIT. */}

|                     |                                                                      |
| ------------------- | -------------------------------------------------------------------- |
| **Tool ID**         | `conexiones.enlace.crear`                                            |
| **Nombre MCP**      | `conexiones__enlace__crear`                                          |
| **Conector**        | `conexiones`                                                         |
| **Plano**           | `action`                                                             |
| **Scope (permiso)** | `conexiones:write`                                                   |
| **Auth**            | `none`                                                               |
| **Versión**         | `1`                                                                  |
| **Sensible**        | sí                                                                   |
| **Deprecado**       | no                                                                   |
| **Comportamiento**  | readOnly=false, destructive=false, idempotent=false, openWorld=false |

## Qué hace [#qué-hace]

Devuelve el enlace SIEMPRE con su dominio completo visible y explicando quién lo pidió y para qué; nunca lo presentes como un aviso del banco ni del SII. La credencial se cifra en el vault de esta misma organización y no la ve nadie más, tampoco tú. El enlace vence y sirve una sola vez. Después de que la persona lo complete, usa 'conexiones.estado.consultar' para saber si ya hay datos.

## Entrada [#entrada]

| Campo        | Tipo                       | Requerido              | Descripción                                                                                    |
| ------------ | -------------------------- | ---------------------- | ---------------------------------------------------------------------------------------------- |
| `sistema`    | string                     | sí                     | Código del sistema, tal como lo devuelve conexiones.sistemas.listar.                           |
| `modo`       | `"crear"` · `"reconectar"` | no · default `"crear"` | 'crear' para una conexión nueva; 'reconectar' para renovar la credencial de una que ya existe. |
| `conexionId` | string                     | no                     | conn\_…, obligatorio cuando modo es 'reconectar'.                                              |

<details>
  <summary>
    JSON Schema de entrada
  </summary>

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "sistema": {
        "type": "string",
        "description": "Código del sistema, tal como lo devuelve conexiones.sistemas.listar."
      },
      "modo": {
        "default": "crear",
        "description": "'crear' para una conexión nueva; 'reconectar' para renovar la credencial de una que ya existe.",
        "type": "string",
        "enum": [
          "crear",
          "reconectar"
        ]
      },
      "conexionId": {
        "description": "conn_…, obligatorio cuando modo es 'reconectar'.",
        "type": "string"
      }
    },
    "required": [
      "sistema"
    ]
  }
  ```
</details>

## Ejemplo [#ejemplo]

```bash title="curl"
curl -X POST https://connect.emisso.ai/api/v1/tools/conexiones.enlace.crear/execute \
  -H "Authorization: Bearer connect_sk_…" \
  -H "Content-Type: application/json" \
  -d '{"input":{"sistema":"sii"}}'
```

```ts title="SDK TypeScript"
const data = await connect.tools.conexiones.enlace.crear({ sistema: "sii" });
```

```json title="MCP · meta-tool execute"
{
  "tool": "conexiones.enlace.crear",
  "params": {
    "sistema": "sii"
  }
}
```

**Salida esperada (200):**

```json
{
  "data": {
    "url": "https://connect.emisso.ai/c/mYw2kQ81xR4tPnZs",
    "dominio": "connect.emisso.ai",
    "sistema": "sii",
    "sistemaNombre": "Servicio de Impuestos Internos",
    "modo": "crear",
    "expiraEn": "2026-08-07T15:32:11.000Z",
    "intentosMaximos": 5,
    "advertencia": "Este enlace pide credenciales de acceso al sistema. Muéstralo siempre con su dominio completo y di quién lo pidió y para qué. No lo presentes como un aviso del banco ni del SII."
  },
  "meta": {
    "request_id": "req_…",
    "tool_id": "conexiones.enlace.crear",
    "plane": "action",
    "latency_ms": 24,
    "audit_status": "recorded"
  }
}
```

> El enlace vence una hora después de acuñado y sirve una sola vez.

## Salida [#salida]

| Campo             | Tipo                       | Requerido | Descripción                                                                    |
| ----------------- | -------------------------- | --------- | ------------------------------------------------------------------------------ |
| `url`             | string                     | sí        | El enlace de un solo uso. Compártelo tal cual, con el dominio visible.         |
| `dominio`         | string                     | sí        | El dominio del enlace, ya extraído para mostrarlo junto a la URL.              |
| `sistema`         | string                     | sí        | Código del sistema que se va a conectar.                                       |
| `sistemaNombre`   | string                     | sí        | Nombre del sistema, para presentar el enlace con claridad.                     |
| `modo`            | `"crear"` · `"reconectar"` | sí        | Si el enlace crea una conexión nueva o renueva la credencial de una existente. |
| `expiraEn`        | string                     | sí        | Cuándo vence el enlace (ISO 8601). Vencido, hay que crear otro.                |
| `intentosMaximos` | entero                     | sí        | Cuántos intentos de login admite antes de agotarse.                            |
| `advertencia`     | string                     | sí        | Texto de presentación segura del enlace, listo para mostrar a la persona.      |

<details>
  <summary>
    JSON Schema de salida
  </summary>

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "url": {
        "type": "string",
        "description": "El enlace de un solo uso. Compártelo tal cual, con el dominio visible."
      },
      "dominio": {
        "type": "string",
        "description": "El dominio del enlace, ya extraído para mostrarlo junto a la URL."
      },
      "sistema": {
        "type": "string",
        "description": "Código del sistema que se va a conectar."
      },
      "sistemaNombre": {
        "type": "string",
        "description": "Nombre del sistema, para presentar el enlace con claridad."
      },
      "modo": {
        "type": "string",
        "enum": [
          "crear",
          "reconectar"
        ],
        "description": "Si el enlace crea una conexión nueva o renueva la credencial de una existente."
      },
      "expiraEn": {
        "type": "string",
        "description": "Cuándo vence el enlace (ISO 8601). Vencido, hay que crear otro."
      },
      "intentosMaximos": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991,
        "description": "Cuántos intentos de login admite antes de agotarse."
      },
      "advertencia": {
        "type": "string",
        "description": "Texto de presentación segura del enlace, listo para mostrar a la persona."
      }
    },
    "required": [
      "url",
      "dominio",
      "sistema",
      "sistemaNombre",
      "modo",
      "expiraEn",
      "intentosMaximos",
      "advertencia"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Errores de esta tool [#errores-de-esta-tool]

Toda llamada puede devolver además los códigos transversales (`validation_error`, `unauthorized`, `scope_not_granted`, `rate_limited`, entre otros): el detalle vive en el [catálogo de errores](../errores).
