Toolhouse · JSON Structure

Toolhouse Agent Structure

Structure of a Toolhouse AI agent object returned from the Platform API.

Type: object Properties: 0
Agent InfrastructureAI AgentsAI WorkersBackend as a ServiceMCPMCP DiscoveryRAGToolsWorkers API

ToolhouseAgent is a JSON Structure definition published by Toolhouse.

Meta-schema:

JSON Structure

Raw ↑
{
  "name": "ToolhouseAgent",
  "description": "Structure of a Toolhouse AI agent object returned from the Platform API.",
  "type": "object",
  "fields": [
    {
      "name": "agentId",
      "type": "string",
      "format": "uuid",
      "description": "Unique identifier for the agent.",
      "required": true
    },
    {
      "name": "name",
      "type": "string",
      "description": "Display name of the agent.",
      "required": true
    },
    {
      "name": "description",
      "type": "string",
      "description": "Human-readable description of the agent's purpose.",
      "required": false
    },
    {
      "name": "slug",
      "type": "string",
      "description": "URL-friendly identifier for the agent (vanity slug).",
      "required": false
    },
    {
      "name": "model",
      "type": "string",
      "description": "The LLM model identifier used by the agent (e.g., gpt-4o, claude-3-5-sonnet).",
      "required": false
    },
    {
      "name": "systemPrompt",
      "type": "string",
      "description": "System prompt defining the agent's behavior and personality.",
      "required": false
    },
    {
      "name": "isPublic",
      "type": "boolean",
      "description": "Whether the agent is publicly accessible without authentication.",
      "required": false
    },
    {
      "name": "tools",
      "type": "array",
      "items": {
        "type": "string",
        "description": "Tool name/identifier."
      },
      "description": "List of Toolhouse tool identifiers attached to this agent.",
      "required": false
    },
    {
      "name": "bundles",
      "type": "array",
      "items": {
        "type": "string",
        "description": "Bundle identifier."
      },
      "description": "List of tool bundle identifiers attached to this agent.",
      "required": false
    },
    {
      "name": "files",
      "type": "array",
      "items": {
        "$ref": "#/definitions/AgentFile"
      },
      "description": "Files attached to this agent for RAG or context.",
      "required": false
    },
    {
      "name": "schedules",
      "type": "array",
      "items": {
        "$ref": "#/definitions/AgentSchedule"
      },
      "description": "Cron schedules configured for autonomous agent execution.",
      "required": false
    },
    {
      "name": "createdAt",
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the agent was created.",
      "required": false
    },
    {
      "name": "updatedAt",
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the agent was last modified.",
      "required": false
    }
  ],
  "definitions": {
    "AgentFile": {
      "type": "object",
      "fields": [
        { "name": "fileId", "type": "string", "format": "uuid", "description": "File identifier." },
        { "name": "name", "type": "string", "description": "File name." },
        { "name": "url", "type": "string", "description": "File URL or storage reference." },
        { "name": "position", "type": "integer", "description": "Ordering position of the file." }
      ]
    },
    "AgentSchedule": {
      "type": "object",
      "fields": [
        { "name": "scheduleId", "type": "string", "description": "Schedule identifier." },
        { "name": "cronExpression", "type": "string", "description": "Cron expression (e.g., '0 9 * * 1-5')." },
        { "name": "isActive", "type": "boolean", "description": "Whether the schedule is currently active." },
        { "name": "createdAt", "type": "string", "format": "date-time", "description": "When the schedule was created." }
      ]
    },
    "AgentRun": {
      "type": "object",
      "fields": [
        { "name": "runId", "type": "string", "format": "uuid", "description": "Unique run identifier." },
        { "name": "agentId", "type": "string", "description": "The agent that executed this run." },
        { "name": "status", "type": "string", "enum": ["pending", "running", "completed", "failed"], "description": "Execution status." },
        { "name": "logs", "type": "array", "description": "Execution log entries." },
        { "name": "createdAt", "type": "string", "format": "date-time", "description": "When the run started." }
      ]
    }
  }
}