Audio Job status

Job status

Subscribe to live progress events for a denoising job over Server-Sent Events. The connection emits processing events as work advances and terminates with either a done event carrying the final audio URL, or an error event.

1

The request

Stream denoise progressGET/denoise/{denoiseId}/progress

Authenticate with your API key in the x-api-key header, and ask for an event stream via the Accept header.

Path parameterTypeRequiredDescription
denoiseIdstring (UUID)YesThe denoiseId returned by POST /denoise.
HeaderValueDescription
x-api-keyyour API keyRequired for authentication.
Accepttext/event-streamRequired to negotiate the SSE response.
2

The event stream

On success the server answers 200 OK with Content-Type: text/event-stream, Cache-Control: no-cache and Connection: keep-alive. Each message is delivered as a data: line whose payload is a JSON object. The connection automatically closes after a terminal event (done or error), or after 15 minutes of inactivity. The stage field discriminates the event:

StageFieldsDescription
processingpct (number, 0–100), message (string, optional)Incremental progress update.
doneurl (string), denoiseId (string)Terminal success — url is the denoised audio URL.
errormessage (string)Terminal failure — human-readable error message.
Example streamwhat the wire looks like
data: {"stage":"processing","pct":15,"message":"Extracting audio"}

data: {"stage":"processing","pct":62,"message":"Running noise reduction"}

data: {"stage":"done","url":"https://cdn.munsit.com/denoising/user_123/5b1d2f7e_denoised.wav","denoiseId":"5b1d2f7e-3f81-4c2a-9c5d-7a2e91b4c7a1"}
Reconnecting. When you connect to an already-completed job, the server immediately emits the cached final event and closes — clients never miss completion and there is no need to poll separately.
3

Example usage

Use any HTTP client that can read a streamed body — no special SSE library required.

curl
curl -N "https://api.munsit.com/api/v1/denoise/5b1d2f7e-3f81-4c2a-9c5d-7a2e91b4c7a1/progress" \ -H "x-api-key: YOUR_API_KEY" \ -H "Accept: text/event-stream"
Output
Progress: 15% Extracting audio Progress: 62% Running noise reduction Denoised audio ready: https://cdn.munsit.com/denoising/user_123/5b1d2f7e_denoised.wav
4

Errors

Before the stream is established, failures come back as plain JSON — not as SSE.

StatusBody
404 Not Found{"message": "Denoising job not found"}
401 Unauthorized{"errorCode": "40101", "errorMessage": "Invalid or missing API key"}
5

Next steps

Once the done event delivers the URL, the clean audio is yours.

Working with an AI assistant? Every page is available as Markdown: add .md to the URL, or send an Accept: text/markdown header. For the whole documentation in one request, point it at llms-full.txt; the page index is llms.txt. Or use Copy Page, top right.