Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /api/training/jobs | Submit a new training job |
| GET | /api/training/jobs | List all jobs |
| GET | /api/training/jobs/{id} | Job status + progress |
| DELETE | /api/training/jobs/{id} | Cancel a job |
| GET | /api/training/jobs/{id}/logs | Tail logs (?tail=N) |
| GET | /api/training/jobs/{id}/output | List output artifacts |
| GET | /api/training/jobs/{id}/output/{file} | Download an artifact |
| POST | /api/training/jobs/{id}/merge | Merge LoRA into base model |
| POST | /api/training/jobs/{id}/resume | Resume from checkpoint |
| GET | /api/training/templates | List templates (built-in + custom) |
| POST | /api/training/templates | Save a custom template |
| GET | /api/training/stats | Aggregate counters |
| POST | /api/training/estimate | Memory/time estimates |
Submit a job
Training config fields
List output artifacts
Merge LoRA adapter
merge_job_id to poll with GET /api/training/jobs/{merge_job_id}.
