Get Tool Schema
Returns a machine-readable reference for tool payloads: the common fields, each type’s fields, and a complete valid example per type. Call this before creating a tool so you build the right shape the first time.
GET/v2.0/tools/schema
Best practice
For an AI agent: fetch
?type=<toolType>, copy the example, adapt it, then create. If creation returns 422, the details[] tell you exactly what to fix.Query parameters
Parameters
| Parameter | Type | Description |
|---|---|---|
| type | string | A single toolType to fetch (e.g. function, shopify). Omit to get every type. |
Example
curl https://api.sendiee.com/v2.0/tools/schema?type=shopify \
-H "Authorization: Bearer YOUR_API_KEY"Response (single type)
{
"success": true,
"data": {
"toolType": "shopify",
"title": "Shopify Action",
"summary": "Built-in Shopify action. shopifyAction.type is one of: search_products, get_product, ...",
"commonFields": [
{
"name": "name",
"type": "string",
"required": true,
"description": "Lowercase letters/numbers/underscores..."
},
{
"name": "description",
"type": "string",
"required": true,
"description": "When the AI should call this tool."
}
],
"fields": [
{
"name": "shopifyAction",
"type": "object",
"required": true,
"description": "{ type, defaultLimit? }."
}
],
"example": {
"name": "track_order",
"description": "Look up the shipping status of a Shopify order by its order number.",
"toolType": "shopify",
"shopifyAction": {
"type": "track_order",
"defaultLimit": 10
}
}
}
}Response (all types)
Omitting type returns { toolTypes, commonFields, types: { function: {...}, ... } } — every type keyed by name, each with its fields and a valid example.
Unknown type (400)
{
"error": true,
"code": "TOOL_TYPE_INVALID",
"message": "Unknown toolType \"foo\". Valid: function, static_tool, media_attachments, message_templates, instagram_templates, messenger_templates, sendiee_catalog, shopify."
}