Skip to main content
The REST API is now versioned. For more information, see "About API versioning."

REST API endpoints for GitHub Copilot usage metrics

Use the REST API to access Copilot usage metrics for an enterprise, an organization, or a team.

Get a summary of Copilot usage for enterprise members

Note

This endpoint is in public preview and is subject to change.

You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions.

The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE.

The time zone in the response is in UTC time, that means that the cutoff time for the "day" is UTC time.

Only owners and billing managers can view Copilot usage metrics for the enterprise.

OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot or read:enterprise scopes to use this endpoint.

Fine-grained access tokens for "Get a summary of Copilot usage for enterprise members"

This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.

Parameters for "Get a summary of Copilot usage for enterprise members"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
enterprise string Required

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Query parameters
Name, Type, Description
since string

Show usage metrics since this date. This is a timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). Maximum value is 28 days ago.

until string

Show usage metrics until this date. This is a timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ) and should not preceed the since date if it is passed.

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 days of metrics to display per page (max 28). For more information, see "Using pagination in the REST API."

Default: 28

HTTP response status codes for "Get a summary of Copilot usage for enterprise members"

Status codeDescription
200

OK

401

Requires authentication

403

Forbidden

404

Resource not found

500

Internal Error

Code samples for "Get a summary of Copilot usage for enterprise members"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

get/enterprises/{enterprise}/copilot/usage
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/enterprises/ENTERPRISE/copilot/usage

Response

Status: 200
[ { "day": "2023-10-15", "total_suggestions_count": 5000, "total_acceptances_count": 3000, "total_lines_suggested": 7000, "total_lines_accepted": 3500, "total_active_users": 15, "total_chat_acceptances": 45, "total_chat_turns": 350, "total_active_chat_users": 8, "breakdown": [ { "language": "python", "editor": "vscode", "suggestions_count": 3000, "acceptances_count": 2000, "lines_suggested": 3000, "lines_accepted": 1500, "active_users": 5 }, { "language": "python", "editor": "jetbrains", "suggestions_count": 1000, "acceptances_count": 500, "lines_suggested": 2000, "lines_accepted": 1000, "active_users": 5 }, { "language": "javascript", "editor": "vscode", "suggestions_count": 1000, "acceptances_count": 500, "lines_suggested": 2000, "lines_accepted": 1000, "active_users": 5 } ] }, { "day": "2023-10-16", "total_suggestions_count": 5200, "total_acceptances_count": 5100, "total_lines_suggested": 5300, "total_lines_accepted": 5000, "total_active_users": 15, "total_chat_acceptances": 57, "total_chat_turns": 455, "total_active_chat_users": 12, "breakdown": [ { "language": "python", "editor": "vscode", "suggestions_count": 3100, "acceptances_count": 3000, "lines_suggested": 3200, "lines_accepted": 3100, "active_users": 5 }, { "language": "python", "editor": "jetbrains", "suggestions_count": 1100, "acceptances_count": 1000, "lines_suggested": 1200, "lines_accepted": 1100, "active_users": 5 }, { "language": "javascript", "editor": "vscode", "suggestions_count": 1000, "acceptances_count": 900, "lines_suggested": 1100, "lines_accepted": 1000, "active_users": 5 } ] } ]

Get a summary of Copilot usage for an enterprise team

Note

This endpoint is in public preview and is subject to change. This endpoint is only applicable to dedicated enterprise accounts for Copilot Business. See "About enterprise accounts for Copilot Business."

You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE for users within an enterprise team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions.

The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE.

Note

This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses, as evaluated at the end of that day.

Owners and billing managers for the enterprise that contains the enterprise team can view Copilot usage metrics for the enterprise team.

OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot or read:enterprise scopes to use this endpoint.

Fine-grained access tokens for "Get a summary of Copilot usage for an enterprise team"

This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.

Parameters for "Get a summary of Copilot usage for an enterprise team"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
enterprise string Required

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

team_slug string Required

The slug of the team name.

Query parameters
Name, Type, Description
since string

Show usage metrics since this date. This is a timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). Maximum value is 28 days ago.

until string

