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

Query parameters

Parameters

ParameterTypeDescription
typestringA 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."
}