Agents

Ask the Growth Scientist

POST
/api/v1/agents/ask

Runs the LangGraph workflow: intent analysis, deterministic metric gathering, specialist fan-out, evidence synthesis and a structured recommendation. Works without an LLM key - the figures and the recommendation are deterministic either way, only the prose is simpler.

Authorization

HTTPBearer
AuthorizationBearer <token>

JWT access token

In: header

Query Parameters

merchant_id?|

Optional merchant to act on. Must be one you are a member of.

Formatuuid

Header Parameters

X-Merchant-ID?string|null

Request Body

application/json

channel?string
Default"web"

Value in

  • "web"
  • "voice"
conversation_id?|
Lengthlength <= 64
message*string
Length2 <= length <= 2000
opportunity_id?|
Formatuuid
workflow?|

Value in

  • "investigate"
  • "ask"
  • "detect"
  • "execute"
  • "measure"
  • "voice"

Response Body

application/json

application/json

curl -X POST "https://example.com/api/v1/agents/ask" \  -H "Content-Type: application/json" \  -d '{    "message": "string"  }'
{  "data": {    "answer": "",    "opportunity_id": "5c7fee95-8917-4b3c-8649-bbbc4ef0c4f7",    "recommendation": {      "action_key": "string",      "alternatives_considered": [        "string"      ],      "confidence": 0.5,      "estimated_impact": 0,      "evidence": [        {          "change": "string",          "confidence": 0,          "detail": "string",          "metric": "string",          "reference": "string",          "source": "analytics",          "value": "string"        }      ],      "hypothesis": "",      "opportunity": "string",      "reasoning": "",      "recommended_action": "",      "requires_approval": true,      "risk": "low",      "summary": "string"    },    "requires_approval": false,    "run": {      "agent_label": "",      "agent_name": "string",      "campaign_id": "78614b6c-fe7c-41e2-8e25-c9b3a3c91904",      "channel": "string",      "confidence": 0,      "created_at": "2019-08-24T14:15:22Z",      "decision": "string",      "duration_ms": 0,      "error": "string",      "experiment_id": "916afd89-cac5-4339-9c59-dd068abdfa69",      "finished_at": "2019-08-24T14:15:22Z",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "input_text": "string",      "intent": "string",      "model": "string",      "opportunity_id": "5c7fee95-8917-4b3c-8649-bbbc4ef0c4f7",      "output": {},      "recommendation": {        "action_key": "string",        "alternatives_considered": [          "string"        ],        "confidence": 0.5,        "estimated_impact": 0,        "evidence": [          {            "change": "string",            "confidence": 0,            "detail": "string",            "metric": "string",            "reference": "string",            "source": "analytics",            "value": "string"          }        ],        "hypothesis": "",        "opportunity": "string",        "reasoning": "",        "recommended_action": "",        "requires_approval": true,        "risk": "low",        "summary": "string"      },      "requires_approval": false,      "started_at": "2019-08-24T14:15:22Z",      "status": "string",      "steps": [        {          "action": "string",          "agent_label": "",          "agent_name": "string",          "decision": "string",          "duration_ms": 0,          "error": "string",          "evidence": [            {              "change": "string",              "confidence": 0,              "detail": "string",              "metric": "string",              "reference": "string",              "source": "analytics",              "value": "string"            }          ],          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",          "node": "string",          "result": "string",          "sequence": 0,          "status": "string"        }      ],      "summary": "string",      "tool_calls": [        {          "agent_name": "string",          "arguments": {},          "duration_ms": 0,          "error": "string",          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",          "result_summary": "",          "sequence": 0,          "status": "string",          "tool_name": "string"        }      ],      "tools_used": [        "string"      ],      "total_tokens": 0,      "trace_disclaimer": "This trace shows actions, tools, evidence and decisions. Internal model reasoning is never recorded or displayed.",      "trace_id": "string",      "trace_url": "string",      "used_fallback": false,      "workflow": "string"    },    "suggested_followups": [      "string"    ]  },  "meta": {},  "success": true}