Puntos de conexión de la API de REST para la administración de usuarios de Copilot
Utilice la API REST para administrar la suscripción a GitHub Copilot Business o GitHub Copilot Enterprise para su organización.
Nota: Estos puntos de conexión tienen la versión beta pública y están sujetos a cambios.
Get Copilot seat information and settings for an organization
Note: This endpoint is in beta and is subject to change.
Gets information about an organization's Copilot subscription, including seat breakdown and code matching 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 configure and view details about the organization's Copilot Business subscription.
OAuth app tokens and personal access tokens (classic) need the manage_billing:copilot
scope to use this endpoint.
Tokens de acceso específicos para "Get Copilot seat information and settings for an organization"
Este punto de conexión funciona con los siguientes tipos de token:
- Tokens de acceso de usuario de la aplicación de GitHub
- Token de acceso a la instalación de la aplicación de GitHub
- Tokens de acceso personal específico
El token debe tener el siguiente conjunto de permisos.:
organization_copilot_seat_management:write
Parámetros para "Get Copilot seat information and settings for an organization"
Nombre, Tipo, Descripción |
---|
accept string Setting to |
Nombre, Tipo, Descripción |
---|
org string RequeridoThe organization name. The name is not case sensitive. |
Códigos de estado de respuesta HTTP para "Get Copilot seat information and settings for an organization"
status code | Descripción |
---|---|
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 |
Ejemplos de código para "Get Copilot seat information and settings for an organization"
Ejemplo de solicitud
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",
"public_code_suggestions": "block"
}
List all Copilot seat assignments for an organization
Note: This endpoint is in beta and is subject to change.
Lists all Copilot seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle).
Only organization owners can configure and view details about the organization's Copilot Business or Enterprise subscription.
OAuth app tokens and personal access tokens (classic) need the manage_billing:copilot
scope to use this endpoint.
Tokens de acceso específicos para "List all Copilot seat assignments for an organization"
Este punto de conexión funciona con los siguientes tipos de token:
- Tokens de acceso de usuario de la aplicación de GitHub
- Token de acceso a la instalación de la aplicación de GitHub
- Tokens de acceso personal específico
El token debe tener el siguiente conjunto de permisos.:
organization_copilot_seat_management:write
Parámetros para "List all Copilot seat assignments for an organization"
Nombre, Tipo, Descripción |
---|
accept string Setting to |
Nombre, Tipo, Descripción |
---|
org string RequeridoThe organization name. The name is not case sensitive. |
Nombre, Tipo, Descripción |
---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Valor predeterminado: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Valor predeterminado: |
Códigos de estado de respuesta HTTP para "List all Copilot seat assignments for an organization"
status code | Descripción |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
Ejemplos de código para "List all Copilot seat assignments for an organization"
Ejemplo de solicitud
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",
"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 beta and is subject to change.
Purchases a GitHub Copilot seat for all users within each specified team. The organization will be billed accordingly. For more information about Copilot pricing, see "Pricing for GitHub Copilot".
Only organization owners can configure GitHub Copilot in their organization.
In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. For more information about setting up a Copilot subscription, see "Setting up a Copilot subscription for your organization". For more information about setting a suggestion matching policy, see "Configuring suggestion matching policies for GitHub Copilot in your organization".
OAuth app tokens and personal access tokens (classic) need the manage_billing:copilot
scope to use this endpoint.
Tokens de acceso específicos para "Add teams to the Copilot subscription for an organization"
Este punto de conexión funciona con los siguientes tipos de token:
- Tokens de acceso de usuario de la aplicación de GitHub
- Token de acceso a la instalación de la aplicación de GitHub
- Tokens de acceso personal específico
El token debe tener el siguiente conjunto de permisos.:
organization_copilot_seat_management:write
Parámetros para "Add teams to the Copilot subscription for an organization"
Nombre, Tipo, Descripción |
---|
accept string Setting to |
Nombre, Tipo, Descripción |
---|
org string RequeridoThe organization name. The name is not case sensitive. |
Nombre, Tipo, Descripción |
---|
selected_teams array of strings RequeridoList of team names within the organization to which to grant access to GitHub Copilot. |
Códigos de estado de respuesta HTTP para "Add teams to the Copilot subscription for an organization"
status code | Descripción |
---|---|
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 |
Ejemplos de código para "Add teams to the Copilot subscription for an organization"
Ejemplo de solicitud
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 beta and is subject to change.
Cancels the Copilot seat assignment for all members of each team specified. This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users.
For more information about Copilot pricing, see "Pricing for GitHub Copilot".
For more information about disabling access to Copilot Business or Enterprise, see "Revoking access to GitHub Copilot for specific users in your organization".
Only organization owners can configure GitHub Copilot in their organization.
OAuth app tokens and personal access tokens (classic) need the manage_billing:copilot
scope to use this endpoint.
Tokens de acceso específicos para "Remove teams from the Copilot subscription for an organization"
Este punto de conexión funciona con los siguientes tipos de token:
- Tokens de acceso de usuario de la aplicación de GitHub
- Token de acceso a la instalación de la aplicación de GitHub
- Tokens de acceso personal específico
El token debe tener el siguiente conjunto de permisos.:
organization_copilot_seat_management:write
Parámetros para "Remove teams from the Copilot subscription for an organization"
Nombre, Tipo, Descripción |
---|
accept string Setting to |
Nombre, Tipo, Descripción |
---|
org string RequeridoThe organization name. The name is not case sensitive. |
Nombre, Tipo, Descripción |
---|
selected_teams array of strings RequeridoThe names of teams from which to revoke access to GitHub Copilot. |
Códigos de estado de respuesta HTTP para "Remove teams from the Copilot subscription for an organization"
status code | Descripción |
---|---|
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 |
Ejemplos de código para "Remove teams from the Copilot subscription for an organization"
Ejemplo de solicitud
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 beta and is subject to change.
Purchases a GitHub Copilot seat for each user specified. The organization will be billed accordingly. For more information about Copilot pricing, see "Pricing for GitHub Copilot".
Only organization owners can configure GitHub Copilot in their organization.
In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. For more information about setting up a Copilot subscription, see "Setting up a Copilot subscription for your organization". For more information about setting a suggestion matching policy, see "Configuring suggestion matching policies for GitHub Copilot in your organization".
OAuth app tokens and personal access tokens (classic) need the manage_billing:copilot
scope to use this endpoint.
Tokens de acceso específicos para "Add users to the Copilot subscription for an organization"
Este punto de conexión funciona con los siguientes tipos de token:
- Tokens de acceso de usuario de la aplicación de GitHub
- Token de acceso a la instalación de la aplicación de GitHub
- Tokens de acceso personal específico
El token debe tener el siguiente conjunto de permisos.:
organization_copilot_seat_management:write
Parámetros para "Add users to the Copilot subscription for an organization"
Nombre, Tipo, Descripción |
---|
accept string Setting to |
Nombre, Tipo, Descripción |
---|
org string RequeridoThe organization name. The name is not case sensitive. |
Nombre, Tipo, Descripción |
---|
selected_usernames array of strings RequeridoThe usernames of the organization members to be granted access to GitHub Copilot. |
Códigos de estado de respuesta HTTP para "Add users to the Copilot subscription for an organization"
status code | Descripción |
---|---|
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 |
Ejemplos de código para "Add users to the Copilot subscription for an organization"
Ejemplo de solicitud
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 beta and is subject to change.
Cancels the Copilot seat assignment for each user specified. This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users.
For more information about Copilot pricing, see "Pricing for GitHub Copilot".
For more information about disabling access to Copilot Business or Enterprise, see "Revoking access to GitHub Copilot for specific users in your organization".
Only organization owners can configure GitHub Copilot in their organization.
OAuth app tokens and personal access tokens (classic) need the manage_billing:copilot
scope to use this endpoint.
Tokens de acceso específicos para "Remove users from the Copilot subscription for an organization"
Este punto de conexión funciona con los siguientes tipos de token:
- Tokens de acceso de usuario de la aplicación de GitHub
- Token de acceso a la instalación de la aplicación de GitHub
- Tokens de acceso personal específico
El token debe tener el siguiente conjunto de permisos.:
organization_copilot_seat_management:write
Parámetros para "Remove users from the Copilot subscription for an organization"
Nombre, Tipo, Descripción |
---|
accept string Setting to |
Nombre, Tipo, Descripción |
---|
org string RequeridoThe organization name. The name is not case sensitive. |
Nombre, Tipo, Descripción |
---|
selected_usernames array of strings RequeridoThe usernames of the organization members for which to revoke access to GitHub Copilot. |
Códigos de estado de respuesta HTTP para "Remove users from the Copilot subscription for an organization"
status code | Descripción |
---|---|
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 |
Ejemplos de código para "Remove users from the Copilot subscription for an organization"
Ejemplo de solicitud
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 beta and is subject to change.
Gets the GitHub Copilot seat assignment details for a member of an organization who currently has access to GitHub Copilot.
Organization owners can view GitHub Copilot seat assignment details for members in their organization.
OAuth app tokens and personal access tokens (classic) need the manage_billing:copilot
scope to use this endpoint.
Tokens de acceso específicos para "Get Copilot seat assignment details for a user"
Este punto de conexión funciona con los siguientes tipos de token:
- Tokens de acceso de usuario de la aplicación de GitHub
- Token de acceso a la instalación de la aplicación de GitHub
- Tokens de acceso personal específico
El token debe tener el siguiente conjunto de permisos.:
organization_copilot_seat_management:write
Parámetros para "Get Copilot seat assignment details for a user"
Nombre, Tipo, Descripción |
---|
accept string Setting to |
Nombre, Tipo, Descripción |
---|
org string RequeridoThe organization name. The name is not case sensitive. |
username string RequeridoThe handle for the GitHub user account. |
Códigos de estado de respuesta HTTP para "Get Copilot seat assignment details for a user"
status code | Descripción |
---|---|
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 |
Ejemplos de código para "Get Copilot seat assignment details for a user"
Ejemplo de solicitud
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",
"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
}
}