Conversation Ai Delete Agent
Immutable Catalog Entry
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
destructive - Catalog version:
2026-07-12.2 - Descriptor hash:
3ffe6fb3626a09aed48e28cd256a7ebac98131fea92667afb38830cb7e556d56
Delete a GHL Conversation AI agent. GHL category: AI Agents / Conversation AI. This destructive operation removes agent/action configuration. Use only with explicit user confirmation and disposable fixtures during validation.
Request Body
{
"jsonrpc": "2.0",
"id": "ghl-conversation-ai-delete-agent-example",
"method": "tools/call",
"params": {
"name": "ghl.conversation_ai_delete_agent",
"arguments": {
"agentId": "agentId_123",
"body": {},
"query": {},
"tenantId": "tenantId_123",
"locationId": "locationId_123",
"confirmApply": "confirmApply_example",
"strictTenant": false,
"includeFullConfig": false
}
}
}
Arguments Schema
{
"type": "object",
"required": [
"agentId"
],
"properties": {
"body": {
"type": "object",
"description": "Request body for this official GHL Conversation AI endpoint, using only fields documented by GHL.",
"additionalProperties": true
},
"query": {
"type": "object",
"description": "Optional GHL-supported query parameters for this official Conversation AI endpoint, such as pagination, agent, or generation filters from the official docs. Do not include locationId unless you only need local safety validation. For conversation_ai_search_agents, search/q/name are accepted but applied locally because GHL rejects those query fields.",
"additionalProperties": true
},
"agentId": {
"type": "string",
"description": "agentId path parameter required by /conversation-ai/agents/:agentId."
},
"tenantId": {
"type": "string",
"description": "Tenant ID from list_tenants."
},
"locationId": {
"type": "string",
"description": "Optional GHL location ID for safety validation only. If provided, it must match the authenticated runtime location; Conversation AI endpoints are scoped by the PIT token and this field is not forwarded to GHL."
},
"confirmApply": {
"type": "string",
"description": "Required for destructive Conversation AI operations. Set exactly to \"CONFIRM APPLY\" only after the user explicitly confirms the deletion."
},
"strictTenant": {
"type": "boolean",
"default": true,
"description": "Require tenantId to match locationId routing (default: true)."
},
"includeFullConfig": {
"type": "boolean",
"description": "Defaults to false. Set true only when the user explicitly needs full Conversation AI configuration such as personality, goal, instructions, prompts, knowledge-base IDs, or action parameters."
}
},
"additionalProperties": false
}
Output Schema
{
"type": "object",
"required": [
"ok",
"data",
"error",
"meta"
],
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the GHL MCP operation completed successfully."
},
"data": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "array",
"items": {}
},
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Tool-specific GHL or local navigation result when ok is true."
},
"meta": {
"type": "object",
"description": "Safe execution, routing, and timing metadata.",
"additionalProperties": true
},
"error": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Safe error details when ok is false; credential values are never returned."
}
},
"description": "Normalized GHL MCP response envelope.",
"additionalProperties": false
}
Code Examples
- cURL
- Node.js
- Python
curl -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "ghl-conversation-ai-delete-agent-example",
"method": "tools/call",
"params": {
"name": "ghl.conversation_ai_delete_agent",
"arguments": {
"agentId": "agentId_123",
"body": {},
"query": {},
"tenantId": "tenantId_123",
"locationId": "locationId_123",
"confirmApply": "confirmApply_example",
"strictTenant": false,
"includeFullConfig": false
}
}
}'
const response = await fetch('https://portal.madpanda3d.com/api/mcp', {
method: 'POST',
headers: {
Authorization: 'Bearer mad_live_***',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": "ghl-conversation-ai-delete-agent-example",
"method": "tools/call",
"params": {
"name": "ghl.conversation_ai_delete_agent",
"arguments": {
"agentId": "agentId_123",
"body": {},
"query": {},
"tenantId": "tenantId_123",
"locationId": "locationId_123",
"confirmApply": "confirmApply_example",
"strictTenant": false,
"includeFullConfig": false
}
}
}),
});
const data = await response.json();
console.log(data);
import requests
url = 'https://portal.madpanda3d.com/api/mcp'
headers = {
'Authorization': 'Bearer mad_live_***',
'Content-Type': 'application/json',
}
payload = {
"jsonrpc": "2.0",
"id": "ghl-conversation-ai-delete-agent-example",
"method": "tools/call",
"params": {
"name": "ghl.conversation_ai_delete_agent",
"arguments": {
"agentId": "agentId_123",
"body": {},
"query": {},
"tenantId": "tenantId_123",
"locationId": "locationId_123",
"confirmApply": "confirmApply_example",
"strictTenant": false,
"includeFullConfig": false
}
}
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
print(response.json())
Example Responses
- 200 Success
- 502 Upstream Error
{
"ok": true,
"message": "Tool ghl.conversation_ai_delete_agent executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}
{
"ok": false,
"classification": "upstream_http_error",
"message": "Upstream MCP returned a non-success status."
}