Show usage metrics until this date. This is a timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ) and should not preceed the since date if it is passed.

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 days of metrics to display per page (max 28). For more information, see "Using pagination in the REST API."

Default: 28

HTTP response status codes for "Get a summary of Copilot usage for an enterprise team"

Status codeDescription
200

OK

401

Requires authentication

403

Forbidden

404

Resource not found

500

Internal Error

Code samples for "Get a summary of Copilot usage for an enterprise team"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

get/enterprises/{enterprise}/team/{team_slug}/copilot/usage
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/enterprises/ENTERPRISE/team/TEAM_SLUG/copilot/usage

Response

Status: 200
[ { "day": "2023-10-15", "total_suggestions_count": 1000, "total_acceptances_count": 800, "total_lines_suggested": 1800, "total_lines_accepted": 1200, "total_active_users": 10, "total_chat_acceptances": 32, "total_chat_turns": 200, "total_active_chat_users": 4, "breakdown": [ { "language": "python", "editor": "vscode", "suggestions_count": 300, "acceptances_count": 250, "lines_suggested": 900, "lines_accepted": 700, "active_users": 5 }, { "language": "python", "editor": "jetbrains", "suggestions_count": 300, "acceptances_count": 200, "lines_suggested": 400, "lines_accepted": 300, "active_users": 2 }, { "language": "ruby", "editor": "vscode", "suggestions_count": 400, "acceptances_count": 350, "lines_suggested": 500, "lines_accepted": 200, "active_users": 3 } ] }, { "day": "2023-10-16", "total_suggestions_count": 800, "total_acceptances_count": 600, "total_lines_suggested": 1100, "total_lines_accepted": 700, "total_active_users": 12, "total_chat_acceptances": 57, "total_chat_turns": 426, "total_active_chat_users": 8, "breakdown": [ { "language": "python", "editor": "vscode", "suggestions_count": 300, "acceptances_count": 200, "lines_suggested": 600, "lines_accepted": 300, "active_users": 2 }, { "language": "python", "editor": "jetbrains", "suggestions_count": 300, "acceptances_count": 150, "lines_suggested": 300, "lines_accepted": 250, "active_users": 6 }, { "language": "ruby", "editor": "vscode", "suggestions_count": 200, "acceptances_count": 150, "lines_suggested": 200, "lines_accepted": 150, "active_users": 3 } ] } ]

Get a summary of Copilot usage for organization members

Note

This endpoint is in public preview and is subject to change.

You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions.

The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE.

Organization owners, and owners and billing managers of the parent enterprise, can view Copilot usage metrics.

OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot, read:org, or read:enterprise scopes to use this endpoint.

Fine-grained access tokens for "Get a summary of Copilot usage for organization members"

This endpoint works with the following fine-grained token types:

The fine-grained token must have at least one of the following permission sets:

  • "GitHub Copilot Business" organization permissions (read)
  • "Administration" organization permissions (read)

Parameters for "Get a summary of Copilot usage for organization members"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

Query parameters
Name, Type, Description
since string

Show usage metrics since this date. This is a timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). Maximum value is 28 days ago.

until string

Show usage metrics until this date. This is a timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ) and should not preceed the since date if it is passed.

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 days of metrics to display per page (max 28). For more information, see "Using pagination in the REST API."

Default: 28

HTTP response status codes for "Get a summary of Copilot usage for organization members"

Status codeDescription
200

OK

401

Requires authentication

403

Forbidden

404

Resource not found

500

Internal Error

Code samples for "Get a summary of Copilot usage for organization members"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

get/orgs/{org}/copilot/usage
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/usage

Response

