# E2B 兼容接口 (/docs/api/compatible/e2b)



## 基础地址 [#基础地址]

<ApiBaseDomain prefix="/e2b" />

## 接入 [#接入]

<QuickstartTabs snippets="{&#x22;curl&#x22;:&#x22;curl https://api-origin.invalid/e2b/sandboxes \\\n  -H \&#x22;X-API-Key: $PRAXIS_API_KEY\&#x22; \\\n  -H \&#x22;Content-Type: application/json\&#x22; \\\n  -d '{\&#x22;templateID\&#x22;:\&#x22;node22\&#x22;,\&#x22;timeout\&#x22;:300}'&#x22;,&#x22;python&#x22;:&#x22;import os\n\nfrom e2b import Sandbox\n\nopts = dict(\n    api_key=os.environ[\&#x22;PRAXIS_API_KEY\&#x22;],\n    api_url=\&#x22;https://api-origin.invalid/e2b\&#x22;,\n    domain=\&#x22;praxisusercontent.com\&#x22;,\n)\n\nsandbox = Sandbox.create(template=\&#x22;node22\&#x22;, timeout=300, **opts)\nprint(sandbox.sandbox_id)&#x22;,&#x22;typescript&#x22;:&#x22;import { Sandbox } from \&#x22;e2b\&#x22;;\n\nconst opts = {\n  apiKey: process.env.PRAXIS_API_KEY,\n  apiUrl: \&#x22;https://api-origin.invalid/e2b\&#x22;,\n  domain: \&#x22;praxisusercontent.com\&#x22;,\n};\n\nconst sandbox = await Sandbox.create(\&#x22;node22\&#x22;, { ...opts, timeoutMs: 300_000 });\nconsole.log(sandbox.sandboxId);&#x22;}" />

## 控制面与数据面 [#控制面与数据面]

* **控制面**：创建、列出、暂停、连接、终止沙箱等本页列出的端点，地址是上面的基础地址，用你的 API Key 认证（`X-API-Key` 头，官方 SDK 自动带上）。
* **数据面**：在沙箱里运行命令、读写文件，由 SDK 直连 `<端口>-<沙箱 ID>.praxisusercontent.com`，用创建沙箱时返回的访问凭证认证。所以 SDK 除了 `api_url` 还要把 `domain` 设为 `praxisusercontent.com`。

也可以不改代码，只设环境变量：

<QuickstartCode code="&#x22;export E2B_API_KEY=$PRAXIS_API_KEY\nexport E2B_API_URL=https://api-origin.invalid/e2b\nexport E2B_DOMAIN=praxisusercontent.com&#x22;" language="bash" />

## 端点 [#端点]

| 方法     | 路径                                                                                | 说明       | 支持   |
| ------ | --------------------------------------------------------------------------------- | -------- | ---- |
| POST   | [`/sandboxes`](/docs/api/compatible/e2b/createSandbox)                            | 创建沙箱     | ● 支持 |
| GET    | [`/sandboxes`](/docs/api/compatible/e2b/listSandboxes)                            | 列出沙箱     | ● 支持 |
| GET    | [`/sandboxes/{sandboxID}`](/docs/api/compatible/e2b/getSandbox)                   | 读取沙箱     | ● 支持 |
| GET    | [`/sandboxes/{sandboxID}/metrics`](/docs/api/compatible/e2b/getSandboxMetrics)    | 沙箱指标     | ● 支持 |
| POST   | [`/sandboxes/{sandboxID}/timeout`](/docs/api/compatible/e2b/setSandboxTimeout)    | 设置超时     | ● 支持 |
| POST   | [`/sandboxes/{sandboxID}/pause`](/docs/api/compatible/e2b/pauseSandbox)           | 暂停沙箱     | ● 支持 |
| POST   | [`/sandboxes/{sandboxID}/connect`](/docs/api/compatible/e2b/connectSandbox)       | 连接沙箱     | ● 支持 |
| DELETE | [`/sandboxes/{sandboxID}`](/docs/api/compatible/e2b/killSandbox)                  | 终止沙箱     | ● 支持 |
| POST   | [`/v2/sandboxes`](/docs/api/compatible/e2b/createSandboxV2)                       | 创建沙箱（v2） | ● 支持 |
| GET    | [`/v2/sandboxes`](/docs/api/compatible/e2b/listSandboxesV2)                       | 列出沙箱（v2） | ● 支持 |
| POST   | [`/v2/sandboxes/{sandboxID}/connect`](/docs/api/compatible/e2b/connectSandboxV2)  | 连接沙箱（v2） | ● 支持 |
| GET    | [`/templates`](/docs/api/compatible/e2b/listTemplates)                            | 列出模板     | ● 支持 |
| GET    | [`/v2/templates`](/docs/api/compatible/e2b/listTemplatesV2)                       | 列出模板（v2） | ● 支持 |
| POST   | [`/volumes`](/docs/api/compatible/e2b/createVolume)                               | 创建卷      | ● 支持 |
| GET    | [`/volumes`](/docs/api/compatible/e2b/listVolumes)                                | 列出卷      | ● 支持 |
| GET    | [`/volumes/{volumeID}`](/docs/api/compatible/e2b/getVolume)                       | 读取卷      | ● 支持 |
| DELETE | [`/volumes/{volumeID}`](/docs/api/compatible/e2b/deleteVolume)                    | 删除卷      | ● 支持 |
| POST   | [`/sandboxes/{sandboxID}/fork`](/docs/api/compatible/e2b/forkSandbox)             | 复制沙箱     | ● 支持 |
| POST   | [`/sandboxes/{sandboxID}/snapshots`](/docs/api/compatible/e2b/createSnapshot)     | 创建快照     | ● 支持 |
| GET    | [`/snapshots`](/docs/api/compatible/e2b/listSnapshots)                            | 列出快照     | ● 支持 |
| DELETE | [`/templates/{templateID}`](/docs/api/compatible/e2b/deleteSnapshot)              | 删除快照     | ● 支持 |
| PUT    | [`/sandboxes/{sandboxID}/network`](/docs/api/compatible/e2b/updateSandboxNetwork) | 更新网络策略   | ● 支持 |
| GET    | [`/v2/sandboxes/{sandboxID}/logs`](/docs/api/compatible/e2b/getSandboxLogs)       | 读取沙箱日志   | ● 支持 |

## 与官方的差异 [#与官方的差异]

* <a href="/docs/api/compatible/e2b/createSandbox">创建沙箱</a>：已弃用：最新官方 SDK 走 v2。平台暂未提供 E2B 默认的 base 模板：不带模板参数的 Sandbox.create() 会返回 404，请显式指定模板（可用模板见「列出模板」）。
* <a href="/docs/api/compatible/e2b/listSandboxes">列出沙箱</a>：已弃用：最新官方 SDK 走 v2。
* <a href="/docs/api/compatible/e2b/connectSandbox">连接沙箱</a>：已弃用：最新官方 SDK 走 v2。
* <a href="/docs/api/compatible/e2b/listTemplates">列出模板</a>：已弃用：最新官方 SDK 走 v2。

参数与字段的权威定义以 [E2B 官方文档](https://docs.e2b.dev/api-reference)为准。

错误按 E2B 格式返回，参见[错误](/docs/api/errors)；额度与响应头参见[限流](/docs/api/rate-limits)。
