OpenAPI 使用入门¶
AtomGit API 提供了强大的功能,允许开发者通过编程方式与 AtomGit 上的资源进行交互。本文档将向您介绍如何使用 AtomGit API,包括有效的 API 请求、认证方式、状态码、分页、路径参数等方面的内容。
面向 AI Agent 和自动化工具¶
如果您是 AI Agent 或自动化工具,建议按以下顺序获取信息,无需逐页解析 HTML:
- AtomGit API 索引与摘要(llms.txt):全部接口的名称、描述和文档链接索引。查找接口时先读取此文件。
- AtomGit API JSON 规范:完整的机器可读接口规范(OpenAPI 3.0.3)。生成调用参数或接入工具时读取此文件。
- AtomGit API 同一规范的 Markdown 版:完整的机器可读接口规范 Markdown 版。想喂给 Agent 就用这个地址。
API Host 与多域名支持¶
AtomGit API 支持多个访问域名,功能与接口完全一致,可按网络环境就近选择:
| Host | 说明 |
|---|---|
https://api.atomgit.com |
AtomGit 官方 API 域名 |
https://api.gitcode.com |
GitCode 域名,接口行为与 AtomGit 域名一致 |
两个 Host 下的接口路径、参数、认证方式和响应结构完全相同,无需修改任何代码即可切换。例如以下两个请求等价: 例如以下两个请求等价:
注意:本文档示例统一使用 https://api.atomgit.com,如你使用 GitCode 域名,只需替换 Host 部分。建议在代码中将 Host 配置为环境变量,便于切换与迁移。
有效的 API 请求¶
对 AtomGit API 发起请求必须包括 api 和 API 版本,当前可用的版本为 /api/v5。
以下是对 AtomGit API 发起请求的基本示例:
认证¶
大多数 AtomGit API 请求需要认证,或者在未提供认证时只返回公共数据。每个接口的文档都会指明是否需要认证。
你可以通过个人访问令牌使用 AtomGit API 进行认证。
如果认证信息无效或缺失,AtomGit 会返回带有 401 状态码的错误信息:
Authorization¶
你可以通过 Authorization 头中传递个人访问令牌来使用 API 进行认证。
请求头中的个人访问令牌的示例:
curl --location 'https://api.atomgit.com/api/v5/user' \
--header 'Authorization: Bearer {your-token}'
PRIVATE-TOKEN¶
你可以通过 PRIVATE-TOKEN 头中传递个人访问令牌来使用 API 进行认证。
请求头中的个人访问令牌的示例:
access_token¶
你可以通过 access_token query 传递个人访问令牌来使用 API 进行认证。
query 中的个人访问令牌的示例:
状态码¶
AtomGit API 旨在根据上下文和操作返回不同的状态码。这样,如果请求导致错误,你可以了解出了什么问题。
下表概述了 AtomGit API 功能的一般行为:
| 请求类型 | 描述 |
|---|---|
GET |
访问一个或多个资源并以 JSON 形式返回结果 |
POST |
如果资源成功创建,则返回 201 Created 并以 JSON 形式返回新创建的资源 |
GET / PUT |
如果资源被成功访问或修改,则返回 200 OK。返回的(修改后的)结果以 JSON 形式返回 |
DELETE |
如果资源成功删除,则返回 204 No Content;如果资源计划被删除,则返回 202 Accepted |
下表显示了 AtomGit API 请求可能的返回代码:
| 返回值 | 描述 |
|---|---|
200 OK |
GET、PUT 或 DELETE 请求成功,并且资源本身以 JSON 形式返回 |
201 Created |
POST 请求成功,并且资源以 JSON 形式返回 |
202 Accepted |
GET、PUT 或 DELETE 请求成功,并且资源计划进行处理 |
204 No Content |
服务器已成功满足请求,并且在响应负载体中没有额外的内容发送 |
301 Moved Permanently |
资源已被定位到由 Location 头给出的 URL |
304 Not Modified |
资源自上次请求以来未被修改 |
400 Bad Request |
API 请求的必需属性缺失。例如,未给出问题的标题 |
401 Unauthorized |
用户未经认证。需要有效的用户令牌 |
403 Forbidden |
请求不被允许。例如,用户不允许删除项目 |
404 Not Found |
无法访问资源。例如,无法找到资源的 ID,或者用户无权访问资源 |
405 Method Not Allowed |
不支持请求 |
409 Conflict |
冲突的资源已存在。例如,创建已存在名称的项目 |
412 Precondition Failed |
请求被拒绝。这可能发生在尝试删除在此期间被修改的资源时,如果提供了 If-Unmodified-Since 头 |
418 I'm a teapot |
请求被拒绝,请求疑似不安全 |
422 Unprocessable |
无法处理实体 |
429 Too Many Requests |
用户超过了应用程序速率限制,默认 400/分,4000/小时 |
500 Server Error |
处理请求时,服务器上出了问题 |
503 Service Unavailable |
服务器无法处理请求,因为服务器暂时过载 |
504 Time Out |
响应超时 |
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc