Skip to content
PATCH /connector/{slug}/tool/{name}

`status: "disabled"` switches the tool off for every connection, `"active"` turns it back on; nothing else is accepted (400). A tool's tier is always the server's label and cannot be set here. Needs the connector's own edit access (ownership or an `edit` share) on an org's own connector, `connector:manage` on one Elaichi publishes. The 200 is the tool with its whole definition (`description`, `input_schema`, `output_schema`, `annotations`, `derived_tier`). Recorded in the audit log as `connector.tool_updated` with the status before and after.

Path Parameters

slugstring
required·

Connector slug of a remote MCP connector.

namestring
required·

The tool's Elaichi name, as GET /connector/{slug}/tool returns it.

Request Body

statusstring
Possible values:
activedisabled
curl -X PATCH 'https://api.elaichi.ai/connector/<slug>/tool/<name>' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"status":"active"}'
const body = {
  "status": "active"
};

const response = await fetch('https://api.elaichi.ai/connector/<slug>/tool/<name>', {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
});

const data = await response.json();
console.log(data);
import os
import requests

url = "https://api.elaichi.ai/connector/<slug>/tool/<name>"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}
payload = {
    "status": "active"
}

response = requests.patch(url, headers=headers, json=payload)
print(response.json())