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

用于 Copilot 用户管理的 REST API 端点

使用 REST API 管理组织的 GitHub Copilot Business 或 GitHub Copilot Enterprise 订阅。

注意:这些端点处于公开测试阶段,可能会发生变化。

获取组织的 Copilot 座位信息和设置

注意:此端点处于测试阶段,可能会发生变化。

获取有关组织的 Copilot 订阅的信息,包括座位细分和功能策略。要配置这些设置,请转到 GitHub.com 上的组织设置。有关更多信息,请参阅“在组织中管理 Copilot 的策略”。

只有组织所有者可以查看有关组织的 Copilot Business 或 Copilot Enterprise 订阅的详细信息。

OAuth 应用程序令牌和个人访问令牌(经典)需要 manage_billing:copilotread:org 范围才能使用此端点。

用于“获取组织的 Copilot 座位信息和设置”的细粒度访问令牌

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

细粒度令牌必须具有以下权限集

  • "GitHub Copilot Business" 组织权限(读取)"管理" 组织权限(读取)

获取组织的 Copilot 座位信息和设置

请求头
名称,类型,描述
accept string

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

路径参数
名称,类型,描述
org string 必填

组织名称。名称不区分大小写。

获取组织的 Copilot 座位信息和设置的 HTTP 响应状态码

状态码描述
200

OK

401

需要身份验证

403

禁止

404

资源未找到

422

您的帐户关联的付款方式存在问题。

500

内部错误

获取组织的 Copilot 座位信息和设置的代码示例

请求示例

get/orgs/{org}/copilot/billing
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/orgs/ORG/copilot/billing

OK

状态:200
{ "seat_breakdown": { "total": 12, "added_this_cycle": 9, "pending_invitation": 0, "pending_cancellation": 0, "active_this_cycle": 12, "inactive_this_cycle": 11 }, "seat_management_setting": "assign_selected", "public_code_suggestions": "block" }

列出组织的所有 Copilot 座位分配

注意:此端点处于测试阶段,可能会发生变化。

列出具有 Copilot Business 或 Copilot Enterprise 订阅的组织的所有活动 Copilot 座位。只有组织所有者可以查看分配的座位。

OAuth 应用程序令牌和个人访问令牌(经典)需要 manage_billing:copilotread:org 范围才能使用此端点。

列出组织的所有 Copilot 座位分配的细粒度访问令牌

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

细粒度令牌必须具有以下权限集

  • "GitHub Copilot Business" 组织权限(读取)"管理" 组织权限(读取)

列出组织的所有 Copilot 座位分配的参数

请求头
名称,类型,描述
accept string

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

路径参数
名称,类型,描述
org string 必填

组织名称。名称不区分大小写。

查询参数
名称,类型,描述
page 整数

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

默认: 1

per_page 整数

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

默认: 50

“列出组织的所有 Copilot 座位分配”的 HTTP 响应状态代码

状态码描述
200

OK

401

需要身份验证

403

禁止

404

资源未找到

500

内部错误

“列出组织的所有 Copilot 座位分配”的代码示例

请求示例

get/orgs/{org}/copilot/billing/seats
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/orgs/ORG/copilot/billing/seats

响应

