Pontos de extremidade da API REST para gerenciamento de usuários do Copilot
Use a API REST para gerenciar a assinatura do GitHub Copilot Business ou do GitHub Copilot Enterprise para sua organização.
Note
Esses pontos de extremidade estão em versão prévia pública e sujeitos a alterações.
Get Copilot seat information and settings for an organization
Note
This endpoint is in public preview and is subject to change.
Gets information about an organization's Copilot subscription, including seat breakdown and feature policies. To configure these settings, go to your organization's settings on GitHub.com. For more information, see "Managing policies for Copilot in your organization."
Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription.
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
or read:org
scopes to use this endpoint.
Tokens de acesso refinados para "Get Copilot seat information and settings for an organization"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter pelo menos um dos seguintes conjuntos de permissões:
- "GitHub Copilot Business" organization permissions (read)
- "Administration" organization permissions (read)
Parâmetros para "Get Copilot seat information and settings for an organization"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
org string ObrigatórioThe organization name. The name is not case sensitive. |
Códigos de status de resposta HTTP para "Get Copilot seat information and settings for an organization"
Código de status | Descrição |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | There is a problem with your account's associated payment method. |
500 | Internal Error |
Exemplos de código para "Get Copilot seat information and settings for an organization"
Exemplo de solicitação
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
Status: 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",
"ide_chat": "enabled",
"platform_chat": "enabled",
"cli": "enabled",
"public_code_suggestions": "block",
"plan_type": "business"
}
List all Copilot seat assignments for an organization
Note
This endpoint is in public preview and is subject to change.
Lists all Copilot seats for which an organization with a Copilot Business or Copilot Enterprise subscription is currently being billed. Only organization owners can view assigned seats.
Each seat object contains information about the assigned user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in last_activity_at
.
For more information about activity data, see "Reviewing user activity data for Copilot in your organization."
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
or read:org
scopes to use this endpoint.
Tokens de acesso refinados para "List all Copilot seat assignments for an organization"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter pelo menos um dos seguintes conjuntos de permissões:
- "GitHub Copilot Business" organization permissions (read)
- "Administration" organization permissions (read)
Parâmetros para "List all Copilot seat assignments for an organization"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
org string ObrigatórioThe organization name. The name is not case sensitive. |
Nome, Tipo, Descrição |
---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Padrão: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Padrão: |
Códigos de status de resposta HTTP para "List all Copilot seat assignments for an organization"
Código de status | Descrição |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
Exemplos de código para "List all Copilot seat assignments for an organization"
Exemplo de solicitação
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
Response
Status: 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",
"plan_type": "business",
"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
}
}
]
}
Add teams to the Copilot subscription for an organization
Note
This endpoint is in public preview and is subject to change.
Purchases a GitHub Copilot seat for all users within each specified team. The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "About billing for GitHub Copilot in your organization."
Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. For more information about setting up a Copilot subscription, see "Subscribing to Copilot for your organization." For more information about setting a suggestion matching policy, see "Managing policies for Copilot in your organization."
The response contains the total number of new seats that were created and existing seats that were refreshed.
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
or admin:org
scopes to use this endpoint.
Tokens de acesso refinados para "Add teams to the Copilot subscription for an organization"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter pelo menos um dos seguintes conjuntos de permissões:
- "GitHub Copilot Business" organization permissions (write)
- "Administration" organization permissions (write)
Parâmetros para "Add teams to the Copilot subscription for an organization"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
org string ObrigatórioThe organization name. The name is not case sensitive. |
Nome, Tipo, Descrição |
---|
selected_teams array of strings ObrigatórioList of team names within the organization to which to grant access to GitHub Copilot. |
Códigos de status de resposta HTTP para "Add teams to the Copilot subscription for an organization"
Código de status | Descrição |
---|---|
201 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. |
500 | Internal Error |
Exemplos de código para "Add teams to the Copilot subscription for an organization"
Exemplo de solicitação
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
Status: 201
{
"seats_created": 5
}
Remove teams from the Copilot subscription for an organization
Note
This endpoint is in public preview and is subject to change.
Sets seats for all members of each team specified to "pending cancellation". This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through another team. For more information about disabling access to Copilot, see "Revoking access to Copilot for members of your organization."
Only organization owners can cancel Copilot seats for their organization members.
The response contains the total number of seats set to "pending cancellation".
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
or admin:org
scopes to use this endpoint.
Tokens de acesso refinados para "Remove teams from the Copilot subscription for an organization"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter pelo menos um dos seguintes conjuntos de permissões:
- "GitHub Copilot Business" organization permissions (write)
- "Administration" organization permissions (write)
Parâmetros para "Remove teams from the Copilot subscription for an organization"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
org string ObrigatórioThe organization name. The name is not case sensitive. |
Nome, Tipo, Descrição |
---|
selected_teams array of strings ObrigatórioThe names of teams from which to revoke access to GitHub Copilot. |
Códigos de status de resposta HTTP para "Remove teams from the Copilot subscription for an organization"
Código de status | Descrição |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. |
500 | Internal Error |
Exemplos de código para "Remove teams from the Copilot subscription for an organization"
Exemplo de solicitação
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
Status: 200
{
"seats_cancelled": 5
}
Add users to the Copilot subscription for an organization
Note
This endpoint is in public preview and is subject to change.
Purchases a GitHub Copilot seat for each user specified. The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "About billing for GitHub Copilot in your organization."
Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. For more information about setting up a Copilot subscription, see "Subscribing to Copilot for your organization." For more information about setting a suggestion matching policy, see "Managing policies for Copilot in your organization."
The response contains the total number of new seats that were created and existing seats that were refreshed.
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
or admin:org
scopes to use this endpoint.
Tokens de acesso refinados para "Add users to the Copilot subscription for an organization"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter pelo menos um dos seguintes conjuntos de permissões:
- "GitHub Copilot Business" organization permissions (write)
- "Administration" organization permissions (write)
Parâmetros para "Add users to the Copilot subscription for an organization"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
org string ObrigatórioThe organization name. The name is not case sensitive. |
Nome, Tipo, Descrição |
---|
selected_usernames array of strings ObrigatórioThe usernames of the organization members to be granted access to GitHub Copilot. |
Códigos de status de resposta HTTP para "Add users to the Copilot subscription for an organization"
Código de status | Descrição |
---|---|
201 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. |
500 | Internal Error |
Exemplos de código para "Add users to the Copilot subscription for an organization"
Exemplo de solicitação
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
Status: 201
{
"seats_created": 5
}
Remove users from the Copilot subscription for an organization
Note
This endpoint is in public preview and is subject to change.
Sets seats for all users specified to "pending cancellation". This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through team membership. For more information about disabling access to Copilot, see "Revoking access to Copilot for members of your organization."
Only organization owners can cancel Copilot seats for their organization members.
The response contains the total number of seats set to "pending cancellation".
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
or admin:org
scopes to use this endpoint.
Tokens de acesso refinados para "Remove users from the Copilot subscription for an organization"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter pelo menos um dos seguintes conjuntos de permissões:
- "GitHub Copilot Business" organization permissions (write)
- "Administration" organization permissions (write)
Parâmetros para "Remove users from the Copilot subscription for an organization"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
org string ObrigatórioThe organization name. The name is not case sensitive. |
Nome, Tipo, Descrição |
---|
selected_usernames array of strings ObrigatórioThe usernames of the organization members for which to revoke access to GitHub Copilot. |
Códigos de status de resposta HTTP para "Remove users from the Copilot subscription for an organization"
Código de status | Descrição |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. |
500 | Internal Error |
Exemplos de código para "Remove users from the Copilot subscription for an organization"
Exemplo de solicitação
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
Status: 200
{
"seats_cancelled": 5
}
Get Copilot seat assignment details for a user
Note
This endpoint is in public preview and is subject to change.
Gets the GitHub Copilot seat details for a member of an organization who currently has access to GitHub Copilot.
The seat object contains information about the user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in last_activity_at
.
For more information about activity data, see "Reviewing user activity data for Copilot in your organization."
Only organization owners can view Copilot seat assignment details for members of their organization.
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
or read:org
scopes to use this endpoint.
Tokens de acesso refinados para "Get Copilot seat assignment details for a user"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter pelo menos um dos seguintes conjuntos de permissões:
- "GitHub Copilot Business" organization permissions (read)
- "Administration" organization permissions (read)
Parâmetros para "Get Copilot seat assignment details for a user"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
org string ObrigatórioThe organization name. The name is not case sensitive. |
username string ObrigatórioThe handle for the GitHub user account. |
Códigos de status de resposta HTTP para "Get Copilot seat assignment details for a user"
Código de status | Descrição |
---|---|
200 | The user's GitHub Copilot seat details, including usage. |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Copilot Business or Enterprise is not enabled for this organization or the user has a pending organization invitation. |
500 | Internal Error |
Exemplos de código para "Get Copilot seat assignment details for a user"
Exemplo de solicitação
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
The user's GitHub Copilot seat details, including usage.
Status: 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",
"plan_type": "business",
"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
}
}