Skip to content

A plan: the outcome asked for, its status (planning, ready, failed or applied), and the issues it proposes with their dependencies.

GET/repos/{owner}/{name}/plans/{plan}

A plan still planning after 20 minutes is reported as failed. progress follows each issue once the plan is applied.

  • Authentication: Required. Send an access token as Authorization: Bearer.
  • MCP tool: get_plan, with the same inputs
Name Type Required Description
owner string Yes The workspace that owns the repository.
name string Yes The repository’s name.
plan string Yes The plan’s id.
curl https://api.g1t.sh/repos/flagon-io/hello/plans/pln_01m43s9c4e8g2j6m0q4t8x2b6d \
-H "Authorization: Bearer $G1T_TOKEN"

A successful request answers 200 with:

{
"id": "pln_01m43s9c4e8g2j6m0q4t8x2b6d",
"repo_id": "rep_01m3m5q6p0e2qaw6mmjahk0qrr",
"brief": "Greet people by name, from the command line and the web page.",
"status": "ready",
"summary": "Name parsing first, then the two places that print the greeting.",
"issues": [
{
"title": "Greeting should name the caller",
"body": "Accept an optional name in `greet()` and use it.",
"labels": [
"feature"
],
"checks": [
"cargo test"
],
"files": [
"src/greet.rs"
],
"depends_on": [],
"number": null
},
{
"title": "Show the caller's name on the web page",
"body": "Read `?name=` and pass it to `greet()`.",
"labels": [
"feature"
],
"checks": [
"cargo test"
],
"files": [
"src/web.rs"
],
"depends_on": [
1
],
"number": null
}
],
"error": null,
"author": {
"id": "usr_01kkntcg1eeb98j62xjm7eh09p",
"username": "syntaqx",
"kind": "user",
"verified": false,
"workspaces": []
},
"created_at": "2026-10-01T17:58:40.006Z",
"finished_at": "2026-10-01T18:01:12.774Z",
"progress": [],
"exchanges": []
}

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.