跳至主要内容
REST API 现在已版本化。 有关更多信息,请参阅“关于 API 版本控制”。

GitHub Marketplace 的 REST API 端点

使用 REST API 与 GitHub Marketplace 交互

关于 GitHub Marketplace

有关 GitHub Marketplace 的更多信息,请参阅“GitHub Marketplace”。

这些端点允许您查看哪些客户正在使用定价计划、查看客户的购买情况以及查看帐户是否具有有效订阅。

使用存根端点进行测试

您可以使用存根数据测试您的 GitHub 应用。存根数据是硬编码的假数据,不会根据实际订阅而更改。

要使用存根数据进行测试,请使用存根端点代替其生产对应端点。这允许您在将 GitHub 应用列在 GitHub Marketplace 上之前测试 API 逻辑是否成功。

在部署 GitHub 应用之前,请务必将存根端点替换为生产端点。

获取帐户的订阅计划

显示用户或组织帐户是否主动订阅经过身份验证的 GitHub 应用列出的计划。当有人提交计划更改时,该更改在他们的计费周期结束之前不会被处理,您还将看到即将进行的待处理更改。

GitHub 应用必须使用 JWT 才能访问此端点。OAuth 应用必须使用 基本身份验证,并提供其客户端 ID 和客户端密钥才能访问此端点。

“获取帐户的订阅计划”的细粒度访问令牌

此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。

“获取帐户的订阅计划”的参数

标头
名称、类型、说明
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、说明
account_id 整数 必需

account_id 参数

“获取帐户的订阅计划”的 HTTP 响应状态代码

状态代码说明
200

OK

401

需要身份验证

404

当帐户未购买清单时,找不到

“获取帐户的订阅计划”的代码示例

请求示例

