REST API endpoints for Copilot code review
Use the REST API to manage Copilot code review.
Request a Copilot code review for a pull request
Requests a Copilot code review for a pull request. Every call expresses intent to start a
new review: if no Copilot review has been requested yet, an initial request is created; if
the most recent Copilot review has already completed (including if it was later dismissed or
superseded), a new request is created automatically to continue the review lifecycle. If a
Copilot code review request is already pending for the pull request, no new request is
created and the response is 409.
If the actor or repository is not eligible for Copilot code review, the actor has no quota
remaining, or the licensing organization is unavailable, no request is created and the
response is 422 with a stable failure_reason. A review_effort is accepted only when that
effort level is available for the repository and actor; an unrecognized or unavailable
review_effort returns 422 with failure_reason INVALID_REVIEW_EFFORT. If
the actor, repository owner, or requesting application owner has been flagged, the response
is 403 with failure_reason ACTOR_FLAGGED. If the per-actor or per-owner request rate
limit is exceeded, the response is 429 with failure_reason RATE_LIMITED. If Copilot
code review cannot be serviced right now, the response is 503.
Existing human and team review requests on the pull request are left unchanged.
Fine-grained access tokens for "Request a Copilot code review for a pull request"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Pull requests" repository permissions (write)
Parameters for "Request a Copilot code review for a pull request"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
owner string RequiredThe account owner of the repository. The name is not case sensitive. |
repo string RequiredThe name of the repository without the |
pull_number integer RequiredThe number that identifies the pull request. |
| Name, Type, Description |
|---|
review_effort string The effort level to use for the Copilot code review. Omit to use the default effort level. Only effort levels available for the repository and actor are accepted. For more information, see Review effort level. |
HTTP response status codes for "Request a Copilot code review for a pull request"
| Status code | Description |
|---|---|
201 | Created |
401 | Requires authentication |
403 | Forbidden. |
404 | Resource not found |
409 | Conflict, a Copilot code review request is already pending for this pull request |
422 | Validation failed. |
429 | Too many requests. The per-actor or per-owner Copilot code review request rate limit has been exceeded. |
503 | Service unavailable, Copilot code review cannot be serviced right now |
Code samples for "Request a Copilot code review for a pull request"
If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.
Request example
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/repos/OWNER/REPO/pulls/PULL_NUMBER/copilot-code-review \
-d '{"review_effort":"balanced"}'A Copilot code review request was created
Status: 201{
"node_id": "RRR_kwDOAA",
"state": "PENDING"
}