https://meoo.com/open/v1\
功能概述
沙箱为项目提供代码运行和预览环境。创建项目后,可通过预览接口触发沙箱准备;不再使用时,通过沙箱销毁接口释放当前项目关联的沙箱。 创建项目不等于创建沙箱;预览未就绪也不等于沙箱创建失败。调用准备
请求使用Authorization: Bearer <ACCESS_TOKEN>。成员 Token 应属于目标项目所在团队,并代表有权操作该项目的成员。
沙箱销毁还要求调用成员为项目 Owner。权限列表中没有独立的
sandbox.kill 权限,使用的是 agent.run。
所有路径中的 project_id 均填写项目的公开 url_id,不是数据库主键,也不是平台沙箱 ID。
创建项目
完整项目接口见用户与项目 API。以下为沙箱调用流程所需的最小示例。POST /open/v1/projects
url_id,用于后续调用。
403 quota_exceeded,权益查询失败返回 503 service_unavailable。
触发沙箱准备并获取预览链接
POST /open/v1/projects/{project_id}/agent/preview-links
此接口用于获取预览链接,服务端会准备当前项目的沙箱与开发服务器。它不是独立的沙箱创建接口,也不保证每次调用都会创建新沙箱。
{};不能指定沙箱 ID、目标 URL、端口或 TTL。
HTTP 200 响应结构:
expires_at 为 Unix 毫秒时间戳。
HTTP 202 响应结构(等待时长仅为示例):
销毁项目当前沙箱
使用场景:主动控制沙箱使用时长与计量
为保证连续使用体验,项目沙箱通常不会在一次操作结束后立即销毁。平台会综合多种运行和使用情况判断回收时机,通常在 30 分钟~6 小时之间进行回收,具体时间以实际运行情况为准。 如果业务已经明确不再使用当前沙箱,无需等待平台自动回收,可以调用 kill 接口主动销毁,更精确地控制沙箱使用时长,减少等待回收期间的资源占用及相应计量。 典型场景包括:- 一次性生成、构建或测试任务已结束,短期内不再继续操作项目。
- 批量任务处理完成后,统一释放不再使用的项目沙箱。
- 接入方提供“结束运行”或“释放沙箱”操作,让用户主动控制资源使用。
503,表示销毁结果尚未确认,应按下文说明重试。
POST /open/v1/projects/{project_id}/sandbox/kill
接口销毁项目当前关联的沙箱,不删除项目记录。请求不需要请求体。
outcome: "not_found" 在此接口中为 HTTP 200 的业务结果,与 HTTP 404「项目不存在或不可见」不同。没有沙箱映射时,不代表已扫描平台确认该项目不存在任何历史沙箱。
平台超时、限流、鉴权失败或状态不明确时返回 HTTP 503,表示销毁结果尚未确认,不能按销毁成功处理。稍后使用相同项目 ID 重试;接口面向当前映射,重试前应避免并发触发新的沙箱初始化。
接口限流为:每客户端 2000 次/60 秒,每客户端下同一用户、租户组合 2000 次/60 秒。
常见错误
常见问题
返回 404「项目不存在」
检查项目 url_id、环境、Token 所代表的成员以及租户是否一致。网页登录身份与 API Token 身份可能不同,能在网页打开项目不代表当前 Token 有权访问。权限列表里没有沙箱 kill
销毁操作使用agent.run,同时校验项目 Owner;具有 Scope 并不替代项目权限校验。
预览返回 409,沙箱是否创建成功?
不能仅凭 409 判断。空项目可能已经创建沙箱,但没有可预览页面。需要结合创建日志或平台状态确认;沙箱创建成功日志会包含result=success 与 sandboxId。
如何定位错误?
保留 HTTP 状态、响应体中的code、detail、trace_id,以及请求时间、项目 url_id。不要在工单或截图中暴露完整 Token。
