List a repository's contributors
Everyone whose commits are on a repository's default branch, most commits first: each with kind (user, matched to an account by an address they confirmed or their noreply address; g1t, g1t itself; author, anyone else, by the name on their commits), name, username and avatar for a user, commits, first_at, last_at, and weeks (commits per week, for the 100 most active). total is how many there are (at most 500 are listed), commits how many were read (the newest 3,000), and weeks the repository's commits by week, oldest first.
/repos/{owner}/{name}/contributorsWorked out in the background and kept by commit, as for get_languages.
Read from the newest 3,000 commits of the default branch. A person’s addresses count as one when they confirmed them on their account; their noreply address counts too.
- Authentication: Optional. Public data can be read without a token; send one to see what is private.
- MCP tool:
repositorywithactioncontributors, and the same inputs - Scope: An access token needs
repo:read.
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. |
Example request
Section titled “Example request”curl https://api.g1t.sh/repos/flagon-io/hello/contributors \ -H "Authorization: Bearer $G1T_TOKEN"Example response
Section titled “Example response”A successful request answers 200 with:
{ "head": "9f3c2a1b7e5d4c3b2a19f8e7d6c5b4a39281706f", "commit": "9f3c2a1b7e5d4c3b2a19f8e7d6c5b4a39281706f", "computed_at": "2026-10-07T09:14:03.000Z", "pending": false, "partial": false, "total": 3, "commits": 126, "contributors": [ { "kind": "g1t", "name": "g1t", "username": null, "avatar": null, "commits": 71, "first_at": "2026-09-29T08:00:00.000Z", "last_at": "2026-10-07T08:41:00.000Z", "weeks": [ { "week": "2026-09-28", "commits": 40 }, { "week": "2026-10-05", "commits": 31 } ] }, { "kind": "user", "name": "ada", "username": "ada", "display_username": "Ada", "avatar": "5f2b8c1d9e7a3f6b4c0d2e8a1b9c7d5e3f1a0b2c4d6e8f0a1b3c5d7e9f0a2b4c", "commits": 52, "first_at": "2026-09-28T14:11:52.000Z", "last_at": "2026-10-06T16:02:11.000Z", "weeks": [ { "week": "2026-09-28", "commits": 30 }, { "week": "2026-10-05", "commits": 22 } ] }, { "kind": "author", "name": "Sam Okafor", "username": null, "avatar": null, "commits": 3, "first_at": "2026-10-02T11:20:00.000Z", "last_at": "2026-10-03T09:05:00.000Z", "weeks": [ { "week": "2026-09-28", "commits": 3 } ] } ], "weeks": [ { "week": "2026-09-28", "commits": 73 }, { "week": "2026-10-05", "commits": 53 } ]}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. |
| 422 | invalid |
The input is not valid. message says which field and why. |