get_generation_status
The feature's generation state: its lifecycle status plus the live per-section progress of the latest generation.
Request
GET /api/v1/ops/projects/{project}/features/{feature}/generation
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
project | path | string | yes | The project's public id. |
feature | path | string | yes | Feature id or name. |
- cURL
- CLI
- MCP
curl -H "Authorization: Bearer $TESTVIBE_API_KEY" \
"$TESTVIBE_SERVER/api/v1/ops/projects/$PROJECT/features/12/generation"
testvibe generate "Login Functionality" --watch
Tool get_generation_status — { "feature": "12" }.
Response
{
"featureId": 12,
"featureName": "Login Functionality",
"featureStatus": "generating",
"requestId": "a1b2c3d4-…",
"runnerStarted": true,
"overallStatus": "in_progress",
"overallConclusion": null,
"updatedUtc": "2026-06-10T14:30:12Z",
"sections": [
{ "section": "login-functionality", "status": "in_progress", "conclusion": null, "updatedUtc": "2026-06-10T14:30:12Z" }
]
}
featureStatusis the lifecycle answer: stillgenerating, or done (generated/failed/cancelled).runnerStarteddistinguishes "queued, sandbox warming up" (false) from "actively working" (true).sectionsmirror the live progress drawer in the app, one entry per generated section.
If the feature has never been generated, the response carries just the feature fields — no requestId or sections.
Errors
| HTTP | When |
|---|---|
404 not_found | No such feature in this project. |