get/marketplace_listing/accounts/{account_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/marketplace_listing/accounts/ACCOUNT_ID

响应

状态:200
{ "url": "https://api.github.com/orgs/github", "type": "Organization", "id": 4, "login": "github", "organization_billing_email": "[email protected]", "email": "[email protected]", "marketplace_pending_change": { "effective_date": "2017-11-11T00:00:00Z", "unit_count": null, "id": 77, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1111", "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", "id": 1111, "number": 2, "name": "Startup", "description": "A professional-grade CI solution", "monthly_price_in_cents": 699, "yearly_price_in_cents": 7870, "price_model": "FLAT_RATE", "has_free_trial": true, "state": "published", "unit_name": null, "bullets": [ "Up to 10 private repositories", "3 concurrent builds" ] } }, "marketplace_purchase": { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "A professional-grade CI solution", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "Up to 25 private repositories", "11 concurrent builds" ] } } }

列出计划

列出所有作为 GitHub Marketplace 列表一部分的计划。

GitHub 应用必须使用 JWT 才能访问此端点。OAuth 应用必须使用 基本身份验证,并提供其客户端 ID 和客户端密钥才能访问此端点。

“列出计划”的细粒度访问令牌

此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。

“列出计划”的参数

标头
名称、类型、说明
accept 字符串

建议设置为 application/vnd.github+json

查询参数
名称、类型、说明
per_page 整数

每页的结果数(最大 100)。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 30

page 整数

要获取的结果的页码。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出计划”的 HTTP 响应状态代码

状态代码说明
200

OK

401

需要身份验证

404

资源未找到

“列出计划”的代码示例

请求示例

get/marketplace_listing/plans
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/marketplace_listing/plans

响应

状态:200
[ { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "A professional-grade CI solution", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "Up to 25 private repositories", "11 concurrent builds" ] } ]

列出计划的帐户

返回与指定计划(包括免费计划)关联的用户和组织帐户。对于按座位定价,您会看到已购买该计划的帐户列表,包括购买的座位数。当有人提交计划变更,但该变更直到其计费周期结束时才会处理时,您还将看到即将进行的待处理变更。

GitHub 应用必须使用 JWT 才能访问此端点。OAuth 应用必须使用 基本身份验证,并提供其客户端 ID 和客户端密钥才能访问此端点。

“列出计划的帐户”的细粒度访问令牌

此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。

“列出计划的帐户”的参数

标头
名称、类型、说明
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、说明
plan_id 整数 必需

计划的唯一标识符。

查询参数
名称、类型、说明
sort 字符串

按其对结果进行排序的属性。

默认: created

可以是: created, updated

direction 字符串

若要先返回最旧的帐户,请设置为 asc。在没有 sort 参数的情况下忽略。

可以是: asc, desc

per_page 整数

每页的结果数(最大 100)。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 30

page 整数

要获取的结果的页码。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出计划的帐户”的 HTTP 响应状态代码

状态代码说明
200

OK

401

需要身份验证

404

资源未找到

422

验证失败,或端点已被标记为垃圾邮件。

“列出计划的帐户”的代码示例

请求示例

get/marketplace_listing/plans/{plan_id}/accounts
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/marketplace_listing/plans/PLAN_ID/accounts

响应

状态:200
[ { "url": "https://api.github.com/orgs/github", "type": "Organization", "id": 4, "login": "github", "organization_billing_email": "[email protected]", "marketplace_pending_change": { "effective_date": "2017-11-11T00:00:00Z", "unit_count": null, "id": 77, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1111", "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", "id": 1111, "number": 2, "name": "Startup", "description": "A professional-grade CI solution", "monthly_price_in_cents": 699, "yearly_price_in_cents": 7870, "price_model": "FLAT_RATE", "has_free_trial": true, "state": "published", "unit_name": null, "bullets": [ "Up to 10 private repositories", "3 concurrent builds" ] } }, "marketplace_purchase": { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "A professional-grade CI solution", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "Up to 25 private repositories", "11 concurrent builds" ] } } } ]

获取帐户的订阅计划(存根)

显示用户或组织帐户是否主动订阅经过身份验证的 GitHub 应用列出的计划。当有人提交计划更改时,该更改在他们的计费周期结束之前不会被处理,您还将看到即将进行的待处理更改。

GitHub 应用必须使用 JWT 才能访问此端点。OAuth 应用必须使用 基本身份验证,并提供其客户端 ID 和客户端密钥才能访问此端点。

“获取帐户的订阅计划(存根)”的细粒度访问令牌

此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。

“获取帐户的订阅计划(存根)”的参数

标头
名称、类型、说明
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、说明
account_id 整数 必需

account_id 参数

“获取帐户的订阅计划(存根)”的 HTTP 响应状态代码

状态代码说明
200

OK

401

需要身份验证

404

当帐户未购买清单时,找不到

“获取帐户的订阅计划(存根)”的代码示例

请求示例

get/marketplace_listing/stubbed/accounts/{account_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/marketplace_listing/stubbed/accounts/ACCOUNT_ID

响应

状态:200
{ "url": "https://api.github.com/orgs/github", "type": "Organization", "id": 4, "login": "github", "organization_billing_email": "[email protected]", "email": "[email protected]", "marketplace_pending_change": { "effective_date": "2017-11-11T00:00:00Z", "unit_count": null, "id": 77, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1111", "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", "id": 1111, "number": 2, "name": "Startup", "description": "A professional-grade CI solution", "monthly_price_in_cents": 699, "yearly_price_in_cents": 7870, "price_model": "FLAT_RATE", "has_free_trial": true, "state": "published", "unit_name": null, "bullets": [ "Up to 10 private repositories", "3 concurrent builds" ] } }, "marketplace_purchase": { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "A professional-grade CI solution", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "Up to 25 private repositories", "11 concurrent builds" ] } } }

列出计划(存根)

列出所有作为 GitHub Marketplace 列表一部分的计划。

GitHub 应用必须使用 JWT 才能访问此端点。OAuth 应用必须使用 基本身份验证,并提供其客户端 ID 和客户端密钥才能访问此端点。

“列出计划(存根)”的细粒度访问令牌

此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。

“列出计划(存根)”的参数

标头
名称、类型、说明
accept 字符串

建议设置为 application/vnd.github+json

查询参数
名称、类型、说明
per_page 整数

每页的结果数(最大 100)。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 30

page 整数

要获取的结果的页码。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出计划(存根)”的 HTTP 响应状态代码

状态代码说明
200

OK

401

需要身份验证

“列出计划(存根)”的代码示例

请求示例

get/marketplace_listing/stubbed/plans
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/marketplace_listing/stubbed/plans

响应

状态:200
[ { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "A professional-grade CI solution", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "Up to 25 private repositories", "11 concurrent builds" ] } ]

列出计划的帐户(存根)

返回与指定计划关联的存储库和组织帐户,包括免费计划。对于按座位定价,您会看到已购买该计划的帐户列表,包括已购买的座位数。当有人提交计划变更,但该变更直到其计费周期结束才会处理时,您还将看到即将进行的待处理变更。

GitHub 应用必须使用 JWT 才能访问此端点。OAuth 应用必须使用 基本身份验证,并提供其客户端 ID 和客户端密钥才能访问此端点。

“列出计划的帐户(存根)”的细粒度访问令牌

此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。

“列出计划的帐户(存根)”的参数

标头
名称、类型、说明
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、说明
plan_id 整数 必需

计划的唯一标识符。

查询参数
名称、类型、说明
sort 字符串

按其对结果进行排序的属性。

默认: created

可以是: created, updated

direction 字符串

若要先返回最旧的帐户,请设置为 asc。在没有 sort 参数的情况下忽略。

可以是: asc, desc

per_page 整数

每页的结果数(最大 100)。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 30

page 整数

要获取的结果的页码。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出计划的帐户(存根)”的 HTTP 响应状态代码

状态代码说明
200

OK

401

需要身份验证

“列出计划的帐户(存根)”的代码示例

请求示例

get/marketplace_listing/stubbed/plans/{plan_id}/accounts
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/marketplace_listing/stubbed/plans/PLAN_ID/accounts

响应

状态:200
[ { "url": "https://api.github.com/orgs/github", "type": "Organization", "id": 4, "login": "github", "organization_billing_email": "[email protected]", "marketplace_pending_change": { "effective_date": "2017-11-11T00:00:00Z", "unit_count": null, "id": 77, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1111", "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", "id": 1111, "number": 2, "name": "Startup", "description": "A professional-grade CI solution", "monthly_price_in_cents": 699, "yearly_price_in_cents": 7870, "price_model": "FLAT_RATE", "has_free_trial": true, "state": "published", "unit_name": null, "bullets": [ "Up to 10 private repositories", "3 concurrent builds" ] } }, "marketplace_purchase": { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "A professional-grade CI solution", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "Up to 25 private repositories", "11 concurrent builds" ] } } } ]

列出经过身份验证用户的订阅

列出经过身份验证用户的活动订阅。

“列出经过身份验证用户的订阅”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌不需要任何权限。

“列出经过身份验证用户的订阅”的参数

标头
名称、类型、说明
accept 字符串

建议设置为 application/vnd.github+json

查询参数
名称、类型、说明
per_page 整数

每页的结果数(最大 100)。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 30

page 整数

要获取的结果的页码。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出经过身份验证用户的订阅”的 HTTP 响应状态代码

状态代码说明
200

OK

304

未修改

401

需要身份验证

404

资源未找到

“列出经过身份验证用户的订阅”的代码示例

请求示例

get/user/marketplace_purchases
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/marketplace_purchases

响应

状态:200
[ { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "account": { "login": "github", "id": 4, "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", "url": "https://api.github.com/orgs/github", "email": null, "organization_billing_email": "[email protected]", "type": "Organization" }, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "A professional-grade CI solution", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "Up to 25 private repositories", "11 concurrent builds" ] } } ]

列出经过身份验证的用户的订阅(存根)

列出经过身份验证用户的活动订阅。

“列出经过身份验证的用户的订阅(存根)”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌不需要任何权限。

“列出经过身份验证的用户的订阅(存根)”的参数

标头
名称、类型、说明
accept 字符串

建议设置为 application/vnd.github+json

查询参数
名称、类型、说明
per_page 整数

每页的结果数(最大 100)。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 30

page 整数

要获取的结果的页码。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出经过身份验证的用户的订阅(存根)”的 HTTP 响应状态代码

状态代码说明
200

OK

304

未修改

401

需要身份验证

“列出经过身份验证的用户的订阅(存根)”的代码示例

请求示例

get/user/marketplace_purchases/stubbed
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/marketplace_purchases/stubbed

响应

状态:200
[ { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "account": { "login": "github", "id": 4, "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", "url": "https://api.github.com/orgs/github", "email": null, "organization_billing_email": "[email protected]", "type": "Organization" }, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "A professional-grade CI solution", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "Up to 25 private repositories", "11 concurrent builds" ] } } ]