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
{
"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." }
]
}
}
}