Skip to content

Wabee Agent Core API (v1)

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.

Download OpenAPI description
Overview
License

Wabee License

Languages
Servers
Mock server

https://api.docs.wabee.ai/_mock/openapi/

Production server

https://<your_agent_uri>.wabee.ai/

Agent

Endpoints for interacting with the AI agent

Operations

Memory

Endpoints for managing agent memory

Observability

Endpoints for monitoring agent performance and logs

Operations

Sessions

Endpoints for managing agent sessions

Operations

Sub-Agents

Endpoints for managing sub-agents

Operations
Operations

Request

Returns a list of all available tools that the agent has access to.

Each tool entry includes:

  • Name: Unique identifier for the tool
  • Description: What the tool does and how it can be used
  • Status: Current initialization status (ready, initializing, error)
  • Schema: JSON schema defining the input parameters for the tool

Use this endpoint to discover available tools and their required parameters before using the /tool/execute endpoint.

Authentication

Requires API key via x-wabee-access header.

Security
APIKeyHeader
curl -i -X GET \
  https://api.docs.wabee.ai/_mock/openapi/core/v1/tools \
  -H 'x-wabee-access: YOUR_API_KEY_HERE'

Responses

Successful Response

Bodyapplication/json
toolsArray of objects(Tools)required

List of available tools

tools[].​namestring(Name)required

The name of the tool

Example: "web_search"
tools[].​descriptionstring(Description)required

Description of what the tool does

Example: "Search the web for real-time information"
tools[].​statusstring(Status)required

Current initialization status of the tool

Example: "ready"
tools[].​schemaSchema (object) or Schema (null)(Schema)
Any of:

Schema definition for the tool's input parameters

countinteger(Count)required

Total number of tools

Example: 5
Response
application/json
{ "tools": [ {}, {} ], "count": 2 }

Request

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:

  • Invoke tools programmatically
  • Test tool functionality independently
  • Access tool capabilities without engaging the full agent

Each tool has different input parameters. Refer to tool documentation for specific input schemas.

Authentication

Requires API key via x-wabee-access header.

Example Tool Inputs

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"
    }
}
Security
APIKeyHeader
Bodyapplication/jsonrequired
tool_namestring(Tool Name)required

The name of the tool to execute

Example: "web_search"
tool_inputobject(Tool Input)required

The input parameters for the tool execution

Example: {"query":"Latest market trends in AI"}
tool_input.​property name*anyadditional property
session_idSession Id (string) or Session Id (null)(Session Id)
Any of:

An optional session ID to associate with the tool execution. This can be used to track multiple interactions with tools across different requests.

string(Session Id)
curl -i -X POST \
  https://api.docs.wabee.ai/_mock/openapi/core/v1/tool/execute \
  -H 'Content-Type: application/json' \
  -H 'x-wabee-access: YOUR_API_KEY_HERE' \
  -d '{
    "tool_name": "web_search",
    "tool_input": {
      "query": "Latest market trends in AI"
    },
    "session_id": "string"
  }'

Responses

Successful Response

Bodyapplication/json
tool_namestring(Tool Name)required

The name of the tool that was executed

Example: "web_search"
outputany(Output)required

The output from the tool execution

Example: {"results":["Result 1","Result 2"]}
execution_timenumber(Execution Time)required

Time taken to execute the tool in seconds

Example: 1.25
statusstring(Status)required

Status of the tool execution

Example: "success"
errorError (string) or Error (null)(Error)
Example: "API rate limit exceeded"
Any of:

Error message if the tool execution failed

string(Error)
Response
application/json
{ "tool_name": "web_search", "output": { "results": [] }, "execution_time": 1.25, "status": "success" }