调用工作区(流媒体)

发布 /api/v1/projects/{id}/workspaces/{workspace_id}/invokeStream

调用工作区代理并将其响应作为服务器发送的事件进行流式传输。要继续会话,请发送上一个响应返回的 X-Session- ID值。如果省略该标头,网关将启动一个新会话,并在响应标头中返回其ID 。正文 session_id字段不会继续会话。正文可以包含额外的顶级字段。网关会转发除以下保留字段之外的所有字段:message、session_id、user_id 和resume_map。 resume_map 会继续暂停的回合。对于没有历史记录的会话,resume_map 将成为代理的初始输入。需要有效的持有者令牌。

标头

  • X-Session- ID 字符串

    上一个响应返回的会话ID 。发送它以继续该会话。有效 ID 匹配 [A-Za-z0-9_-]{1,128}$。如果省略,网关将启动一个新会话。正文 session_id 不会继续会话

  • X-Agent-Engine-Test-Session 布尔

    将新创建的会话归类为测试会话;现有分类不变

路径参数

  • id 字符串 必需

    项目 ID

  • Workspace_id 字符串 必需

    工作区ID

application/json

body 必需

调用请求

  • message 字符串

    当提供其他代理字段时,可选:聊天代理的聊天输入。保留字段名称。

  • resume_map 对象

    ResumeMap 包含由 OE 解析的每个中断的答案。仅当 OE 启动会话的首次执行时,才会将其作为普通输入转发给代理,且此时不存在用于回答的本地暂停回合。

    允许使用其他属性。

  • session_id 字符串

    可选兼容性字段。为了会话连续性,网关会忽略它。要继续会话,请发送 X-Session- ID 。保留字段名称。

  • user_id 字符串

    用于个性化和内存隔离性的可选标识。人员和API密钥调用使用此值,或默认为经过身份验证的用户。服务帐户调用始终使用服务帐户身份。服务帐户尚不能充当其他用户。保留字段名称。

响应

  • 不支持或格式不正确的API版本、所选已发布合约中不可用的操作或不可接受的表示形式(包括不支持的媒体类型参数或排除的 SSE)。现有的身份验证、授权和速率限制失败优先。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      标准错误模式定义的可选验证详细信息; API协商错误不会发出此字段。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        验证失败的字段。

        隐藏字段属性 显示字段属性 对象

        字段及其验证失败。

        • 描述 字符串 必需

          人类可读的验证失败。

        • 字段 字符串 必需

          无效请求字段的名称或路径。

    • 详细信息 字符串 必需

      人类可读的错误详细信息。

    • 错误 整型 必需

      HTTP status code.

    • 错误代码 字符串 必需

      机器可读的错误代码。

    • 参数 array[string]

      与错误相关的请求参数名称;不应用时省略。

    • 原因 字符串 必需

      HTTP状态原因短语。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      标准错误模式定义的可选验证详细信息; API协商错误不会发出此字段。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        验证失败的字段。

        隐藏字段属性 显示字段属性 对象

        字段及其验证失败。

        • 描述 字符串 必需

          人类可读的验证失败。

        • 字段 字符串 必需

          无效请求字段的名称或路径。

    • 详细信息 字符串 必需

      人类可读的错误详细信息。

    • 错误 整型 必需

      HTTP status code.

    • 错误代码 字符串 必需

      机器可读的错误代码。

    • 参数 array[string]

      与错误相关的请求参数名称;不应用时省略。

    • 原因 字符串 必需

      HTTP状态原因短语。

  • 200 text/event-stream

    SSE流。预标头失败(在第一帧之前)呈现为以下JSON错误体之一;中流故障改为呈现为带有相同代码/错误的终端 SSE数据块,以及启动故障信封的元数据对象中的 source/component/sandbox/boot_id

    隐藏标头属性 显示标头属性
    • X-Session- ID 字符串

      匹配 [A-Za-z0-9_-]{1,128}$ 的会话ID 。在下一个请求中发送此值以继续会话

  • Bad Request

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • Unauthorized

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • 409

    冲突

    隐藏响应属性 显示响应属性 对象
    • blocking_execution_id 字符串
    • blocking_status 字符串
    • 代码 字符串
    • 错误 字符串
    • last_activity_at 字符串
    隐藏响应属性 显示响应属性 对象
    • blocking_execution_id 字符串
    • blocking_status 字符串
    • 代码 字符串
    • 错误 字符串
    • last_activity_at 字符串
  • 第 422 章

    PROJECT_SECRET_INVALID:工作区无法启动,因为项目密钥无效或无法访问(修复密钥并重新部署);在中流中,它显示为终端 SSE数据块,携带 code=PROJECT_SECRET_INVALID

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • 429

    请求过多

    隐藏标头属性 显示标头属性
    • 重试后 字符串

      重试前等待的秒数

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • 500

    针对 AGENT_STARTUP_FAILED/STARTUP_FAILED初创企业失败的 ErrorResponse 或 StartupFailureResponse

    以下任何一项:
    以下任何一项:
  • 503

    针对 POOL_EXHAUSTED/EXECUTOR_BOOT_FAILED/PLATFORM_DEPENDENCY_FAILED/POOL_UNREACHABLE初创企业失败的 StartupFailureResponse;否则为 ErrorResponse。 POOL_EXHAUSTED 带有 Retry-After 标头

    隐藏标头属性 显示标头属性
    • 重试后 字符串

      重试前等待的秒数(仅限 POOL_EXHAUSTED)

    以下任何一项:
    以下任何一项:
  • 网关超时

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
POST /api/v1/projects/{id}/workspaces/{workspace_id}/invokeStream
curl \
 --request POST 'https://agentengine.mongodb.com/api/v1/projects/{id}/workspaces/{workspace_id}/invokeStream' \
 --header "Authorization: $API_KEY" \
 --header "Content-Type: application/json" \
 --header "X-Session-ID: string" \
 --header "X-Agent-Engine-Test-Session: true" \
 --data '{
  "message": "string",
  "resume_map": {},
  "session_id": "string",
  "user_id": "string"
}'
请求示例
# Headers
X-Session-ID: string
X-Agent-Engine-Test-Session: true

