Skip to main content
POST
/
v1
/
integrations
/
{integrationId}
/
tools
Create Tool
curl --request POST \
  --url https://api.sigmamind.ai/v1/integrations/{integrationId}/tools \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "name": "get_customer",
  "description": "Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history.",
  "method": "GET",
  "url": "https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}.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",
  "method": "GET",
  "url": "/orders/{orderId}.json",
  "scope": "local",
  "headers": {
    "customer_name": "Michael"
  },
  "queryParams": {
    "customer_name": "Michael"
  },
  "bodyParams": {
    "customer_name": "Michael"
  },
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z"
}

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

API Key is required in header. You can find it in the settings

Path Parameters

integrationId
string
required

Unique identifier for the integration

Body

application/json

Request body to create a new API tool under an integration. A tool represents a single callable API operation — for example 'Get Customer' or 'Create Order' — that the AI agent can invoke at runtime using dynamic {{variable}} placeholders.

name
string
required

A unique, descriptive name for this tool within the integration. The AI agent uses this name to identify and select the correct tool when deciding which API to call. Use snake_case and make it action-oriented, e.g. 'get_customer', 'create_order', 'cancel_subscription'.

Maximum string length: 128
Example:

"get_customer"

description
string
required

A clear explanation of what this tool does and when the AI agent should call it. This description is used by the agent to decide whether to invoke this tool. Be specific about the action performed and any required inputs.

Maximum string length: 1024
Example:

"Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history."

method
enum<string>
required

The HTTP method for the underlying API call. GET — retrieve a resource without side effects. POST — create a new resource. PUT — fully replace an existing resource. PATCH — partially update an existing resource. DELETE — remove a resource.

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

"GET"

url
string
required

The full URL of the API endpoint this tool calls. Supports {{variable}} placeholders for dynamic segments. Path variables must also be declared in the params list with source PATH.

Maximum string length: 1024
Example:

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

headers
object[]

Static HTTP headers to include on every request made by this tool. These are merged with headers defined at the auth and integration level. Tool-level headers take precedence in case of conflicts.

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

Query string parameters appended to the URL on every request, e.g. ?status=active&limit=10. Supports {{variable}} placeholders in values so the AI agent can supply them at runtime. Path variables are defined directly in the endpoint URL using {{variable}} syntax — they do not need to be listed here.

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

The request body payload as a JSON object. Supports {{variable}} placeholders in values — the agent fills these at runtime. Only populated for POST, PUT, and PATCH requests. Leave empty for GET and DELETE.

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

Response

OK

toolId
string

Unique identifier for the tool

Example:

"tool-X9pLm2Wq8Rt3"

integrationId
string

Unique identifier of the parent integration

Example:

"intg-AuUKK371Spr5"

name
string

Human-readable name for this tool

Example:

"Get Order Details"

description
string

Description of what this tool does

Example:

"Fetches order details from Shopify by order ID"

method
string

HTTP method

Example:

"GET"

url
string

Relative path of the API endpoint

Example:

"/orders/{orderId}.json"

scope
enum<string>

Scope of the tool

Available options:
local,
community
Example:

"local"

headers
object

A set of dynamic key-value pairs required by the selected Agent. These variables allow personalization of the call, such as passing the customer’s name or other contextual details.

Example:
{ "customer_name": "Michael" }
queryParams
object

A set of dynamic key-value pairs required by the selected Agent. These variables allow personalization of the call, such as passing the customer’s name or other contextual details.

Example:
{ "customer_name": "Michael" }
bodyParams
object

A set of dynamic key-value pairs required by the selected Agent. These variables allow personalization of the call, such as passing the customer’s name or other contextual details.

Example:
{ "customer_name": "Michael" }
createdAt
string<date-time>

Timestamp when the record was created

updatedAt
string<date-time>

Timestamp when the record was last updated