Witty API
info
Read this page in wide view mode from here
Witty v2 (0.1.0)
Witty v2 — Configurable multi-agent AI assistant for Witboost
Task
Main entry point — SSE streaming response.
Request Body schema: application/jsonrequired
| message required | string (Message) [ 1 .. 10000 ] characters |
Session Id (string) or Session Id (null) (Session Id) | |
Request Id (string) or Request Id (null) (Request Id) | |
Agent Id (string) or Agent Id (null) (Agent Id) | |
Page Context (string) or Page Context (null) (Page Context) |
Responses
Request samples
- Payload
Content type
application/json
{- "message": "string",
- "session_id": "string",
- "request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "page_context": "string"
}Response samples
- 200
- 422
Content type
application/json
nullTask Sync
Synchronous endpoint — runs the full agent graph and returns the complete response as JSON.
Request Body schema: application/jsonrequired
| message required | string (Message) [ 1 .. 10000 ] characters |
Session Id (string) or Session Id (null) (Session Id) | |
Request Id (string) or Request Id (null) (Request Id) | |
Agent Id (string) or Agent Id (null) (Agent Id) | |
Page Context (string) or Page Context (null) (Page Context) |
Responses
Request samples
- Payload
Content type
application/json
{- "message": "string",
- "session_id": "string",
- "request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "page_context": "string"
}Response samples
- 200
- 422
Content type
application/json
{- "message": "string",
- "title": "string",
- "session_id": "string",
- "request_id": "266ea41d-adf5-480b-af50-15b940c2b846"
}Patch Session Title
Update a session's title. Only the session owner can update.
path Parameters
| session_id required | string (Session Id) |
Request Body schema: application/jsonrequired
| title required | string (Title) |
Responses
Request samples
- Payload
Content type
application/json
{- "title": "string"
}Response samples
- 200
- 422
Content type
application/json
nullGet Skills
query Parameters
| limit | integer (Limit) [ 1 .. 100 ] Default: 25 |
| offset | integer (Offset) >= 0 Default: 0 |
Search (string) or Search (null) (Search) | |
Is Platform Provided (boolean) or Is Platform Provided (null) (Is Platform Provided) | |
Array of Ids (strings) or Ids (null) (Ids) | |
| sort-by | string (Sort-By) Default: "name" Enum: "name" "description" "type" "agent_count" "tool_count" |
| sort-order | string (Sort-Order) Default: "asc" Enum: "asc" "desc" |
Responses
Response samples
- 200
- 422
Content type
application/json
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "platform_key": "string",
- "name": "string",
- "description": "string",
- "is_platform_provided": true,
- "agent_count": 0,
- "tool_count": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "pagination": {
- "total": 0,
- "limit": 0,
- "offset": 0
}
}
}Create New Skill
Request Body schema: application/jsonrequired
| name required | string (Name) [ 1 .. 255 ] characters |
| description | string (Description) Default: "" |
| content required | string (Content) non-empty |
Array of objects (Mcp Tools) |
Responses
Request samples
- Payload
Content type
application/json
{- "name": "string",
- "description": "",
- "content": "string",
- "mcp_tools": [
- {
- "server": "string",
- "name": "string"
}
]
}Response samples
- 201
- 422
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "platform_key": "string",
- "name": "string",
- "description": "string",
- "content": "string",
- "mcp_tools": [
- {
- "server": "string",
- "name": "string"
}
], - "is_platform_provided": true,
- "agent_count": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Response samples
- 200
- 422
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "platform_key": "string",
- "name": "string",
- "description": "string",
- "content": "string",
- "mcp_tools": [
- {
- "server": "string",
- "name": "string"
}
], - "is_platform_provided": true,
- "agent_count": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Update Existing Skill
path Parameters
| skill_id required | string <uuid> (Skill Id) |
Request Body schema: application/jsonrequired
Name (string) or Name (null) (Name) | |
Description (string) or Description (null) (Description) | |
Content (string) or Content (null) (Content) | |
Array of Mcp Tools (objects) or Mcp Tools (null) (Mcp Tools) |
Responses
Request samples
- Payload
Content type
application/json
{- "name": "string",
- "description": "string",
- "content": "string",
- "mcp_tools": [
- {
- "server": "string",
- "name": "string"
}
]
}Response samples
- 200
- 422
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "platform_key": "string",
- "name": "string",
- "description": "string",
- "content": "string",
- "mcp_tools": [
- {
- "server": "string",
- "name": "string"
}
], - "is_platform_provided": true,
- "agent_count": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Get Agents
query Parameters
| limit | integer (Limit) [ 1 .. 100 ] Default: 25 |
| offset | integer (Offset) >= 0 Default: 0 |
Search (string) or Search (null) (Search) | |
Enabled (boolean) or Enabled (null) (Enabled) | |
Is Platform Provided (boolean) or Is Platform Provided (null) (Is Platform Provided) | |
| sort-by | string (Sort-By) Default: "label" Enum: "label" "description" "enabled" "type" "skill_count" "tool_count" |
| sort-order | string (Sort-Order) Default: "asc" Enum: "asc" "desc" |
Responses
Response samples
- 200
- 422
Content type
application/json
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "platform_key": "string",
- "name": "string",
- "label": "string",
- "description": "string",
- "enabled": true,
- "is_default": true,
- "is_orchestrator": true,
- "is_platform_provided": true,
- "display_order": 0,
- "skill_count": 0,
- "tool_count": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "pagination": {
- "total": 0,
- "limit": 0,
- "offset": 0
}
}
}Create Agent
Request Body schema: application/jsonrequired
| name required | string (Name) [ 1 .. 255 ] characters |
| label required | string (Label) [ 1 .. 255 ] characters |
| description | string (Description) Default: "" |
| instructions | string (Instructions) Default: "" |
| enabled | boolean (Enabled) Default: true |
| is_default | boolean (Is Default) Default: false |
| display_order | integer (Display Order) Default: 0 |
Array of objects (Mcp Tools) | |
| skill_ids | Array of strings <uuid> (Skill Ids) [ items <uuid > ] |
| subagent_ids | Array of strings <uuid> (Subagent Ids) [ items <uuid > ] |
Responses
Request samples
- Payload
Content type
application/json
{- "name": "string",
- "label": "string",
- "description": "",
- "instructions": "",
- "enabled": true,
- "is_default": false,
- "display_order": 0,
- "mcp_tools": [
- {
- "server": "string",
- "name": "string"
}
], - "skill_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "subagent_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}Response samples
- 201
- 422
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "platform_key": "string",
- "name": "string",
- "label": "string",
- "description": "string",
- "instructions": "string",
- "enabled": true,
- "is_default": true,
- "is_orchestrator": true,
- "is_platform_provided": true,
- "display_order": 0,
- "subagent_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Response samples
- 200
- 422
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "platform_key": "string",
- "name": "string",
- "label": "string",
- "description": "string",
- "instructions": "string",
- "enabled": true,
- "is_default": true,
- "is_orchestrator": true,
- "is_platform_provided": true,
- "display_order": 0,
- "subagent_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Update Agent
path Parameters
| agent_id required | string <uuid> (Agent Id) |
Request Body schema: application/jsonrequired
Name (string) or Name (null) (Name) | |
Label (string) or Label (null) (Label) | |
Description (string) or Description (null) (Description) | |
Instructions (string) or Instructions (null) (Instructions) | |
Enabled (boolean) or Enabled (null) (Enabled) | |
Is Default (boolean) or Is Default (null) (Is Default) | |
Display Order (integer) or Display Order (null) (Display Order) | |
Array of Subagent Ids (strings) or Subagent Ids (null) (Subagent Ids) |
Responses
Request samples
- Payload
Content type
application/json
{- "name": "string",
- "label": "string",
- "description": "string",
- "instructions": "string",
- "enabled": true,
- "is_default": true,
- "display_order": 0,
- "subagent_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}Response samples
- 200
- 422
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "platform_key": "string",
- "name": "string",
- "label": "string",
- "description": "string",
- "instructions": "string",
- "enabled": true,
- "is_default": true,
- "is_orchestrator": true,
- "is_platform_provided": true,
- "display_order": 0,
- "subagent_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Get Capabilities
path Parameters
| agent_id required | string <uuid> (Agent Id) |
query Parameters
| limit | integer (Limit) [ 1 .. 100 ] Default: 25 |
| offset | integer (Offset) >= 0 Default: 0 |
Search (string) or Search (null) (Search) | |
Array of Type (strings) or Type (null) (Type) | |
| sort-order | string (Sort-Order) Default: "asc" Enum: "asc" "desc" |
Responses
Response samples
- 200
- 422
Content type
application/json
{- "data": [
- {
- "id": "string",
- "display_name": "string",
- "description": "string",
- "kind": "skill",
- "server": "string",
- "name": "string",
- "inherited": false,
- "children": [
- {
- "id": "string",
- "display_name": "string",
- "description": "string",
- "kind": "tool",
- "server": "string",
- "inherited": true
}
]
}
], - "meta": {
- "pagination": {
- "total": 0,
- "limit": 0,
- "offset": 0
}, - "summary": {
- "skill_count": 0,
- "direct_tool_count": 0,
- "effective_tool_count": 0,
- "inherited_tool_count": 0,
- "mcp_server_count": 0
}, - "mcp_servers": [
- {
- "server": "string",
- "tool_count": 0
}
]
}
}Add Skills
path Parameters
| agent_id required | string <uuid> (Agent Id) |
Request Body schema: application/jsonrequired
| skill_ids required | Array of strings <uuid> (Skill Ids) non-empty [ items <uuid > ] |
Responses
Request samples
- Payload
Content type
application/json
{- "skill_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}Response samples
- 422
Content type
application/json
{- "detail": [
- {
- "loc": [
- "string"
], - "msg": "string",
- "type": "string",
- "input": null,
- "ctx": { }
}
]
}Add Mcp Tools
path Parameters
| agent_id required | string <uuid> (Agent Id) |
Request Body schema: application/jsonrequired
required | Array of objects (Mcp Tools) non-empty | ||||
Array (non-empty)
| |||||
Responses
Request samples
- Payload
Content type
application/json
{- "mcp_tools": [
- {
- "server": "string",
- "name": "string"
}
]
}Response samples
- 422
Content type
application/json
{- "detail": [
- {
- "loc": [
- "string"
], - "msg": "string",
- "type": "string",
- "input": null,
- "ctx": { }
}
]
}Remove Mcp Tool
path Parameters
| agent_id required | string <uuid> (Agent Id) |
query Parameters
| server required | string (Server) non-empty |
| name required | string (Name) non-empty |
Responses
Response samples
- 422
Content type
application/json
{- "detail": [
- {
- "loc": [
- "string"
], - "msg": "string",
- "type": "string",
- "input": null,
- "ctx": { }
}
]
}Get Mcp Tools
query Parameters
| limit | integer (Limit) [ 1 .. 100 ] Default: 25 |
| offset | integer (Offset) >= 0 Default: 0 |
Search (string) or Search (null) (Search) | |
Array of Server (strings) or Server (null) (Server) |
Responses
Response samples
- 200
- 422
Content type
application/json
{- "data": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "server": "string"
}
], - "meta": {
- "pagination": {
- "total": 0,
- "limit": 0,
- "offset": 0
}
}
}Lookup Mcp Tools
Request Body schema: application/jsonrequired
| ids required | Array of strings (Ids) <= 1000 items |
Responses
Request samples
- Payload
Content type
application/json
{- "ids": [
- "string"
]
}Response samples
- 200
- 422
Content type
application/json
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "server": "string"
}
]Set Config
path Parameters
| key required | string (Key) |
Request Body schema: application/jsonrequired
| value required | any (Value) |
Responses
Request samples
- Payload
Content type
application/json
{- "value": null
}Response samples
- 422
Content type
application/json
{- "detail": [
- {
- "loc": [
- "string"
], - "msg": "string",
- "type": "string",
- "input": null,
- "ctx": { }
}
]
}Create Llm Config
Request Body schema: application/jsonrequired
Provider (string) or Provider (null) (Provider) | |
Endpoint (string) or Endpoint (null) (Endpoint) | |
Api Key (string) or Api Key (null) (Api Key) | |
Deployment (string) or Deployment (null) (Deployment) | |
Api Version (string) or Api Version (null) (Api Version) | |
Model (string) or Model (null) (Model) | |
Custom Header (string) or Custom Header (null) (Custom Header) |
Responses
Request samples
- Payload
Content type
application/json
{- "provider": "string",
- "endpoint": "string",
- "api_key": "string",
- "deployment": "string",
- "api_version": "string",
- "model": "string",
- "custom_header": "string"
}Response samples
- 200
- 422
- 500
Content type
application/json
{- "provider": "",
- "endpoint": "",
- "api_key": "",
- "deployment": "",
- "api_version": "",
- "model": "",
- "custom_header": ""
}Create Embedder Config
Request Body schema: application/jsonrequired
Provider (string) or Provider (null) (Provider) | |
Endpoint (string) or Endpoint (null) (Endpoint) | |
Api Key (string) or Api Key (null) (Api Key) | |
Deployment (string) or Deployment (null) (Deployment) | |
Api Version (string) or Api Version (null) (Api Version) | |
Model (string) or Model (null) (Model) | |
Custom Header (string) or Custom Header (null) (Custom Header) |
Responses
Request samples
- Payload
Content type
application/json
{- "provider": "string",
- "endpoint": "string",
- "api_key": "string",
- "deployment": "string",
- "api_version": "string",
- "model": "string",
- "custom_header": "string"
}Response samples
- 200
- 422
- 500
Content type
application/json
{- "provider": "",
- "endpoint": "",
- "api_key": "",
- "deployment": "",
- "api_version": "",
- "model": "",
- "custom_header": ""
}Register Agent
Request Body schema: application/jsonrequired
| name required | string (Name) |
| description required | string (Description) <= 1024 characters |
| endpoint required | string (Endpoint) |
object (Payload) Default: {} | |
| need_authentication | boolean (Need Authentication) Default: true |
| active | boolean (Active) Default: true |
Responses
Request samples
- Payload
Content type
application/json
{- "name": "string",
- "description": "string",
- "endpoint": "string",
- "payload": { },
- "need_authentication": true,
- "active": true
}Response samples
- 201
- 422
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "endpoint": "string",
- "payload": { },
- "need_authentication": true,
- "active": true,
- "title": "string"
}Response samples
- 200
- 422
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "endpoint": "string",
- "payload": { },
- "need_authentication": true,
- "active": true,
- "title": "string"
}Patch Agent
path Parameters
| agent_id required | string <uuid> (Agent Id) |
Request Body schema: application/jsonrequired
Name (string) or Name (null) (Name) | |
Description (string) or Description (null) (Description) | |
Endpoint (string) or Endpoint (null) (Endpoint) | |
Payload (object) or Payload (null) (Payload) | |
Need Authentication (boolean) or Need Authentication (null) (Need Authentication) | |
Active (boolean) or Active (null) (Active) |
Responses
Request samples
- Payload
Content type
application/json
{- "name": "string",
- "description": "string",
- "endpoint": "string",
- "payload": { },
- "need_authentication": true,
- "active": true
}Response samples
- 200
- 422
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "endpoint": "string",
- "payload": { },
- "need_authentication": true,
- "active": true,
- "title": "string"
}Response samples
- 200
- 422
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "endpoint": "string",
- "payload": { },
- "need_authentication": true,
- "active": true,
- "title": "string"
}