# Payload
{
  "message": "string",
  "resume_map": {},
  "session_id": "string",
  "user_id": "string"
}
响应示例 (406)
{
  "detail": "This operation is not available in API version 2026-09-20-preview.",
  "error": 406,
  "errorCode": "OPERATION_NOT_IN_API_VERSION",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
{
  "detail": "This operation supports text/event-stream, which the Accept header excludes. Remove unsupported media-type parameters or accept this type with a positive q value.",
  "error": 406,
  "errorCode": "UNACCEPTABLE_MEDIA_TYPE",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
{
  "detail": "The requested API version is not supported. Supported versions: 2026-09-20-preview.",
  "error": 406,
  "errorCode": "UNSUPPORTED_API_VERSION",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
响应示例 (406)
{
  "detail": "This operation is not available in API version 2026-09-20-preview.",
  "error": 406,
  "errorCode": "OPERATION_NOT_IN_API_VERSION",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
响应示例 (200)
: connected

data: {"message":"Example event payload"}

响应示例 (400)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (400)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (401)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (401)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (409)
{
  "blocking_execution_id": "string",
  "blocking_status": "string",
  "code": "string",
  "error": "string",
  "last_activity_at": "string"
}
响应示例 (409)
{
  "blocking_execution_id": "string",
  "blocking_status": "string",
  "code": "string",
  "error": "string",
  "last_activity_at": "string"
}
响应示例 (422)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (422)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (429)
# Headers
Retry-After: string

# Payload
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (429)
# Headers
Retry-After: string

# Payload
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (500)
{
  "code": "string",
  "error": "string",
  "success": true
}
{
  "boot_id": "string",
  "code": "string",
  "component": "string",
  "error": "string",
  "execution_id": "string",
  "sandbox": "string",
  "source": "string",
  "success": true
}
响应示例 (500)
{
  "code": "string",
  "error": "string",
  "success": true
}
{
  "boot_id": "string",
  "code": "string",
  "component": "string",
  "error": "string",
  "execution_id": "string",
  "sandbox": "string",
  "source": "string",
  "success": true
}
响应示例 (503)
# Headers
Retry-After: string

# Payload
{
  "boot_id": "string",
  "code": "string",
  "component": "string",
  "error": "string",
  "execution_id": "string",
  "sandbox": "string",
  "source": "string",
  "success": true
}
# Headers
Retry-After: string

# Payload
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (503)
# Headers
Retry-After: string

# Payload
{
  "boot_id": "string",
  "code": "string",
  "component": "string",
  "error": "string",
  "execution_id": "string",
  "sandbox": "string",
  "source": "string",
  "success": true
}
# Headers
Retry-After: string

# Payload
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (504)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (504)
{
  "code": "string",
  "error": "string",
  "success": true
}