Status: 200
[ { "day": "2023-10-15", "total_suggestions_count": 1000, "total_acceptances_count": 800, "total_lines_suggested": 1800, "total_lines_accepted": 1200, "total_active_users": 10, "total_chat_acceptances": 32, "total_chat_turns": 200, "total_active_chat_users": 4, "breakdown": [ { "language": "python", "editor": "vscode", "suggestions_count": 300, "acceptances_count": 250, "lines_suggested": 900, "lines_accepted": 700, "active_users": 5 }, { "language": "python", "editor": "jetbrains", "suggestions_count": 300, "acceptances_count": 200, "lines_suggested": 400, "lines_accepted": 300, "active_users": 2 }, { "language": "ruby", "editor": "vscode", "suggestions_count": 400, "acceptances_count": 350, "lines_suggested": 500, "lines_accepted": 200, "active_users": 3 } ] }, { "day": "2023-10-16", "total_suggestions_count": 800, "total_acceptances_count": 600, "total_lines_suggested": 1100, "total_lines_accepted": 700, "total_active_users": 12, "total_chat_acceptances": 57, "total_chat_turns": 426, "total_active_chat_users": 8, "breakdown": [ { "language": "python", "editor": "vscode", "suggestions_count": 300, "acceptances_count": 200, "lines_suggested": 600, "lines_accepted": 300, "active_users": 2 }, { "language": "python", "editor": "jetbrains", "suggestions_count": 300, "acceptances_count": 150, "lines_suggested": 300, "lines_accepted": 250, "active_users": 6 }, { "language": "ruby", "editor": "vscode", "suggestions_count": 200, "acceptances_count": 150, "lines_suggested": 200, "lines_accepted": 150, "active_users": 3 } ] } ]

Get a summary of Copilot usage for a team

Note

This endpoint is in public preview and is subject to change.

You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions.

The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE.

Note

This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day.

Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team.

OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot, read:org, or read:enterprise scopes to use this endpoint.

Fine-grained access tokens for "Get a summary of Copilot usage for a team"

This endpoint works with the following fine-grained token types:

The fine-grained token must have at least one of the following permission sets:

  • "GitHub Copilot Business" organization permissions (read)
  • "Administration" organization permissions (read)

Parameters for "Get a summary of Copilot usage for a team"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

team_slug string Required

The slug of the team name.

Query parameters
Name, Type, Description
since string

Show usage metrics since this date. This is a timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). Maximum value is 28 days ago.

until string

Show usage metrics until this date. This is a timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ) and should not preceed the since date if it is passed.

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 days of metrics to display per page (max 28). For more information, see "Using pagination in the REST API."

Default: 28

HTTP response status codes for "Get a summary of Copilot usage for a team"

Status codeDescription
200

OK

401

Requires authentication

403

Forbidden

404

Resource not found

500

Internal Error

Code samples for "Get a summary of Copilot usage for a team"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

get/orgs/{org}/team/{team_slug}/copilot/usage
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/team/TEAM_SLUG/copilot/usage

Response

Status: 200
[ { "day": "2023-10-15", "total_suggestions_count": 1000, "total_acceptances_count": 800, "total_lines_suggested": 1800, "total_lines_accepted": 1200, "total_active_users": 10, "total_chat_acceptances": 32, "total_chat_turns": 200, "total_active_chat_users": 4, "breakdown": [ { "language": "python", "editor": "vscode", "suggestions_count": 300, "acceptances_count": 250, "lines_suggested": 900, "lines_accepted": 700, "active_users": 5 }, { "language": "python", "editor": "jetbrains", "suggestions_count": 300, "acceptances_count": 200, "lines_suggested": 400, "lines_accepted": 300, "active_users": 2 }, { "language": "ruby", "editor": "vscode", "suggestions_count": 400, "acceptances_count": 350, "lines_suggested": 500, "lines_accepted": 200, "active_users": 3 } ] }, { "day": "2023-10-16", "total_suggestions_count": 800, "total_acceptances_count": 600, "total_lines_suggested": 1100, "total_lines_accepted": 700, "total_active_users": 12, "total_chat_acceptances": 57, "total_chat_turns": 426, "total_active_chat_users": 8, "breakdown": [ { "language": "python", "editor": "vscode", "suggestions_count": 300, "acceptances_count": 200, "lines_suggested": 600, "lines_accepted": 300, "active_users": 2 }, { "language": "python", "editor": "jetbrains", "suggestions_count": 300, "acceptances_count": 150, "lines_suggested": 300, "lines_accepted": 250, "active_users": 6 }, { "language": "ruby", "editor": "vscode", "suggestions_count": 200, "acceptances_count": 150, "lines_suggested": 200, "lines_accepted": 150, "active_users": 3 } ] } ]