Evose

API · Agent

List · Invoke chat · Streaming · History

Agent API

Invoke Agents and manage conversations.

List Agents

GET /v1/agents?workspace_id=ws-001
{
  "data": [
    {
      "id": "agent-12345",
      "name": "CS Pro",
      "type": "chatflow",
      "model": "claude-sonnet-4-6",
      "workspace_id": "ws-001",
      "status": "active",
      "version": 7,
      "created_at": "..."
    }
  ]
}

Invoke Chat (synchronous)

POST /v1/agents/{id}/chat
{
  "message": "How is my order ABC12345 going?",
  "user_id": "u-internal-001",
  "conversation_id": "conv-xxx",
  "stream": false
}
FieldDescription
messageUser message (required)
user_idEnd-user ID (required, used for audit)
conversation_idOptional, continues an existing conversation; new if omitted
streamOptional, default false
inputsOptional, Chatflow start-node parameters

Response:

{
  "request_id": "req-xxx",
  "agent_id": "agent-12345",
  "conversation_id": "conv-xxx",
  "message": {
    "role": "assistant",
    "content": "Your order ABC12345 has shipped and is expected on May 10."
  },
  "tool_calls": [
    {
      "tool": "Order System.queryOrder",
      "input": { "orderId": "ABC12345" },
      "duration_ms": 234
    }
  ],
  "usage": {
    "tokens_in": 145,
    "tokens_out": 67,
    "credits": 0.008
  }
}

Streaming Invocation

POST /v1/agents/{id}/chat
Accept: text/event-stream
{ "message": "...", "user_id": "...", "stream": true }

Event stream:

event: message
data: {"delta": "Your order"}

event: message
data: {"delta": " ABC12345 has shipped"}

event: tool_call
data: {"tool": "Order System.queryOrder", "input": {...}}

event: tool_result
data: {"output": {...}, "duration_ms": 234}

event: usage
data: {"tokens_in": 145, "tokens_out": 67, "credits": 0.008}

event: done
data: {"finish_reason": "stop"}

List Conversations

GET /v1/agents/{id}/conversations?user_id=u-001

Get Conversation History

GET /v1/conversations/{conversation_id}

Delete a Conversation

DELETE /v1/conversations/{conversation_id}

Next Steps

On this page