Skip to content

A milestone, with every issue and pull request in it, newest first.

GET/repos/{owner}/{name}/milestones/{milestone}
  • Authentication: Optional. Public data can be read without a token; send one to see what is private.
  • MCP tool: repository with action get_milestone, and the same inputs
  • Scope: An access token needs repo:read.
Name Type Required Description
owner string Yes The workspace that owns the repository.
name string Yes The repository’s name.
milestone integer Yes The milestone’s number, from list_milestones.
curl https://api.g1t.sh/repos/flagon-io/hello/milestones/3 \
-H "Authorization: Bearer $G1T_TOKEN"

A successful request answers 200 with:

{
"milestone": {
"number": 3,
"title": "Launch",
"description": "Everything that has to land before the launch on October 14.",
"due_on": "2026-10-14",
"state": "open",
"open_items": 5,
"closed_items": 12,
"created_at": "2026-09-20T09:00:00.000Z",
"updated_at": "2026-10-06T16:12:40.118Z",
"closed_at": null
},
"issues": [
{
"id": "iss_01m43shrzpfe49x74ga7sj1c6v",
"repo_id": "rep_01m3m5q6p0e2qaw6mmjahk0qrr",
"number": 12,
"title": "Greeting should name the caller",
"body": "Take a name from the first argument; fall back to world.",
"labels": [
"feature",
"good first issue"
],
"state": "open",
"reason": null,
"resolved_by": null,
"author": {
"id": "usr_01kkntcg1eeb98j62xjm7eh09p",
"username": "syntaqx",
"display_username": "syntaqx",
"kind": "user",
"verified": false,
"workspaces": []
},
"requested_by": null,
"created_at": "2026-10-01T18:04:11.482Z",
"updated_at": "2026-10-01T18:09:47.305Z",
"closed_at": null,
"pull_count": 0,
"comment_count": 0,
"assignees": [
"syntaqx"
],
"blocked_by": [],
"queued": false,
"agent": null,
"milestone": {
"number": 3,
"title": "Launch"
}
}
],
"pulls": [
{
"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"
],
"labels": [],
"milestone": {
"number": 3,
"title": "Launch"
},
"base": "main",
"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:35:44.902Z",
"confidence": null
}
]
}

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.