跳转至

OpenAPI 使用入门

AtomGit API 提供了强大的功能,允许开发者通过编程方式与 AtomGit 上的资源进行交互。本文档将向您介绍如何使用 AtomGit API,包括有效的 API 请求、认证方式、状态码、分页、路径参数等方面的内容。

面向 AI Agent 和自动化工具

如果您是 AI Agent 或自动化工具,建议按以下顺序获取信息,无需逐页解析 HTML:

API Host 与多域名支持

AtomGit API 支持多个访问域名,功能与接口完全一致,可按网络环境就近选择:

Host 说明
https://api.atomgit.com AtomGit 官方 API 域名
https://api.gitcode.com GitCode 域名,接口行为与 AtomGit 域名一致

两个 Host 下的接口路径、参数、认证方式和响应结构完全相同,无需修改任何代码即可切换。例如以下两个请求等价: 例如以下两个请求等价:

curl "https://api.atomgit.com/api/v5/users/{username}"
curl "https://api.gitcode.com/api/v5/users/{username}"

注意:本文档示例统一使用 https://api.atomgit.com,如你使用 GitCode 域名,只需替换 Host 部分。建议在代码中将 Host 配置为环境变量,便于切换与迁移。

有效的 API 请求

对 AtomGit API 发起请求必须包括 api 和 API 版本,当前可用的版本为 /api/v5。

以下是对 AtomGit API 发起请求的基本示例:

curl "https://api.atomgit.com/api/v5/users/{username}"

认证

大多数 AtomGit API 请求需要认证,或者在未提供认证时只返回公共数据。每个接口的文档都会指明是否需要认证。

你可以通过个人访问令牌使用 AtomGit API 进行认证。

如果认证信息无效或缺失,AtomGit 会返回带有 401 状态码的错误信息:

{
  "message": "401 Unauthorized"
}

Authorization

你可以通过 Authorization 头中传递个人访问令牌来使用 API 进行认证。

请求头中的个人访问令牌的示例:

curl --location 'https://api.atomgit.com/api/v5/user' \
--header 'Authorization: Bearer {your-token}'

PRIVATE-TOKEN

你可以通过 PRIVATE-TOKEN 头中传递个人访问令牌来使用 API 进行认证。

请求头中的个人访问令牌的示例:

curl --location 'https://api.atomgit.com/api/v5/user' \
--header 'PRIVATE-TOKEN: {your-token}'

access_token

你可以通过 access_token query 传递个人访问令牌来使用 API 进行认证。

query 中的个人访问令牌的示例:

curl  "https://api.atomgit.com/api/v5/users/{username}?access_token={your-token}"

状态码

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