AgentConnect
Decisions

Save shared-bot routing

Saves the complete routing configuration and its channel scope in one transaction. channelIds is the complete desired scope: an addition must be an enabled group channel and becomes By decision on every sibling row, replacing any gate; every removed channel must appear in removals with its replacement trigger and optional default agent. enabled: false pauses routing and keeps the scope. Adding channels is refused with code DECISION_UNSUPPORTED_CONSUMER (409) while the relay or the evaluation host does not support routing; an invisible Decision is code DECISION_NOT_FOUND (404).

PUT
/v1/orgs/{orgId}/bots/{id}/decision-routing

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

orgId*string
id*string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/v1/orgs/string/bots/497f6eca-6276-4993-bfeb-53cbbbba6f08/decision-routing" \  -H "Content-Type: application/json" \  -d '{    "config": {      "decisionId": "string",      "rules": [        {          "id": "string",          "when": {            "type": "choice",            "thresholds": {              "property1": 0,              "property2": 0            }          },          "action": {            "type": "agent",            "agentId": "string"          }        }      ],      "enabled": true,      "otherwise": {        "type": "default_agent"      }    },    "channelIds": [      "string"    ],    "removals": [      {        "channelId": "string",        "settings": {          "trigger": "off"        }      }    ]  }'
{  "botId": "string",  "config": {    "decisionId": "string",    "rules": [      {        "id": "string",        "when": {          "type": "choice",          "thresholds": {            "property1": 0,            "property2": 0          }        },        "action": {          "type": "agent",          "agentId": "string"        }      }    ],    "enabled": true,    "otherwise": {      "type": "default_agent"    },    "steps": [      {        "decisionId": "string",        "rules": [          {            "id": "string",            "when": {              "type": "choice",              "thresholds": {                "property1": 0,                "property2": 0              }            },            "action": {              "type": "agent",              "agentId": "string"            }          }        ],        "id": "string"      }    ]  },  "channelIds": [    "string"  ],  "readiness": {    "status": "ready",    "reason": "string",    "issues": [      {        "path": [          "string"        ],        "message": "string"      }    ]  },  "evaluationHost": {    "daemonId": "string",    "name": "string",    "source": "default_agent",    "status": "ready"  },  "channels": [    {      "channelId": "string",      "name": "string",      "defaultAgent": {        "id": "string",        "name": "string"      },      "evaluationDaemonId": "string",      "readiness": {        "status": "ready",        "reason": "string",        "issues": [          {            "path": [              "string"            ],            "message": "string"          }        ]      }    }  ],  "updatedAt": "string"}