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 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
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
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
conexionId | string | sí | 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 -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"}}'const data = await connect.tools.conexiones.conexion.habilitar({ conexionId: "conn_9tKfR2mQx4Vb" });{
"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
| 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í |
costoAdicional.montoUsd | número | sí | Lo que suma al mes, en dólares y sin IVA. |
costoAdicional.montoUsdConEmision | número | null | sí |
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. |
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.
Eliminar una conexión
Elimina una conexión de esta organización y todo lo que cuelga de ella: la credencial guardada, los datos sincronizados, su historial de sincronizaciones y sus webhooks.
Crear un enlace para conectar un sistema
Crea un enlace de un solo uso donde la persona entrega sus credenciales del sistema para conectarlo.