API 参考

Fork

POST /api/forks 复制研究仓库到自己的命名空间,在既有研究基础上继续工作。

POST /api/forks 把源仓库的完整快照复制到指定命名空间:论文、Claims、实验方案、证据与来源全部保留,但运行记录(runs)清空、forkCount 重置为 0,并记录 forkedFrom(源仓库的 repositoryId、owner、slug 与当时的 commitId),用于追溯 Fork 来源。源仓库的 forkCount 相应加一。

鉴权

需要 write 权限:浏览器 session 或 API Key(x-api-key)。同时要求对源仓库有读取权限。

请求

Body 为 JSON:

字段类型必填说明
sourceRepositoryIdstring源仓库 ID
ownerstring目标命名空间(当前账号或有权限的组织),缺省为当前账号;仅小写字母、数字、连字符,最长 64
slugstring新仓库 slug,缺省沿用源仓库 slug;仅小写字母、数字、连字符,最长 96

示例

curl -X POST https://citeark.com/api/forks \
  -H "x-api-key: $CITEARK_API_KEY" \
  -H "content-type: application/json" \
  -d '{"sourceRepositoryId": "…", "owner": "your-name"}'

响应

成功返回 201:

{
  "repository": {
    "id": "…",
    "owner": "<所有者>",
    "slug": "<仓库名>",
    "forkedFrom": { "repositoryId": "…", "owner": "…", "slug": "…", "commitId": "…" }
  },
  "url": "/r/<所有者>/<仓库名>"
}

错误

错误统一形态为 {"error": "中文信息"}

状态码说明
400Fork 请求无效(参数校验失败);源仓库不存在同样返回 400
401未登录或凭证无效
403没有源仓库的读取权限
429触发限流

限流

20 次/小时/账号。超限返回 429,并携带 Retry-After 响应头。