状态:200
{ "total_seats": 2, "seats": [ { "created_at": "2021-08-03T18:00:00-06:00", "updated_at": "2021-09-23T15:00:00-06:00", "pending_cancellation_date": null, "last_activity_at": "2021-10-14T00:53:32-06:00", "last_activity_editor": "vscode/1.77.3/copilot/1.86.82", "assignee": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false }, "assigning_team": { "id": 1, "node_id": "MDQ6VGVhbTE=", "url": "https://api.github.com/teams/1", "html_url": "https://github.com/orgs/github/teams/justice-league", "name": "Justice League", "slug": "justice-league", "description": "A great team.", "privacy": "closed", "notification_setting": "notifications_enabled", "permission": "admin", "members_url": "https://api.github.com/teams/1/members{/member}", "repositories_url": "https://api.github.com/teams/1/repos", "parent": null } }, { "created_at": "2021-09-23T18:00:00-06:00", "updated_at": "2021-09-23T15:00:00-06:00", "pending_cancellation_date": "2021-11-01", "last_activity_at": "2021-10-13T00:53:32-06:00", "last_activity_editor": "vscode/1.77.3/copilot/1.86.82", "assignee": { "login": "octokitten", "id": 1, "node_id": "MDQ76VNlcjE=", "avatar_url": "https://github.com/images/error/octokitten_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octokitten", "html_url": "https://github.com/octokitten", "followers_url": "https://api.github.com/users/octokitten/followers", "following_url": "https://api.github.com/users/octokitten/following{/other_user}", "gists_url": "https://api.github.com/users/octokitten/gists{/gist_id}", "starred_url": "https://api.github.com/users/octokitten/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octokitten/subscriptions", "organizations_url": "https://api.github.com/users/octokitten/orgs", "repos_url": "https://api.github.com/users/octokitten/repos", "events_url": "https://api.github.com/users/octokitten/events{/privacy}", "received_events_url": "https://api.github.com/users/octokitten/received_events", "type": "User", "site_admin": false } } ] }

将团队添加到组织的 Copilot 订阅

注意:此端点处于测试阶段,可能会发生变化。

为每个指定团队中的所有用户购买 GitHub Copilot 座位。组织将相应地付费。有关 Copilot 定价的更多信息,请参阅“GitHub Copilot 定价”。

只有组织所有者可以为其组织成员添加 Copilot 座位。

为了让管理员使用此端点,组织必须拥有 Copilot Business 或 Enterprise 订阅以及配置的建议匹配策略。有关设置 Copilot 订阅的更多信息,请参阅“为您的组织设置 Copilot 订阅”。有关设置建议匹配策略的更多信息,请参阅“为组织中的 GitHub Copilot 配置建议匹配策略”。

OAuth 应用程序令牌和个人访问令牌(经典)需要 manage_billing:copilotadmin:org 范围才能使用此端点。

“将团队添加到组织的 Copilot 订阅”的细粒度访问令牌

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

细粒度令牌必须具有以下权限集

  • "GitHub Copilot Business" 组织权限(写入)"管理" 组织权限(写入)

“将团队添加到组织的 Copilot 订阅”的参数

请求头
名称,类型,描述
accept string

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

路径参数
名称,类型,描述
org string 必填

组织名称。名称不区分大小写。

主体参数
名称,类型,描述
selected_teams 字符串数组 必需

组织内要授予 GitHub Copilot 访问权限的团队名称列表。

“将团队添加到组织的 Copilot 订阅”的 HTTP 响应状态代码

状态码描述
201

OK

401

需要身份验证

403

禁止

404

资源未找到

422

此组织尚未启用 Copilot Business 或 Enterprise,尚未为此组织设置账单,尚未为此组织设置公共代码建议策略,或者组织的 Copilot 访问设置设置为为所有用户启用 Copilot 或未配置。

500

内部错误

“将团队添加到组织的 Copilot 订阅”的代码示例

请求示例

post/orgs/{org}/copilot/billing/selected_teams
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/copilot/billing/selected_teams \ -d '{"selected_teams":["engteam1","engteam2","engteam3"]}'

OK

状态:201
{ "seats_created": 5 }

从组织的 Copilot 订阅中删除团队

注意:此端点处于测试阶段,可能会发生变化。

取消对每个指定团队的所有成员的 Copilot 座位分配。这将导致指定团队的成员在当前账单周期结束时失去对 GitHub Copilot 的访问权限,并且组织将不再为这些用户付费。

有关 Copilot 定价的更多信息,请参阅“GitHub Copilot 定价”。

有关禁用对 Copilot Business 或 Enterprise 的访问权限的更多信息,请参阅“撤销组织中特定用户对 GitHub Copilot 的访问权限”。

只有组织所有者可以取消其组织成员的 Copilot 座位。

