Download OpenAPI specification:
Wabee Agent Core API
Wabee Agent Core API enables developers to interact with an AI agent in a custom, secure and flexible manner through REST API calls.
One can build applications to interact with the agent API to complete a task using any of the Agents endpoints which allow for both text streaming and direct JSON response.
The Memory endpoints are useful for managing the agent memory programatically.
Moreover, the Metrics endpoints provide an interface for monitoring the underlying Agent in terms of latency, health, token consumption and much more.
Executes a chain of AI-powered reasoning and actions to respond to a given query or task.
The agent leverages its configured tools and knowledge to:
Include images in your request using the images field:
type="base64" with base64-encoded image datatype="file_path" with path to existing imageMaximum 5 images per request. Invalid images will trigger a 400 response.
Requires API key via x-wabee-access header.
Use session-id header to maintain conversation context across requests.
| session-id | any (Session-Id) Session unique identifier, used to keep track of previous interations and enhanced observability. We recommend using a UUID string. |
| request-id | any (Request-Id) Custom request unique identifier, if not provided a new one will be generated. We recommend using a UUID string. |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier. When provided, tools with 'partner_user_id' parameter receive this value automatically, and session queries can be filtered to this user. |
required | Array of objects (Messages) List of messages to be processed by the agent |
Array of Data Filter Hints (objects) or Data Filter Hints (null) (Data Filter Hints) Special metadata-like hints to be passed to the agent in order to instruct him on how to filter the data on some tools that support filter | |
| auto_memory_retain | boolean (Auto Memory Retain) Default: false Indicates whether the agent should automatically retain information from the session in memory. When enabled, allows the agent to learn from experiences and feedback. |
Array of Context Files (strings) or Context Files (null) (Context Files) The path for files which the agent already has access to and should be considered by it when processing the messages | |
Array of Images (objects) or Images (null) (Images) List of images associated with the message | |
RequestBudget (object) or null Optional budget constraints for agent execution, including recursion limits. |
{- "messages": [
- {
- "content": "What is the economic outlook?",
- "role": "user"
}
], - "data_filter_hints": [
- {
- "filter_key": "unitname",
- "filter_type": "equals",
- "filter_value": "Unit 1",
- "is_secret": false,
- "tool_name": "bubble_data"
}
], - "auto_memory_retain": false,
- "context_files": [
- "inputs/chat-files/test123/file.pdf"
], - "images": [
- {
- "content": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOydd3gU5f7/3+9z",
- "type": "base64",
- "processed": true
}
], - "budget": {
- "local_recursion_limit": 15
}
}{- "body": {
- "input": "What is the economic outlook?",
- "output": "The economic outlook varies significantly by region...",
- "intermediate_steps": [
- [
- {
- "log": "Retrieving news data",
- "tool": "api_tool",
- "tool_input": "curl https://newsapi.org/v2/everything",
- "type": "AgentAction"
}, - "Explanation: Gathering real-time economic data from trusted sources"
]
], - "usage": [
- {
- "costAttribute": "gpt-4-32k",
- "usage": "100",
- "unit": "tokens"
}
], - "components": [
- { }
], - "execution_status": {
- "finish_reason": "local_recursion_limit_reached",
- "budget_exhausted": true,
- "budget_type": "local_recursion_limit",
- "budget_limit": 15,
- "steps_used": 15
}
}
}Requests Wabee AI Agent to answer a question regarding the mission that the agent was given to upon creation.
The agent can make use of any of the available tools along with its own reasoning to complete the given task, depending on its complexity, the response might take some time to be returned to the user.
Note: session_id field on request body is kept for compatibility purposes, it will be overwritten with the header value during request processing
Note: stream filed on request body is kept for compatibility purposes, it will be ignored during request processing
Note: this is pretty much the same as in /chain, the only difference is that this endpoint returns a streaming response instead of a JSON object
Note: every SSE frame carries a v1 stream event (see docs/api/streaming_events.md and docs/api/streaming_events.v1.schema.json)
Note: the stream ends with exactly one terminal frame of type "done" or "error"
Note: All headers starting with stix will be sent as context for tools.
| session-id | any (Session-Id) Session unique identifier, used to keep track of previous interations and enhanced observability. We recommend using a UUID string. |
| request-id | any (Request-Id) Custom request unique identifier, if not provided a new one will be generated. We recommend using a UUID string. |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier. When provided, tools with 'partner_user_id' parameter receive this value automatically, and session queries can be filtered to this user. |
required | Array of objects (Messages) List of messages to be processed by the agent |
Array of Data Filter Hints (objects) or Data Filter Hints (null) (Data Filter Hints) Special metadata-like hints to be passed to the agent in order to instruct him on how to filter the data on some tools that support filter | |
| auto_memory_retain | boolean (Auto Memory Retain) Default: false Indicates whether the agent should automatically retain information from the session in memory. When enabled, allows the agent to learn from experiences and feedback. |
Array of Context Files (strings) or Context Files (null) (Context Files) The path for files which the agent already has access to and should be considered by it when processing the messages | |
Array of Images (objects) or Images (null) (Images) List of images associated with the message | |
RequestBudget (object) or null Optional budget constraints for agent execution, including recursion limits. |
{- "messages": [
- {
- "content": "What is the economic outlook?",
- "role": "user"
}
], - "data_filter_hints": [
- {
- "filter_key": "unitname",
- "filter_type": "equals",
- "filter_value": "Unit 1",
- "is_secret": false,
- "tool_name": "bubble_data"
}
], - "auto_memory_retain": false,
- "context_files": [
- "inputs/chat-files/test123/file.pdf"
], - "images": [
- {
- "content": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOydd3gU5f7/3+9z",
- "type": "base64",
- "processed": true
}
], - "budget": {
- "local_recursion_limit": 15
}
}data: {"v": 1, "type": "text-delta", "ts": 1763405791155, "source": {"type": "parent", "id": "agent-1", "name": "My Agent"}, "step": "TYPING_TEXT", "text": "A perspectiva econômica pode "}
Requests Wabee AI Agent to answer a question asynchronously. If a callback_url is provided, the agent will send the response to the given URL.
The agent can make use of any of the available tools along with its own reasoning to complete the given task, depending on its complexity, the response might take some time to be returned to the user.
Note: session_id field on request body is kept for compatibility purposes, it will be overwritten with the header value during request processing
Note: stream filed on request body is kept for compatibility purposes, it will be ignored during request processing
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier. When provided, tools with 'partner_user_id' parameter receive this value automatically, and session queries can be filtered to this user. |
| specversion required | string (Specversion) The version of the CloudEvents spec. |
| type | string (Type) Default: "ai.wabee.agent.chain" The type of the event. Use the value 'ai.wabee.agent.chain' for chain requests. |
| source required | string (Source) The source of the event. |
| id required | string (Id) A unique identifier for the event. |
| time required | string (Time) The time the event was created. |
required | object (MessageInputModelWithCallback) The data of the event. |
{- "specversion": "1.0",
- "type": "ai.wabee.agent.chain",
- "id": "A234-1234-1234",
- "time": "2018-04-05T17:31:00Z",
- "data": {
- "messages": [
- {
- "content": "What is the economic outlook?",
- "role": "user"
}
], - "data_filter_hints": [
- {
- "filter_key": "unitname",
- "filter_type": "equals",
- "filter_value": "Unit 1",
- "is_secret": false,
- "tool_name": "bubble_data"
}
], - "auto_memory_retain": false,
- "context_files": [
- "inputs/chat-files/test123/file.pdf"
], - "images": [
- {
- "content": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOydd3gU5f7/3+9z",
- "type": "base64",
- "processed": true
}
], - "budget": {
- "local_recursion_limit": 15
}, - "session_id": "string",
- "callback_url": "string",
- "scheduled_run_id": "string"
}
}nullReturns the current agent configuration.
This endpoint allows you to retrieve the complete agent configuration that is currently loaded in memory. This includes all settings such as:
The configuration returned is the actual configuration being used by the agent, including any updates that have been applied via the PUT /agent/config endpoint.
{- "configuration": {
- "description": "Example agent configuration",
- "llms": {
- "primary": {
- "model": "gpt-4-turbo",
- "temperature": 0.7
}
}, - "tools": [ ],
- "memory": {
- "enabled": true
}
}, - "timestamp": "2024-03-15T14:30:22.123456",
- "version": "1.0"
}Updates the agent configuration dynamically without restarting the service.
This endpoint allows you to:
The provided configuration is merged with the existing configuration, so you only need to specify the fields you want to change. The configuration is written to the mounted volume and the agent is re-initialized.
Update just the agent description:
{
"configuration": {
"description": "Updated agent description"
},
"validate_only": false
}
Update a specific LLM model:
{
"configuration": {
"llms": {
"primary": {
"model": "gpt-4-turbo"
}
}
},
"validate_only": false
}
Add a new tool to the existing tools list:
{
"configuration": {
"tools": [
{
"name": "new_tool",
"config": {...}
}
]
},
"validate_only": false
}
In-memory only update (for read-only config files):
{
"configuration": {
"max_execution_time": 2000
},
"validate_only": false,
"in_memory_only": true
}
required | object (Configuration) The new agent configuration to apply |
| validate_only | boolean (Validate Only) Default: false If true, only validate the configuration without applying it |
| in_memory_only | boolean (In Memory Only) Default: false If true, only update configuration in memory without persisting to file (useful for read-only config files) |
{- "configuration": {
- "key1": "value1",
- "key2": "value2"
}, - "validate_only": true,
- "in_memory_only": true
}{- "success": true,
- "message": "Configuration updated successfully. Backup created at: /volume/config/config.json.backup_20240315_143022",
- "timestamp": "2024-03-15T14:30:22.123456",
- "previous_config_backup": true
}Returns metadata information about the agent configuration, including its description, capabilities and conversation starters.
{- "body": {
- "id": "agent123",
- "name": "Wabee Agent",
- "description": "An AI agent that helps with specific tasks",
- "uri_id": "wabee-agent",
- "conversation_starters": [
- {
- "name": "market_research",
- "prompt": "Analyze current market trends"
}
]
}
}Generates a downloadable link for a file artifact created by the agent.
This endpoint:
Returns the presigned URL that can be used to download the file directly.
| message_index required | integer (Message Index) |
| artifact_index required | integer (Artifact Index) |
| session-id required | string (Session-Id) Session unique identifier for which to download an artifact |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) | |
Authorization (string) or Authorization (null) (Authorization) |
{- "body": {
- "file_name": "report.pdf",
- "file_type": "file"
}
}Returns quantitative information about agent runs for monitoring. The following metrics are provided:
{- "body": { }
}Returns run execution logs in stringify format. The logs contain the following fields:
The results are paginated. Use offset and limit parameters to navigate through pages.
Run Id (string) or Run Id (null) (Run Id) | |
| limit | integer (Limit) [ 1 .. 20 ] Default: 10 Number of items to return per page |
| start_timestamp | integer (Start Timestamp) >= 0 Default: 0 The epoch timestamp to start the search |
| end_timestamp | integer (End Timestamp) >= 0 Default: 0 The epoch timestamp to end the search |
{- "data": "[{\"name\":\"Wabee LLM Advanced\",\"id\":\"70ea273b-c2ba-4c24-9a8b-aae2cda7c95e\",\"model\":\"llm-model-advanced\",\"error\":null,\"status\":\"success\",\"latency\":5.5,\"end_time\":1712076831672,\"completion_tokens\":150,\"total_tokens\":300}]",
- "total": 100,
- "has_more": true
}Returns a hierarchical, step-based execution trace for a session.
This endpoint transforms flat streaming events into a structured format ideal for auditing, transparency, and debugging.
Key features:
Response structure:
execution_summary: Overall statistics (duration, step count, tool calls)requests: List of request traces (a session may have multiple requests)user_messages: The user inputs that triggered executionerrors: Any errors encounteredEach request contains:
steps: Hierarchical execution stepsstatus: Request status (completed, error, streaming)duration_ms: Total request durationtotal_tool_calls: Number of tools invokedEach step contains:
step_name: The agent phase (PLANNING, REASONING, TOOL_EXECUTION, etc.)type: Step type (generation, tool_call, flow-status-update)content: Full concatenated content generated in this steptool: Tool call details if applicableduration_ms: Step durationQuery parameters:
request_id: Filter to a specific request within the sessionmax_content_length: Optional max length to truncate content (default: full content)| session_id required | string (Session Id) The session ID to get the trace for |
Request Id (string) or Request Id (null) (Request Id) Filter to a specific request within the session | |
Max Content Length (integer) or Max Content Length (null) (Max Content Length) Optional max length to truncate content (default: full content) |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier. When provided, validates that the session belongs to this user. |
{- "session_id": "VSkqDuv",
- "execution_summary": {
- "started_at": "2025-11-17T23:11:28.374Z",
- "completed_at": "2025-11-17T23:11:45.123Z",
- "duration_ms": 16749,
- "status": "completed",
- "total_requests": 1,
- "total_steps": 5,
- "total_tool_calls": 2,
- "total_events": 194
}, - "requests": [
- {
- "request_id": "req-abc123",
- "agent_id": "main-agent",
- "status": "completed",
- "started_at": "2025-11-17T23:11:28.374Z",
- "completed_at": "2025-11-17T23:11:45.123Z",
- "duration_ms": 16749,
- "total_steps": 5,
- "total_tool_calls": 2,
- "total_events": 194,
- "steps": [
- {
- "step_number": 0,
- "step_name": "ASSESSING_COMPLEXITY",
- "started_at": "2025-11-17T23:11:28.374Z",
- "ended_at": "2025-11-17T23:11:30.100Z",
- "duration_ms": 1726,
- "type": "flow-status-update",
- "content": "Starting node: Complexity Classifier",
- "event_count": 3
}, - {
- "step_number": 1,
- "step_name": "TOOL_EXECUTION",
- "started_at": "2025-11-17T23:11:30.100Z",
- "ended_at": "2025-11-17T23:11:35.200Z",
- "duration_ms": 5100,
- "type": "tool_call",
- "event_count": 5
}
], - "user_input": "What is the complexity level of this task?"
}
], - "user_messages": [
- {
- "role": "human",
- "content": "What is the complexity level of this task?",
- "timestamp": 1763405780000
}
], - "errors": [ ]
}Retrieves the complete session data including user messages and streaming events from agent execution.
The response includes the same schema as the live streaming endpoint (/chain_streaming), allowing you to replay the agent's execution flow with all intermediate steps.
The session data includes:
User messages contain:
Each streaming event is a v1 wire event payload (see docs/api/streaming_events.md):
Note: This endpoint returns events in the same format as the /chain_streaming endpoint, making historical and live data consistent. Legacy sessions recorded before the v1 contract are reduced to text-delta events carrying the conversational text only.
| session_id required | string (Session Id) |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier. When provided, validates that the session belongs to this user. |
{- "session_id": "sessionstreamtest",
- "timestamp": "2025-11-17T21:23:16.918Z",
- "total_events": 194,
- "user_messages": [
- {
- "role": "human",
- "content": "What is the complexity level of this task?",
- "timestamp": 1763405780000
}
], - "events": [
- {
- "v": 1,
- "type": "reasoning-delta",
- "ts": 1763405791155,
- "source": {
- "type": "parent",
- "id": "4f158519-2aee-4b9f-ba3c-a75303ef281f",
- "name": "test-miguel-4f15"
}, - "step": "REASONING",
- "text": "The task requires checking two sources...",
- "request_id": "req-abc123"
}, - {
- "v": 1,
- "type": "text-delta",
- "ts": 1763405800221,
- "source": {
- "type": "parent",
- "id": "4f158519-2aee-4b9f-ba3c-a75303ef281f",
- "name": "test-miguel-4f15"
}, - "step": "TYPING_TEXT",
- "text": "Here is what I found: ",
- "request_id": "req-abc123"
}
]
}Returns a paginated list of all available chat sessions.
The response includes:
Each session summary contains:
Use the query parameters to navigate through pages:
Sessions are ordered by most recent first. Empty sessions (no messages) are automatically filtered out.
Before (string) or Before (null) (Before) Filter sessions before this session id | |
| limit | integer (Limit) [ 1 .. 100 ] Default: 45 Limit the number of sessions to return |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier. When provided, only sessions associated with this user are returned. |
{- "sessions": [
- {
- "session_id": "VSkqDuv",
- "checkpoint_id": "1efb5872-be2a-653c-8003-f96d250d9bed",
- "short_name": "Weather que",
- "created_at": "2025-01-05T00:22:51.455249Z"
}
]
}Lists all sub-agents that have been created by the parent agent.
{- "sub_agents": [
- {
- "id": "sa-1234abcd",
- "name": "Market Research Agent",
- "description": "Specialized agent for conducting market research and competitive analysis",
- "status": "ready",
- "created_at": "2025-04-10T14:30:00Z",
- "last_active": "2025-04-10T15:45:00Z"
}
]
}Creates a new specialized sub-agent that can handle specific tasks. The sub-agent will have access to the specified tools and can be assigned tasks.
| name required | string (Name) A descriptive name for the sub-agent |
| description required | string (Description) A detailed description of the sub-agent's purpose and capabilities |
| objective required | string (Objective) The primary goal or objective for the sub-agent |
| tools | Array of strings (Tools) List of tool names to include for the sub-agent |
| workflow_type | string (Workflow Type) Default: "react" Enum: "react" "hierarchical" The workflow type for the sub-agent |
{- "name": "Market Research Agent",
- "description": "Specialized agent for conducting market research and competitive analysis",
- "objective": "Gather and analyze market information to provide competitive insights",
- "tools": [
- "web_search",
- "csv_analysis"
], - "workflow_type": "react"
}{- "sub_agent_id": "sa-1234abcd",
- "sub_agent_info": {
- "id": "sa-1234abcd",
- "name": "Market Research Agent",
- "description": "Specialized agent for conducting market research and competitive analysis",
- "status": "ready",
- "created_at": "2025-04-10T14:30:00Z",
- "last_active": "2025-04-10T15:45:00Z"
}
}Retrieves information about a specific sub-agent, including its status and basic information.
| sub_agent_id required | string (Sub Agent Id) ID of the sub-agent to retrieve |
{- "id": "sa-1234abcd",
- "name": "Market Research Agent",
- "description": "Specialized agent for conducting market research and competitive analysis",
- "status": "ready",
- "created_at": "2025-04-10T14:30:00Z",
- "last_active": "2025-04-10T15:45:00Z"
}Returns a list of all available tools that the agent has access to.
Each tool entry includes:
Use this endpoint to discover available tools and their required parameters before using the /tool/execute endpoint.
Requires API key via x-wabee-access header.
Tags (string) or Tags (null) (Tags) Comma-separated tags to filter tools by (OR logic) |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier. Used to determine per-user OAuth authentication status for tools. |
{- "tools": [
- {
- "name": "web_search",
- "description": "Search the web for real-time information",
- "status": "ready",
- "schema": {
- "type": "object",
- "properties": {
- "query": {
- "type": "string",
- "description": "The search query to use"
}
}, - "required": [
- "query"
]
}
}, - {
- "name": "csv_search",
- "description": "Search within CSV files using natural language",
- "status": "ready",
- "schema": {
- "type": "object",
- "properties": {
- "file_path": {
- "type": "string",
- "description": "Path to the CSV file"
}, - "query": {
- "type": "string",
- "description": "Natural language query"
}
}, - "required": [
- "file_path",
- "query"
]
}
}
], - "count": 2
}This endpoint allows direct execution of a specific tool with given parameters.
The tool is executed outside the normal agent conversation flow, allowing users to:
Each tool has different input parameters. Refer to tool documentation for specific input schemas.
Requires API key via x-wabee-access header.
Web Search:
{
"tool_name": "web_search",
"tool_input": {
"query": "Latest market trends in AI"
}
}
CSV Search:
{
"tool_name": "csv_search",
"tool_input": {
"file_path": "data/sales.csv",
"query": "Find total sales in Q1"
}
}
| session-id | any (Session-Id) Session unique identifier, used to keep track of previous interactions and enhanced observability. We recommend using a UUID string. |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier for tool isolation. |
| tool_name required | string (Tool Name) The name of the tool to execute |
required | object (Tool Input) The input parameters for the tool execution |
{- "tool_name": "web_search",
- "tool_input": {
- "query": "Latest market trends in AI"
}
}{- "tool_name": "web_search",
- "output": {
- "results": [
- "AI market growing at 40% annually",
- "Generative AI dominates recent trends"
]
}, - "execution_time": 1.25,
- "status": "success"
}Upload a Google Service Account JSON credential for an MCP tool.
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) |
| tool_name required | string (Tool Name) Name of the MCP tool/server to associate the credential with |
| credential_json required | string (Credential Json) Full content of the Google Service Account JSON key file |
{- "tool_name": "google-search-console",
- "credential_json": "{\"type\": \"service_account\", \"project_id\": \"my-project\", \"private_key_id\": \"...\"}"
}nullRemove a Google Service Account credential for an MCP tool.
| tool_name required | string (Tool Name) Name of the MCP tool/server |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) |
nullRemove an OAuth token and credential file for an MCP tool.
| tool_name required | string (Tool Name) Name of the MCP tool/server |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) |
nullSubscribe to events from an existing streaming session.
This endpoint allows multiple clients to receive the same SSE events that were sent to the original client who initiated the request. Use cases include:
const eventSource = new EventSource('/api/v1/sessions/abc123/stream?from_sequence=0');
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data.replace('data: ', ''));
if (data.type === 'text-delta') console.log('Text:', data.text);
};
Note: Requires MongoDB replica set configuration for Change Streams support. Events are retained for 1 day before automatic cleanup.
| session_id required | string (Session Id) Session identifier to subscribe to |
Request Id (string) or Request Id (null) (Request Id) Specific request ID to subscribe to (latest if not specified) | |
| from_sequence | integer (From Sequence) Default: 0 Start from this event sequence (0=beginning, -1=live only) |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier. When provided, validates that the session belongs to this user. |
data: {"v": 1, "type": "text-delta", "ts": 1763405791155, "source": {"type": "parent", "id": "agent-1", "name": "My Agent"}, "step": "TYPING_TEXT", "text": "Hello "}
Returns a list of all currently running streaming sessions.
This endpoint is useful for:
Each active stream includes:
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier. When provided, only active streams for sessions belonging to this user are returned. |
{- "streams": [
- {
- "session_id": "abc123",
- "request_id": "req-456",
- "agent_id": "agent-789",
- "status": "streaming",
- "started_at": "2025-01-01T10:00:00Z",
- "event_count": 150,
- "duration_seconds": 45.5
}
], - "count": 1
}Retrieves the history of streaming sessions for a given session ID.
Returns metadata about past streams including:
Useful for:
| session_id required | string (Session Id) Session identifier |
| limit | integer (Limit) [ 1 .. 50 ] Default: 10 Maximum number of streams to return |
Partner-User-Id (string) or Partner-User-Id (null) (Partner-User-Id) Optional partner user identifier. When provided, validates that the session belongs to this user. |
{- "streams": [
- {
- "session_id": "abc123",
- "request_id": "req-456",
- "agent_id": "agent-789",
- "status": "completed",
- "started_at": "2025-01-01T10:00:00Z",
- "completed_at": "2025-01-01T10:05:00Z",
- "total_events": 500
}
], - "count": 1
}Add or replace a skill at runtime. Takes effect immediately — no agent restart needed.
| name required | string (Name) Unique identifier for the skill. Must match ^[a-zA-Z0-9_-]{1,64}$ |
| description required | string (Description) Human-readable description of what the skill does and when to use it. This is shown to the LLM so it can decide when to activate the skill. |
Instructions (string) or Instructions (null) (Instructions) Free-form markdown instructions for unstructured skills. The subagent receives these as its objective and reasons through them. | |
WorkflowPlan (object) or null A structured WorkflowPlan for deterministic execution. Uses the existing PlanExecutorOrchestrator infrastructure. | |
Array of Candidate Tools (strings) or Candidate Tools (null) (Candidate Tools) Tool names the skill's subagent can use. If None, inherits all parent tools. | |
Llm (string) or Llm (null) (Llm) Override LLM key from the agent's llms dict. If None, inherits parent's default LLM. | |
Reasoning Type (string) or Reasoning Type (null) (Reasoning Type) Override reasoning type for the skill's subagent. | |
Array of Personality Traits (strings) or Personality Traits (null) (Personality Traits) Personality traits for the skill's subagent prompt. | |
Communication Style (string) or Communication Style (null) (Communication Style) Communication style override for the skill's subagent. | |
SkillTrigger (object) or null Advisory trigger conditions. The LLM makes the final activation decision. | |
| enabled | boolean (Enabled) Default: true Whether this skill is available for activation. |
| supports_inline | boolean (Supports Inline) Default: true Whether the current agent may load and follow this skill inline via skill_view. |
| supports_delegation | boolean (Supports Delegation) Default: true Whether this skill may be executed in an isolated subagent via execute_skill. |
| requires_delegation | boolean (Requires Delegation) Default: false Whether this skill must run through execute_skill rather than inline. |
| tags | Array of strings (Tags) Optional tags/categories for organizing skill discovery. |
object (Linked Files) Optional package-style linked files grouped by folder/category. | |
| source_type | string (Source Type) Default: "config" Enum: "config" "package" Where the skill definition was loaded from. |
Source Path (string) or Source Path (null) (Source Path) Absolute path to the package skill directory, when file-backed. | |
Source File (string) or Source File (null) (Source File) Absolute path to the package SKILL.md file, when file-backed. | |
License (string) or License (null) (License) Optional Agent Skills license frontmatter value. | |
Compatibility (string) or Compatibility (null) (Compatibility) Optional Agent Skills compatibility frontmatter value. | |
object (Metadata) Optional Agent Skills metadata frontmatter mapping. | |
Allowed-Tools (string) or Allowed-Tools (null) (Allowed-Tools) Optional experimental Agent Skills allowed-tools frontmatter value. |
{- "name": "SkillName",
- "description": "This is a skill description example",
- "instructions": "An instruction",
- "workflow_plan": {
- "tasks": [
- {
- "candidate_tools": [
- "sql_query"
], - "description": "Fetch customer data",
- "expected_output": "Customer records",
- "output_variable_name": "customer_data",
- "task_id": "step_1"
}
], - "variables_required_to_final_answer": [
- "customer_data"
], - "version": "1.0"
}, - "candidate_tools": [
- "sql_query",
- "web_search",
- "send_email"
], - "llm": "gpt-4o",
- "reasoning_type": "simple",
- "personality_traits": [
- "analytical",
- "concise",
- "detail-oriented"
], - "communication_style": "formal",
- "trigger": {
- "always_include_in_prompt": false
}, - "enabled": true,
- "supports_inline": true,
- "supports_delegation": true,
- "requires_delegation": true,
- "tags": [
- "analysis",
- "reports"
], - "linked_files": {
- "references": [
- "references/api.md"
]
}, - "source_type": "config",
- "source_path": "/home/user/project/.wabee/skills/code-review",
- "source_file": "/home/user/project/.wabee/skills/code-review/SKILL.md",
- "license": "Apache-2.0",
- "compatibility": "Requires git and Python 3.12",
- "metadata": {
- "author": "example-org"
}, - "allowed-tools": "Read Bash(git:*)"
}null