# Habilitar una conexión

> Reanuda una conexión deshabilitada de esta organización: vuelve a sincronizar según su cadencia y sus herramientas vuelven a responder.



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

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

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

La conexión vuelve a sumarse al cobro del plan: si 'costoAdicional' no es null, díselo a la persona. No sirve para una conexión sin credencial: esa se completa con conexiones.enlace.crear. Si ya estaba habilitada, no cambia nada y responde 'cambiada' en false.

## Entrada [#entrada]

| Campo        | Tipo   | Requerido | Descripción                                                                           |
| ------------ | ------ | --------- | ------------------------------------------------------------------------------------- |
| `conexionId` | string | sí        | conn\_… de la conexión a habilitar, tal como lo devuelve conexiones.estado.consultar. |

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

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "conexionId": {
        "type": "string",
        "description": "conn_… de la conexión a habilitar, tal como lo devuelve conexiones.estado.consultar."
      }
    },
    "required": [
      "conexionId"
    ]
  }
  ```
</details>

## Ejemplo [#ejemplo]

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

```ts title="SDK TypeScript"
const data = await connect.tools.conexiones.conexion.habilitar({ conexionId: "conn_9tKfR2mQx4Vb" });
```

```json title="MCP · meta-tool execute"
{
  "tool": "conexiones.conexion.habilitar",
  "params": {
    "conexionId": "conn_9tKfR2mQx4Vb"
  }
}
```

**Salida esperada (200):**

```json
{
  "data": {
    "id": "conn_9tKfR2mQx4Vb",
    "sistema": "sii",
    "nombre": "Comercial Aurora SpA",
    "estado": "active",
    "cambiada": true,
    "costoAdicional": null
  },
  "meta": {
    "request_id": "req_…",
    "tool_id": "conexiones.conexion.habilitar",
    "plane": "action",
    "latency_ms": 24,
    "audit_status": "recorded"
  }
}
```

## Salida [#salida]

| Campo                               | Tipo                                    | Requerido | Descripción                                                                                                                                                                        |                                                                                                                                                                                                                                               |
| ----------------------------------- | --------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                                | string                                  | sí        | El id de la conexión (conn\_…).                                                                                                                                                    |                                                                                                                                                                                                                                               |
| `sistema`                           | string                                  | sí        | El código del sistema de la conexión.                                                                                                                                              |                                                                                                                                                                                                                                               |
| `nombre`                            | string                                  | sí        | El nombre de la conexión.                                                                                                                                                          |                                                                                                                                                                                                                                               |
| `estado`                            | `"active"` · `"disabled"` · `"pending"` | sí        | En qué estado está la conexión. 'active' = utilizable. 'disabled' = pausada, sus tools responden 'connection\_disabled'. 'pending' = creada pero todavía sin credencial vinculada. |                                                                                                                                                                                                                                               |
| `cambiada`                          | booleano                                | sí        | true si esta llamada cambió el estado; false si la conexión ya estaba así y no se tocó nada.                                                                                       |                                                                                                                                                                                                                                               |
| `costoAdicional`                    | objeto                                  | null      | sí                                                                                                                                                                                 | Lo que suma esta conexión a la próxima renovación, porque la organización ya usa lo que cubre el precio de su plan. null cuando no suma nada o cuando la conexión ya estaba habilitada. Si no es null, díselo a la persona, en dólares + IVA. |
| `costoAdicional.montoUsd`           | número                                  | sí        | Lo que suma al mes, en dólares y sin IVA.                                                                                                                                          |                                                                                                                                                                                                                                               |
| `costoAdicional.montoUsdConEmision` | número                                  | null      | sí                                                                                                                                                                                 | Lo que suma al mes si la conexión del SII se crea emitiendo DTE, que cuesta más que una de lectura. null si el sistema no emite. Siempre null en conexiones.conexion.habilitar, donde la variante ya está fijada.                             |
| `costoAdicional.planNombre`         | string                                  | sí        | El plan de la organización, como lo ve la persona.                                                                                                                                 |                                                                                                                                                                                                                                               |
| `costoAdicional.incluidas`          | entero                                  | sí        | Cuántas conexiones incluye ese plan.                                                                                                                                               |                                                                                                                                                                                                                                               |
| `costoAdicional.mensaje`            | string                                  | sí        | La frase lista para decírsela a la persona.                                                                                                                                        |                                                                                                                                                                                                                                               |

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

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "El id de la conexión (conn_…)."
      },
      "sistema": {
        "type": "string",
        "description": "El código del sistema de la conexión."
      },
      "nombre": {
        "type": "string",
        "description": "El nombre de la conexión."
      },
      "estado": {
        "type": "string",
        "enum": [
          "active",
          "disabled",
          "pending"
        ],
        "description": "En qué estado está la conexión. 'active' = utilizable. 'disabled' = pausada, sus tools responden 'connection_disabled'. 'pending' = creada pero todavía sin credencial vinculada."
      },
      "cambiada": {
        "type": "boolean",
        "description": "true si esta llamada cambió el estado; false si la conexión ya estaba así y no se tocó nada."
      },
      "costoAdicional": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "montoUsd": {
                "type": "number",
                "description": "Lo que suma al mes, en dólares y sin IVA."
              },
              "montoUsdConEmision": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Lo que suma al mes si la conexión del SII se crea emitiendo DTE, que cuesta más que una de lectura. null si el sistema no emite. Siempre null en conexiones.conexion.habilitar, donde la variante ya está fijada."
              },
              "planNombre": {
                "type": "string",
                "description": "El plan de la organización, como lo ve la persona."
              },
              "incluidas": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991,
                "description": "Cuántas conexiones incluye ese plan."
              },
              "mensaje": {
                "type": "string",
                "description": "La frase lista para decírsela a la persona."
              }
            },
            "required": [
              "montoUsd",
              "montoUsdConEmision",
              "planNombre",
              "incluidas",
              "mensaje"
            ],
            "additionalProperties": false
          },
          {
            "type": "null"
          }
        ],
        "description": "Lo que suma esta conexión a la próxima renovación, porque la organización ya usa lo que cubre el precio de su plan. null cuando no suma nada o cuando la conexión ya estaba habilitada. Si no es null, díselo a la persona, en dólares + IVA."
      }
    },
    "required": [
      "id",
      "sistema",
      "nombre",
      "estado",
      "cambiada",
      "costoAdicional"
    ],
    "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).
