# HTTP API [Back to the README](../README.md) The endpoints the web app itself uses. They are not a stable public interface and can change between releases. | Method | Path | Purpose | |---|---|---| | GET | `/api/health` | Server health and version info | | POST | `/api/jobs` | JSON `{url, stems?}` or multipart `file + stems` → `{job_id}` | | GET | `/api/jobs` | List completed (library) jobs | | GET | `/api/jobs/{id}` | Job state snapshot | | GET | `/api/jobs/{id}/events` | SSE stream of job state | | POST | `/api/jobs/{id}/cancel` | Terminate active subprocess and cancel job | | PATCH | `/api/jobs/{id}/sections` | Save waveform section markers for a job | | GET | `/api/jobs/{id}/stems/{name}.wav` | Stream a single stem WAV file | | GET | `/api/jobs/{id}/stems/{name}.mp3` | Transcode and stream a stem as MP3 | | GET | `/api/jobs/{id}/video.mp4` | Mux the current mix with the source video (MP4 upload or YouTube) into an MP4 | | DELETE | `/api/jobs/{id}` | Remove job dir from disk (terminal jobs only) |