Skip to main content
PATCH
/
v1
/
integrations
/
{integrationId}
/
tools
/
{toolId}
Update Tool
curl --request PATCH \
  --url https://api.sigmamind.ai/v1/integrations/{integrationId}/tools/{toolId} \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "name": "get_customer_with_orders",
  "description": "Fetches a Shopify customer including their recent orders. Use when full customer context including purchase history is needed.",
  "accessType": "local",
  "method": "GET",
  "endpoint": "https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}/orders.json",
  "headers": [
    {
      "key": "Content-Type",
      "value": "application/json"
    }
  ],
  "queryParams": [
    {
      "key": "status",
      "value": "{{status}}"
    }
  ],
  "bodyParams": {
    "first_name": "{{firstName}}",
    "email": "{{email}}"
  }
}
'
{
  "toolId": "tool_X9pLm2Wq8Rt3",
  "integrationId": "intg_AuUKK371Spr5",
  "name": "get_order_details",
  "description": "Fetches order details from Shopify by order ID. Call this tool when you need to retrieve order status, line items, or shipping info.",
  "method": "GET",
  "url": "https://my-store.myshopify.com/admin/api/2024-01/orders/{{orderId}}.json",
  "scope": "local",
  "headers": {
    "customer_name": "Michael",
    "account_id": "ACC-001"
  },
  "queryParams": {
    "customer_name": "Michael",
    "account_id": "ACC-001"
  },
  "bodyParams": {
    "customer_name": "Michael",
    "account_id": "ACC-001"
  },
  "createdAt": "2024-04-20T10:00:00.000Z",
  "updatedAt": "2024-04-21T08:30:00.000Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.sigmamind.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-API-Key
string
header
required

Authenticate every request by passing your API key in the X-API-Key header. To get your key, go to Dashboard → API Keys and create or copy your Production API key.

Path Parameters

integrationId
string
required

Unique identifier of the integration to which the tool belongs.

toolId
string
required

Unique identifier of the tool to update.

Body

application/json

Request body to partially update an existing integration tool. Only fields included in the request are updated — omitted fields remain unchanged. Updating endpoint, queryParams, or bodyParams automatically re-extracts all {{variable}} placeholders and refreshes the tool's variable list.

name
string

Replacement tool name. Must be snake_case and action-oriented. AI agents use this name to identify and select the correct tool when deciding which operation to invoke. Must remain unique within the integration. Omit to leave the existing name unchanged.

Maximum string length: 128
Example:

"get_customer_with_orders"

description
string

Replacement description of what this tool does and when an agent should invoke it. Agents rely on this to match a task to the correct tool — be specific about the action, the resource it operates on, and required inputs. Omit to leave the existing description unchanged.

Maximum string length: 1024
Example:

"Fetches a Shopify customer including their recent orders. Use when full customer context including purchase history is needed."

accessType
enum<string>

Visibility scope of this tool. 'local' means the tool is private to your account and only accessible within your integrations. 'community' means the tool is shared and discoverable by other accounts. Omit to leave the existing scope unchanged. Corresponds to the 'scope' field returned in IntegrationToolResponse.

Available options:
local,
community
Example:

"local"

method
enum<string>

Replacement HTTP method for the underlying API call. GET retrieves a resource without side effects. POST creates a new resource. PUT fully replaces an existing resource. PATCH partially updates an existing resource. DELETE removes a resource. Omit to leave the existing method unchanged.

Available options:
GET,
POST,
PUT,
PATCH,
DELETE
Example:

"GET"

endpoint
string

Replacement full URL of the API endpoint this tool calls. Supports {{variable}} placeholders for path segments the agent resolves at runtime. Updating this field automatically re-extracts all {{variable}} placeholders and refreshes the tool's variable list. Omit to leave the existing endpoint unchanged.

Maximum string length: 1024
Example:

"https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}/orders.json"

headers
object[]

Replacement list of static HTTP headers sent on every request by this tool. Tool-level headers are merged with integration and auth-level headers; tool-level values take precedence on key conflicts. Pass a non-empty list to overwrite all existing headers. Pass an empty list [] to remove all tool-level headers. Omit this field entirely to leave existing headers unchanged.

Example:
[
{
"key": "Content-Type",
"value": "application/json"
}
]
queryParams
object[]

Replacement list of query string parameters appended to the URL on every invocation. Values support {{variable}} placeholders the agent resolves at runtime. Path variables embedded in the endpoint URL using {{variable}} syntax do not need to be listed here. Pass a non-empty list to overwrite all existing query params. Pass an empty list [] to remove all query params. Omit this field entirely to leave existing query params unchanged. Updating this field triggers automatic re-extraction of {{variable}} placeholders.

Example:
[{ "key": "status", "value": "{{status}}" }]
bodyParams
object

Replacement request body payload, as a JSON object. Values support {{variable}} placeholders the agent resolves at runtime. Pass a non-null map to overwrite the entire existing body. To remove the body entirely, pass an empty map {}. Omit this field (leave it null) to leave the existing body unchanged. Applicable only for POST, PUT, and PATCH tools — ignored for GET and DELETE. Updating this field triggers automatic re-extraction of {{variable}} placeholders.

Example:
{
"first_name": "{{firstName}}",
"email": "{{email}}"
}

Response

OK

Represents a single callable API tool registered under an integration. Each tool maps to one specific API operation (e.g., 'Get Order', 'Create Customer') and carries its full invocation config: HTTP method, endpoint URL, headers, and parameters. AI agents use this response to understand what the tool does and how to invoke it.

toolId
string

Unique identifier for this tool. Use this value as toolId when executing, updating, or deleting this tool.

Example:

"tool_X9pLm2Wq8Rt3"

integrationId
string

Unique identifier of the integration this tool belongs to. Use this value as integrationId when making requests scoped to the parent integration.

Example:

"intg_AuUKK371Spr5"

name
string

Action-oriented name for this tool that identifies the operation it performs. AI agents use this name to match a task to the correct tool. Follows snake_case convention (e.g., 'get_customer', 'create_order').

Example:

"get_order_details"

description
string

Explanation of what this tool does and when an AI agent should invoke it. Agents rely on this description to decide whether this tool matches the current task. A good description names the action, the resource it operates on, and required inputs.

Example:

"Fetches order details from Shopify by order ID. Call this tool when you need to retrieve order status, line items, or shipping info."

method
enum<string>

HTTP method used when invoking this tool's endpoint. GET retrieves a resource without side effects. POST creates a new resource. PUT fully replaces an existing resource. PATCH partially updates an existing resource. DELETE removes a resource.

Available options:
GET,
POST,
PUT,
PATCH,
DELETE
Example:

"GET"

url
string

Full URL of the API endpoint this tool calls, including any {{variable}} placeholders that the agent resolves at runtime using the declared parameters. Path segments wrapped in {{}} (e.g., {{orderId}}) are substituted before the request is sent.

Example:

"https://my-store.myshopify.com/admin/api/2024-01/orders/{{orderId}}.json"

scope
enum<string>

Visibility scope of this tool. 'local' means the tool is private to your account and only accessible within your integrations. 'community' means the tool is shared and discoverable by other users.

Available options:
local,
community
Example:

"local"

headers
object

Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.

Example:
{
"customer_name": "Michael",
"account_id": "ACC-001"
}
queryParams
object

Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.

Example:
{
"customer_name": "Michael",
"account_id": "ACC-001"
}
bodyParams
object

Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.

Example:
{
"customer_name": "Michael",
"account_id": "ACC-001"
}
createdAt
string<date-time>

UTC timestamp when this tool was created, in ISO 8601 format. Use for auditing or determining how long the tool has been active.

Example:

"2024-04-20T10:00:00.000Z"

updatedAt
string<date-time>

UTC timestamp when this tool was last modified, in ISO 8601 format. Use to detect configuration changes or invalidate cached tool definitions.

Example:

"2024-04-21T08:30:00.000Z"