跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.qoder.com/llms.txt

Use this file to discover all available pages before exploring further.

POST /v1/sessions/{session_id}/events 向 Session 发送事件(通常是用户消息),触发 Agent 开始处理。这是一个异步操作:消息被接受后,Agent 会在后台开始生成回复,可通过 SSE 流或列表事件 API 获取结果。

请求头

头部必选说明
AuthorizationBearer <PAT>
Content-Typeapplication/json

路径参数

参数类型必选说明
session_idstringSession ID(sess_ 前缀)

请求体

字段类型必选说明
eventsarray事件对象数组
events[].typestring事件类型
events[].contentarray视类型内容块数组(user.message 类型时必填)
events[].content[].typestring内容块类型,如 text
events[].content[].textstring文本内容

支持的事件类型

type说明必填字段
user.message用户发送消息content
user.interrupt用户中断 Agent 执行-
user.define_outcome用户定义预期结果content

示例请求

curl -X POST "https://openapi.qoder.sh/api/v1/cloud/sessions/sess_019e392c0d1e74e095d21ea4c6b41def/events" \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "events": [
      {
        "type": "user.message",
        "content": [
          {"type": "text", "text": "请帮我分析这段代码的性能问题"}
        ]
      }
    ]
  }'

示例响应

HTTP 202 Accepted 返回已创建的事件列表。HTTP 202 表示消息已被接受并进入处理队列。
{
  "data": [
    {
      "id": "evt_019e3bb2c153764da54e4d3acbef52b6",
      "type": "user.message",
      "content": [
        {"type": "text", "text": "请帮我分析这段代码的性能问题"}
      ],
      "session_id": "sess_019e392c0d1e74e095d21ea4c6b41def",
      "turn_id": "turn_019e3bb2c15376429b88e1f7976c1907",
      "schema_version": "1.0",
      "created_at": "2026-05-18T15:27:11.187413896Z",
      "processed_at": "2026-05-18T15:27:11.187413896Z"
    }
  ]
}

响应字段

字段类型说明
idstring事件唯一标识(evt_ 前缀)
typestring事件类型
contentarray内容块数组
session_idstring所属 Session ID
turn_idstring所属 Turn ID(turn_ 前缀),服务端自动分配
schema_versionstringSchema 版本号
created_atstring创建时间(ISO 8601)
processed_atstring处理时间(ISO 8601)
发送消息后,Agent 会异步开始处理。可通过 GET /v1/sessions/{session_id}/events/stream 实时监听 Agent 的响应事件。

错误码

HTTPtype触发条件
400invalid_request_error缺少 content 字段或格式错误
401authentication_errorPAT 无效或过期
404not_found_errorSession 不存在
409conflict_errorSession 正在处理中无法接收新消息
错误响应示例:
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "Field 'content' is required."
  }
}
完整错误信封说明详见 错误参考