Accept a repository invitation
Accept an invitation to a repository sent to you.
/user/repository_invitations/{id}You get its role on that repository at once, as an outside collaborator unless you belong to its workspace. Refused when the workspace asks something of everyone with access that your account does not meet, such as two-factor authentication. People only.
The role is yours at once. 404 when you have no pending invitation with that id (it may have expired or been revoked), and 403 when your account does not meet what the workspace asks of everyone with access, such as two-factor authentication, with a message that says what to turn on. See Access and roles.
- Authentication: Required. Send an access token as
Authorization: Bearer. - MCP tool:
accept_repo_invitation, with the same inputs
Path parameters
Section titled “Path parameters”| Name | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | The invitation’s id, from list_my_repo_invitations. |
Example request
Section titled “Example request”curl -X PATCH https://api.g1t.sh/user/repository_invitations/rin_01kp3e9f0g1h2j3k4m5n6p7q8r \ -H "Authorization: Bearer $G1T_TOKEN"Example response
Section titled “Example response”A successful request answers 200 with:
{ "id": "rin_01kp3e9f0g1h2j3k4m5n6p7q8r", "repo": "flagon-io/hello", "repo_id": "rep_01m3m5q6p0e2qaw6mmjahk0qrr", "invitee": "ada", "email": null, "role": "triage", "invited_by": "syntaqx", "inviter_avatar": null, "status": "accepted", "created_at": "2026-10-05T17:00:00.000Z", "expires_at": "2026-10-12T17:00:00.000Z"}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. |