Skip to main content
L’API REST est maintenant versionnée. Pour plus d’informations, consultez « À propos des versions de l’API ».

Copilot user management

Use the REST API to manage the GitHub Copilot Business or GitHub Copilot Enterprise subscription for your organization.

Note: The GitHub Copilot Business API endpoints are in public beta and subject to change.

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.

Jetons d’accès affinés pour « Get Copilot seat information and settings for an organization »

Ce point de terminaison fonctionne avec les types de jetons suivants:

Le jeton doit avoir l’ensemble d’autorisations suivant:

  • organization_copilot_seat_management:write

Paramètres pour « Get Copilot seat information and settings for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Codes d’état de la réponse HTTP pour « Get Copilot seat information and settings for an organization »

Code d’étatDescription
200

OK

401

Requires authentication

403

Forbidden

404

Resource not found

500

Internal Error

Exemples de code pour « Get Copilot seat information and settings for an organization »

Exemple de requête

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

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.

Jetons d’accès affinés pour « List all Copilot seat assignments for an organization »

Ce point de terminaison fonctionne avec les types de jetons suivants:

Le jeton doit avoir l’ensemble d’autorisations suivant:

  • organization_copilot_seat_management:write

Paramètres pour « List all Copilot seat assignments for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Paramètres de requête
Nom, Type, Description
page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default: 1

per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default: 50

Codes d’état de la réponse HTTP pour « List all Copilot seat assignments for an organization »

Code d’étatDescription
200

OK

401

Requires authentication

403

Forbidden

404

Resource not found

500

Internal Error

Exemples de code pour « List all Copilot seat assignments for an organization »

Exemple de requête

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

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.

Jetons d’accès affinés pour « Add teams to the Copilot subscription for an organization »

Ce point de terminaison fonctionne avec les types de jetons suivants:

Le jeton doit avoir l’ensemble d’autorisations suivant:

  • organization_copilot_seat_management:write

Paramètres pour « Add teams to the Copilot subscription for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Paramètres du corps
Nom, Type, Description
selected_teams array of strings Obligatoire

List of team names within the organization to which to grant access to GitHub Copilot.

Codes d’état de la réponse HTTP pour « Add teams to the Copilot subscription for an organization »

Code d’étatDescription
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

Exemples de code pour « Add teams to the Copilot subscription for an organization »

Exemple de requête

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

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.

Jetons d’accès affinés pour « Remove teams from the Copilot subscription for an organization »

Ce point de terminaison fonctionne avec les types de jetons suivants:

Le jeton doit avoir l’ensemble d’autorisations suivant:

  • organization_copilot_seat_management:write

Paramètres pour « Remove teams from the Copilot subscription for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Paramètres du corps
Nom, Type, Description
selected_teams array of strings Obligatoire

The names of teams from which to revoke access to GitHub Copilot.

Codes d’état de la réponse HTTP pour « Remove teams from the Copilot subscription for an organization »

Code d’étatDescription
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

Exemples de code pour « Remove teams from the Copilot subscription for an organization »

Exemple de requête

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

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.

Jetons d’accès affinés pour « Add users to the Copilot subscription for an organization »

Ce point de terminaison fonctionne avec les types de jetons suivants:

Le jeton doit avoir l’ensemble d’autorisations suivant:

  • organization_copilot_seat_management:write

Paramètres pour « Add users to the Copilot subscription for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Paramètres du corps
Nom, Type, Description
selected_usernames array of strings Obligatoire

The usernames of the organization members to be granted access to GitHub Copilot.

Codes d’état de la réponse HTTP pour « Add users to the Copilot subscription for an organization »

Code d’étatDescription
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

Exemples de code pour « Add users to the Copilot subscription for an organization »

Exemple de requête

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

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.

Jetons d’accès affinés pour « Remove users from the Copilot subscription for an organization »

Ce point de terminaison fonctionne avec les types de jetons suivants:

Le jeton doit avoir l’ensemble d’autorisations suivant:

  • organization_copilot_seat_management:write

Paramètres pour « Remove users from the Copilot subscription for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Paramètres du corps
Nom, Type, Description
selected_usernames array of strings Obligatoire

The usernames of the organization members for which to revoke access to GitHub Copilot.

Codes d’état de la réponse HTTP pour « Remove users from the Copilot subscription for an organization »

Code d’étatDescription
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

Exemples de code pour « Remove users from the Copilot subscription for an organization »

Exemple de requête

delete/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

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.

Jetons d’accès affinés pour « Get Copilot seat assignment details for a user »

Ce point de terminaison fonctionne avec les types de jetons suivants:

Le jeton doit avoir l’ensemble d’autorisations suivant:

  • organization_copilot_seat_management:write

Paramètres pour « Get Copilot seat assignment details for a user »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

username string Obligatoire

The handle for the GitHub user account.

Codes d’état de la réponse HTTP pour « Get Copilot seat assignment details for a user »

Code d’étatDescription
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

Exemples de code pour « Get Copilot seat assignment details for a user »

Exemple de requête

get/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

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 } }