Request reviewers
Ask more people or teams to review a pull request.
/repos/{owner}/{name}/pulls/{number}/requested_reviewersreviewers are usernames, and may include g1t to ask a g1t agent; team_reviewers are teams, as workspace/team or the team’s slug in the repository’s workspace. They are added to whoever is asked already. Asking a team asks everyone in it, or with its review assignment on, the people it picks. Nobody is asked to review their own pull request, and a team must be one you can see. Whoever opened the pull request, or anyone with the Triage role or higher, while it is open. Returns the pull request, with reviewers and team_reviewers as they are now.
Adds to who is asked: reviewers by username (g1t asks a g1t agent), team_reviewers as workspace/team, or a team’s slug in the repository’s workspace. A team with review assignment on has the people it picks added to reviewers, and stays in team_reviewers. Each is told in their inbox. Nobody is asked to review their own pull request. 422 for someone who is not an account, or a team that does not exist or that you cannot see. Whoever opened it, or the Triage role or higher, while it is open. See Pull requests and Teams.
- Authentication: Required. Send an access token as
Authorization: Bearer. - MCP tool:
pull_requestwithactionrequest_reviewers, and the same inputs - Scope: An access token needs
pull_requests:write.
Path parameters
Section titled “Path parameters”| Name | Type | Required | Description |
|---|---|---|---|
owner |
string | Yes | The workspace that owns the repository. |
name |
string | Yes | The repository’s name. |
number |
integer | Yes | The number shown after the #. Issues and pull requests share one sequence. |
Body parameters
Section titled “Body parameters”Send a JSON object. Names are snake_case, as in responses; the camelCase spelling is accepted too.
| Name | Type | Required | Description |
|---|---|---|---|
reviewers |
array of strings | No | Usernames. g1t asks a g1t agent. |
team_reviewers |
array of strings | No | Teams, as “workspace/team”, or the team’s slug in the repository’s workspace. |
Example request
Section titled “Example request”curl -X POST https://api.g1t.sh/repos/flagon-io/hello/pulls/14/requested_reviewers \ -H "Authorization: Bearer $G1T_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "reviewers": [ "bo" ], "team_reviewers": [ "backend" ] }'Example response
Section titled “Example response”A successful request answers 200 with:
{ "id": "pr_01m43smh3vexsr5pmp60qwv0vs", "repo_id": "rep_01m3m5q6p0e2qaw6mmjahk0qrr", "number": 14, "issue": 12, "title": "Greeting should name the caller", "body": "Reads a name from the first argument. `hello ana` prints \"Hello, ana!\".", "agent": "claude-code", "runtime": "external", "status": "open", "fork": { "namespace": "pulls", "name": "pr_01m43smh3vexsr5pmp60qwv0vs" }, "fork_repo_id": "rep_01m43smh5xd7aw2kq9tv0b4c8e", "branch": null, "head_commit": "9f2c4e1a7b3d5f60812a4c6e8b0d2f4a6c8e0b13", "merge_base": null, "merged_by": null, "merged_at": null, "superseded_by": null, "check_status": "passed", "files": [ { "path": "src/main.rs", "additions": 6, "deletions": 2 } ], "assignees": [], "reviewers": [ "ana", "bo" ], "team_reviewers": [ "flagon-io/backend" ], "author": { "id": "usr_01kkntcg1eeb98j62xjm7eh09p", "username": "syntaqx", "display_username": "syntaqx", "kind": "user", "verified": false, "workspaces": [] }, "requested_by": null, "created_at": "2026-10-01T18:20:02.117Z", "updated_at": "2026-10-01T18:40:12.331Z"}Errors
Section titled “Errors”A failed request answers with one of these statuses and a body like {"error": {"code": "not_found", "message": "Repository not found."}}. See errors.
| Status | Code | When |
|---|---|---|
| 401 | unauthenticated |
A token is required, or the one sent is not valid. |
| 403 | forbidden |
The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository. |
| 404 | not_found |
It does not exist, or you cannot see it. |
| 409 | conflict |
The request conflicts with the current state. |
| 422 | invalid |
The input is not valid. message says which field and why. |