API 参考

Release 0–1 面向 Agent 集成的接口说明。完整细节见 docs/api.md

准备 API Key

服务端使用环境变量 MASTER_SECRET 校验签名。本地生成一把 Key(将 org_123 换成你的租户 ID):

pnpm run generate-api-key -- --tenant-id org_123 --plan free
# 默认有效期 30 天;可改 --expires-days 90

请求时在 Header 中携带:

Authorization: Bearer <上一步输出的整串 Key>

请妥善保管 Key;示例域名请换成你环境里的 POOFLINK_PUBLIC_ORIGIN(见 .env.example)。

校验 API Key

POST/api/v1/auth/verify

适合在真正上传前快速确认 Key 是否有效(无 Blob 写入、无副作用)。Header 须带 Authorization: Bearer <Signed-API-Key>,Body 可为空。

成功响应(200)
{
  "valid": true,
  "tenant_id": "org_demo",
  "plan": "free",
  "expires_at": "2026-06-25T00:00:00.000Z"
}

发布部署

POST/api/v1/deploy

适合 Agent 直接构造多文件内容(键为相对路径,值须为 UTF-8 字符串)。必须包含 index.html

JSON Body
Content-Type: application/json · 须包含 index.html
{
  "files": {
    "index.html": "<!DOCTYPE html>...",
    "style.css": "body { margin: 0; }"
  },
  "ttl": 86400
}

ttl 可选,默认 86400 秒(1 天),范围 60~15552000 秒。

成功响应(200)
{
  "deployment_id": "V1StGXR8_Z5jdHi6B-myT",
  "preview_url": "https://example.com/view/V1StGXR8_Z5jdHi6B-myT/",
  "expires_at": "2026-05-26T08:55:12.000Z"
}

请保存 preview_url。再次上传会得到新的 deployment_id 与 URL,旧链接不会自动指向新内容。

预览

GET/view/{deployment_id}/[[...path]]

公开只读,无需 API Key。相对路径资源在同一 deployment 下解析。响应包含严格 CSP、nosniff 与 X-Robots-Tag noindex。到期或不存在时返回 404。

站点列表与删除

列表

GET/api/v1/deployments

返回当前 tenant 下仍可访问(active-only)的 deployments,支持 limit(默认 20,最大 100)与 cursor 分页。

删除

DELETE/api/v1/deployments/{deployment_id}

硬删除:成功后对应 preview_url 立刻 404。401 表示 Key 无效或过期;404 表示不存在或不属于该 tenant。

体积与配额

默认单文件 1 MB、单次部署总大小 5 MB(可通过环境变量覆盖,见 .env.example)。超出返回 413;存储写入失败返回 503。

环境变量