github-copilot

GitHub Copilot API for AI coding assistance. Use when user mentions "Copilot", "GitHub Copilot", "AI coding", or asks about Copilot features.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "github-copilot" with this command: npx skills add vm0-ai/vm0-skills/vm0-ai-vm0-skills-github-copilot

GitHub Copilot API

Use the GitHub Copilot REST API via direct curl calls to manage Copilot subscriptions and retrieve usage metrics for your organization.

Official docs: https://docs.github.com/en/rest/copilot

Note: This API is for managing Copilot subscriptions and viewing metrics, not for code generation.


When to Use

Use this skill when you need to:

  • Manage Copilot seat assignments (add/remove users and teams)
  • View Copilot billing information for an organization
  • Retrieve usage metrics (active users, code completions, chat usage)
  • Monitor Copilot adoption across teams
  • Audit Copilot usage for compliance

Prerequisites

  1. You need a GitHub organization with Copilot Business or Enterprise
  2. Generate a Personal Access Token (PAT) or use a GitHub App
  3. Required permissions: manage_billing:copilot or admin:org
  4. Store your token in the environment variable GITHUB_TOKEN
export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"

Token Permissions

  • manage_billing:copilot - For billing and seat management
  • read:org - For reading organization data
  • admin:org - For adding/removing users and teams

How to Use

All examples below assume you have GITHUB_TOKEN set.

Base URL: https://api.github.com

Required headers:

  • Authorization: Bearer ${GITHUB_TOKEN}
  • Accept: application/vnd.github+json
  • X-GitHub-Api-Version: 2022-11-28

1. Get Copilot Billing Information

Get seat breakdown and settings for an organization. Replace your-org-name with your organization name:

curl -s -X GET "https://api.github.com/orgs/your-org-name/copilot/billing" --header "Authorization: Bearer $(printenv GITHUB_TOKEN)" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"

Response:

{
  "seat_breakdown": {
  "total": 12,
  "added_this_cycle": 2,
  "pending_cancellation": 0,
  "pending_invitation": 1,
  "active_this_cycle": 12,
  "inactive_this_cycle": 0
  },
  "seat_management_setting": "assign_selected",
  "public_code_suggestions": "block"
}

2. List All Copilot Seat Assignments

Get all users with Copilot seats. Replace your-org-name with your organization name:

curl -s -X GET "https://api.github.com/orgs/your-org-name/copilot/billing/seats?per_page=50" --header "Authorization: Bearer $(printenv GITHUB_TOKEN)" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" | jq '.seats[] | {login: .assignee.login, last_activity: .last_activity_at}'

3. Get Copilot Seat Details for a User

Get specific user's Copilot seat information. Replace your-org-name with your organization name and username with the target username:

curl -s -X GET "https://api.github.com/orgs/your-org-name/members/username/copilot" --header "Authorization: Bearer $(printenv GITHUB_TOKEN)" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"

4. Add Users to Copilot Subscription

Assign Copilot seats to specific users. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{
  "selected_usernames": ["user1", "user2"]
}

Then run:

curl -s -X POST "https://api.github.com/orgs/your-org-name/copilot/billing/selected_users" --header "Authorization: Bearer $(printenv GITHUB_TOKEN)" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json

Response:

{
  "seats_created": 2
}

5. Remove Users from Copilot Subscription

Remove Copilot seats from specific users. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{
  "selected_usernames": ["user1", "user2"]
}

Then run:

curl -s -X DELETE "https://api.github.com/orgs/your-org-name/copilot/billing/selected_users" --header "Authorization: Bearer $(printenv GITHUB_TOKEN)" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json

Response:

{
  "seats_cancelled": 2
}

6. Add Teams to Copilot Subscription

Assign Copilot to entire teams. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{
  "selected_teams": ["engineering", "design"]
}

Then run:

curl -s -X POST "https://api.github.com/orgs/your-org-name/copilot/billing/selected_teams" --header "Authorization: Bearer $(printenv GITHUB_TOKEN)" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json

7. Remove Teams from Copilot Subscription

Remove Copilot from teams. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{
  "selected_teams": ["engineering"]
}

Then run:

curl -s -X DELETE "https://api.github.com/orgs/your-org-name/copilot/billing/selected_teams" --header "Authorization: Bearer $(printenv GITHUB_TOKEN)" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json

8. Get Copilot Usage Metrics for Organization

Get usage statistics (requires 5+ active users). Replace your-org-name with your organization name:

curl -s -X GET "https://api.github.com/orgs/your-org-name/copilot/metrics?per_page=7" --header "Authorization: Bearer $(printenv GITHUB_TOKEN)" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" | jq '.[] | {date, total_active_users, total_engaged_users}'

Response:

{
  "date": "2024-06-24",
  "total_active_users": 24,
  "total_engaged_users": 20
}

9. Get Copilot Metrics for a Team

Get team-specific usage metrics. Replace your-org-name with your organization name and team-name with the target team:

curl -s -X GET "https://api.github.com/orgs/your-org-name/team/team-name/copilot/metrics" --header "Authorization: Bearer $(printenv GITHUB_TOKEN)" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"

Metrics Data Structure

The metrics response includes:

FieldDescription
total_active_usersUsers with Copilot activity
total_engaged_usersUsers who accepted suggestions
copilot_ide_code_completionsCode completion stats by language/editor
copilot_ide_chatIDE chat usage stats
copilot_dotcom_chatGitHub.com chat usage
copilot_dotcom_pull_requestsPR summary usage

Guidelines

  1. Requires Copilot Business/Enterprise: Free tier users cannot use this API
  2. Metrics need 5+ users: Usage metrics only available with 5+ active Copilot users
  3. Data retention: Metrics available for up to 100 days
  4. Rate limits: Standard GitHub API rate limits apply
  5. API in preview: Some endpoints may change

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

github-automation

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

vm0-cli

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

dev.to

No summary provided by upstream source.

Repository SourceNeeds Review