OAuth 应用程序令牌和个人访问令牌(经典)需要 manage_billing:copilotadmin:org 范围才能使用此端点。

“从组织的 Copilot 订阅中删除团队”的细粒度访问令牌

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

细粒度令牌必须具有以下权限集

  • "GitHub Copilot Business" 组织权限(写入)"管理" 组织权限(写入)

“从组织的 Copilot 订阅中删除团队”的参数

请求头
名称,类型,描述
accept string

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

路径参数
名称,类型,描述
org string 必填

组织名称。名称不区分大小写。

主体参数
名称,类型,描述
selected_teams 字符串数组 必需

要撤销对 GitHub Copilot 的访问权限的团队的名称。

“从组织的 Copilot 订阅中删除团队”的 HTTP 响应状态代码

状态码描述
200

OK

401

需要身份验证

403

禁止

404

资源未找到

422

此组织尚未启用 Copilot Business 或 Enterprise,尚未为此组织设置账单,尚未为此组织设置公共代码建议策略,或者组织的 Copilot 访问设置设置为为所有用户启用 Copilot 或未配置。

500

内部错误

“从组织的 Copilot 订阅中删除团队”的代码示例

请求示例

delete/orgs/{org}/copilot/billing/selected_teams
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/copilot/billing/selected_teams \ -d '{"selected_teams":["engteam1","engteam2","engteam3"]}'

OK

状态:200
{ "seats_cancelled": 5 }

将用户添加到组织的 Copilot 订阅中

注意:此端点处于测试阶段,可能会发生变化。

为每个指定的用户购买 GitHub Copilot 许可证。组织将相应地进行计费。有关 Copilot 定价的更多信息,请参阅“GitHub Copilot 定价”。

只有组织所有者可以为其组织成员添加 Copilot 座位。

为了让管理员使用此端点,组织必须拥有 Copilot Business 或 Enterprise 订阅以及配置的建议匹配策略。有关设置 Copilot 订阅的更多信息,请参阅“为您的组织设置 Copilot 订阅”。有关设置建议匹配策略的更多信息,请参阅“为组织中的 GitHub Copilot 配置建议匹配策略”。

OAuth 应用程序令牌和个人访问令牌(经典)需要 manage_billing:copilotadmin:org 范围才能使用此端点。

“将用户添加到组织的 Copilot 订阅中”的细粒度访问令牌

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

细粒度令牌必须具有以下权限集

  • "GitHub Copilot Business" 组织权限(写入)"管理" 组织权限(写入)

“将用户添加到组织的 Copilot 订阅中”的参数

请求头
名称,类型,描述
accept string

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

路径参数
名称,类型,描述
org string 必填

组织名称。名称不区分大小写。

主体参数
名称,类型,描述
selected_usernames 字符串数组 必需

要授予 GitHub Copilot 访问权限的组织成员的用户名。

“将用户添加到组织的 Copilot 订阅中”的 HTTP 响应状态代码

状态码描述
201

OK

401

需要身份验证

403

禁止

404

资源未找到

422

此组织尚未启用 Copilot Business 或 Enterprise,尚未为此组织设置账单,尚未为此组织设置公共代码建议策略,或者组织的 Copilot 访问设置设置为为所有用户启用 Copilot 或未配置。

500

内部错误

“将用户添加到组织的 Copilot 订阅中”的代码示例

请求示例

post/orgs/{org}/copilot/billing/selected_users
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/copilot/billing/selected_users \ -d '{"selected_usernames":["cooluser1","hacker2","octocat"]}'

OK

状态:201
{ "seats_created": 5 }

从组织的 Copilot 订阅中删除用户

注意:此端点处于测试阶段,可能会发生变化。

取消为每个指定的用户分配的 Copilot 许可证。这将导致指定的用户在当前计费周期结束时失去对 GitHub Copilot 的访问权限,并且组织将不再为这些用户计费。

有关 Copilot 定价的更多信息,请参阅“GitHub Copilot 定价”。

