Connect

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.

Tool IDconexiones.conexion.habilitar
Nombre MCPconexiones__conexion__habilitar
Conectorconexiones
Planoaction
Scope (permiso)conexiones:enable
Authnone
Versión1
Sensiblesí
Deprecadono
ComportamientoreadOnly=false, destructive=false, idempotent=true, openWorld=false

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

CampoTipoRequeridoDescripción
conexionIdstringsíconn_… de la conexión a habilitar, tal como lo devuelve conexiones.estado.consultar.
JSON Schema de entrada
{
  "$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"
  ]
}

Ejemplo

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"}}'
SDK TypeScript
const data = await connect.tools.conexiones.conexion.habilitar({ conexionId: "conn_9tKfR2mQx4Vb" });
MCP · meta-tool execute
{
  "tool": "conexiones.conexion.habilitar",
  "params": {
    "conexionId": "conn_9tKfR2mQx4Vb"
  }
}

Salida esperada (200):

{
  "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

CampoTipoRequeridoDescripción
idstringsíEl id de la conexión (conn_…).
sistemastringsíEl código del sistema de la conexión.
nombrestringsí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.
cambiadabooleanosítrue si esta llamada cambió el estado; false si la conexión ya estaba así y no se tocó nada.
costoAdicionalobjetonullsí
costoAdicional.montoUsdnúmerosíLo que suma al mes, en dólares y sin IVA.
costoAdicional.montoUsdConEmisionnúmeronullsí
costoAdicional.planNombrestringsíEl plan de la organización, como lo ve la persona.
costoAdicional.incluidasenterosíCuántas conexiones incluye ese plan.
costoAdicional.mensajestringsíLa frase lista para decírsela a la persona.
JSON Schema de salida
{
  "$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
}

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.

En esta página