---
title: "List all Copilot seat assignments for an enterprise"
method: GET
path: "/enterprises/{enterprise}/copilot/billing/seats"
tags: ["copilot"]
---

# List all Copilot seat assignments for an enterprise

`GET /enterprises/{enterprise}/copilot/billing/seats`

> [!NOTE]
> This endpoint is in public preview and is subject to change.

Lists all Copilot seats currently being billed for across organizations or enterprise teams for an enterprise with a Copilot Business or Copilot Enterprise subscription.

Users with access through multiple organizations or enterprise teams will only be counted toward `total_seats` once.

For each organization or enterprise team which grants Copilot access to a user, a seat detail object will appear in the `seats` array.
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 [Metrics data properties for GitHub Copilot](https://docs.github.com/enterprise-cloud@latest/copilot/reference/metrics-data).

Only enterprise owners and billing managers can view assigned Copilot seats across their child organizations or enterprise teams.

Personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint.

## Path parameters

- `enterprise` string, required

## Query parameters

- `page` integer
- `per_page` integer

## Response `200`

Response

- object
  - `total_seats` integer — The total number of Copilot seats the enterprise is being billed for. Users with access through multiple organizations or enterprise teams are only counted once.
  - `seats` CopilotSeatDetails[]
    - `assignee` NullableSimpleUser, nullable — A GitHub user.
      - `name` string, nullable
      - `email` string, nullable
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `avatar_url` string, uri, required
      - `gravatar_id` string, nullable, required
      - `url` string, uri, required
      - `html_url` string, uri, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `organizations_url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, required
      - `received_events_url` string, uri, required
      - `type` string, required
      - `site_admin` boolean, required
      - `starred_at` string
      - `user_view_type` string
    - `organization` NullableOrganizationSimple, nullable — A GitHub organization.
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, uri, required
      - `hooks_url` string, required
      - `issues_url` string, required
      - `members_url` string, required
      - `public_members_url` string, required
      - `avatar_url` string, required
      - `description` string, nullable, required
    - `assigning_team` union — The team through which the assignee is granted access to GitHub Copilot, if applicable.
      - Team — Groups of organization members that gives permissions on specified repositories.
        - `id` integer, required
        - `node_id` string, required
        - `name` string, required
        - `slug` string, required
        - `description` string, nullable, required
        - `privacy` string
        - `notification_setting` string
        - `permission` string, required
        - `permissions` object
          - `pull` boolean, required
          - `triage` boolean, required
          - `push` boolean, required
          - `maintain` boolean, required
          - `admin` boolean, required
        - `url` string, uri, required
        - `html_url` string, uri, required
        - `members_url` string, required
        - `repositories_url` string, uri, required
        - `type` 'enterprise' | 'organization', required — The ownership type of the team
        - `access_source` 'direct' | 'organization' | 'enterprise' — How the team's access to the repository was granted. This property is only present when the team is returned in a repository context, such as `GET /repos/{owner}/{repo}/teams`.
        - `organization_id` integer — Unique identifier of the organization to which this team belongs
        - `enterprise_id` integer — Unique identifier of the enterprise to which this team belongs
        - `parent` NullableTeamSimple, nullable, required — Groups of organization members that gives permissions on specified repositories.
          - `id` integer, required — Unique identifier of the team
          - `node_id` string, required
          - `url` string, uri, required — URL for the team
          - `members_url` string, required
          - `name` string, required — Name of the team
          - `description` string, nullable, required — Description of the team
          - `permission` string, required — Permission that the team will have for its repositories
          - `privacy` string — The level of privacy this team should have
          - `notification_setting` string — The notification setting the team has set
          - `html_url` string, uri, required
          - `repositories_url` string, uri, required
          - `slug` string, required
          - `ldap_dn` string — Distinguished Name (DN) that team maps to within LDAP environment
          - `type` 'enterprise' | 'organization', required — The ownership type of the team
          - `organization_id` integer — Unique identifier of the organization to which this team belongs
          - `enterprise_id` integer — Unique identifier of the enterprise to which this team belongs
      - EnterpriseTeam — Group of enterprise owners and/or members
        - `id` integer, required
        - `name` string, required
        - `description` string
        - `slug` string, required
        - `url` string, uri, required
        - `sync_to_organizations` string — Retired: this field will not be returned with GHEC enterprise teams.
        - `organization_selection_type` string
        - `group_id` string, nullable, required
        - `group_name` string, nullable — Retired: this field will not be returned with GHEC enterprise teams.
        - `html_url` string, uri, required
        - `members_url` string, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
        - `notification_setting` 'notifications_enabled' | 'notifications_disabled' — Whether team members will receive notifications when the team is mentioned.
    - `pending_cancellation_date` string, date, nullable — The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle.
    - `last_activity_at` string, date-time, nullable — Timestamp of user's last GitHub Copilot activity, in ISO 8601 format.
    - `last_activity_editor` string, nullable — Last editor that was used by the user for a GitHub Copilot completion.
    - `last_authenticated_at` string, date-time, nullable — Timestamp of the last time the user authenticated with GitHub Copilot, in ISO 8601 format.
    - `created_at` string, date-time, required — Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format.
    - `updated_at` string, date-time — **Closing down notice:** This field is no longer relevant and is closing down. Use the `created_at` field to determine when the assignee was last granted access to GitHub Copilot. Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format.
    - `plan_type` 'business' | 'enterprise' | 'unknown' — The Copilot plan of the organization, or the parent enterprise, when applicable.

## Other responses

- `401` — Requires authentication
- `403` — Forbidden
- `404` — Resource not found
- `500` — Internal Error

---

[API](https://skmtc.net/github/apis/github-v3-rest-api-3.md) · [All operations](https://skmtc.net/github/apis/github-v3-rest-api-3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/github/github-v3-rest-api-3/versions/dc0584ac4e13/schema)