有关禁用对 Copilot Business 或 Enterprise 的访问权限的更多信息,请参阅“撤销组织中特定用户对 GitHub Copilot 的访问权限”。

只有组织所有者可以取消其组织成员的 Copilot 座位。

OAuth 应用程序令牌和个人访问令牌(经典)需要 manage_billing:copilotadmin:org 范围才能使用此端点。

“从组织的 Copilot 订阅中删除用户”的细粒度访问令牌

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

细粒度令牌必须具有以下权限集

  • "GitHub Copilot Business" 组织权限(写入)"管理" 组织权限(写入)

“从组织的 Copilot 订阅中删除用户”的参数

请求头
名称,类型,描述
accept string

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

路径参数
名称,类型,描述
org string 必填

组织名称。名称不区分大小写。

主体参数
名称,类型,描述
selected_usernames 字符串数组 必需

要撤销 GitHub Copilot 访问权限的组织成员的用户名。

“从组织的 Copilot 订阅中删除用户”的 HTTP 响应状态代码

状态码描述
200

OK

401

需要身份验证

403

禁止

404

资源未找到

422

此组织未启用 Copilot Business 或 Enterprise,尚未为此组织设置计费,尚未为此组织设置公共代码建议策略,座位管理设置设置为为所有用户启用 Copilot 或未配置,或者无法取消用户的座位,因为它是通过团队分配给他们的。

500

内部错误

“从组织的 Copilot 订阅中移除用户”的代码示例

请求示例

删除/orgs/{org}/copilot/billing/selected_users
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/copilot/billing/selected_users \ -d '{"selected_usernames":["cooluser1","hacker2","octocat"]}'

OK

状态:200
{ "seats_cancelled": 5 }

获取用户的 Copilot 座位分配详细信息

注意:此端点处于测试阶段,可能会发生变化。

获取当前拥有 GitHub Copilot 访问权限的组织成员的 GitHub Copilot 座位分配详细信息。

只有组织所有者可以查看其组织成员的 Copilot 座位分配详细信息。

OAuth 应用程序令牌和个人访问令牌(经典)需要 manage_billing:copilotread:org 范围才能使用此端点。

“获取用户的 Copilot 座位分配详细信息”的细粒度访问令牌

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

细粒度令牌必须具有以下权限集

  • "GitHub Copilot Business" 组织权限(读取)"管理" 组织权限(读取)

“获取用户的 Copilot 座位分配详细信息”的参数

请求头
名称,类型,描述
accept string

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

路径参数
名称,类型,描述
org string 必填

组织名称。名称不区分大小写。

username 字符串 必需

GitHub 用户帐户的句柄。

“获取用户的 Copilot 座位分配详细信息”的 HTTP 响应状态代码

状态码描述
200

用户的 GitHub Copilot 座位详细信息,包括使用情况。

401

需要身份验证

403

禁止

404

资源未找到

422

此组织未启用 Copilot Business 或 Enterprise,或者用户有待处理的组织邀请。

500

内部错误

“获取用户的 Copilot 座位分配详细信息”的代码示例

请求示例

获取/orgs/{org}/members/{username}/copilot
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/orgs/ORG/members/USERNAME/copilot

用户的 GitHub Copilot 座位详细信息,包括使用情况。

状态:200
{ "created_at": "2021-08-03T18:00:00-06:00", "updated_at": "2021-09-23T15:00:00-06:00", "pending_cancellation_date": null, "last_activity_at": "2021-10-14T00:53:32-06:00", "last_activity_editor": "vscode/1.77.3/copilot/1.86.82", "assignee": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false }, "assigning_team": { "id": 1, "node_id": "MDQ6VGVhbTE=", "url": "https://api.github.com/teams/1", "html_url": "https://github.com/orgs/github/teams/justice-league", "name": "Justice League", "slug": "justice-league", "description": "A great team.", "privacy": "closed", "notification_setting": "notifications_enabled", "permission": "admin", "members_url": "https://api.github.com/teams/1/members{/member}", "repositories_url": "https://api.github.com/teams/1/repos", "parent": null } }