Retrieve a task
Retrieve a Suno MJ task's status and result by task ID. Different task types return different result fields.
Use the task ID returned by a submission API to retrieve the task status and result.
/suno/mj/fetch/{job_id}Authorization
bearerAuth Authenticate with Authorization: Bearer your-api-key.
In: header
Path Parameters
Task ID returned by a submission API. Read jobId or job_id from the corresponding response; this is not a track ID.
Response Body
application/json
application/json
application/json
Task IDs and track IDs
| Identifier | Purpose |
|---|---|
jobId / job_id | Task ID used to retrieve status and results; read the actual response from the corresponding submission API. |
music_id / musicId | Track ID used for covers, extensions, adding vocals, or adding instrumental. |
Upload reference audio supports synchronous and asynchronous modes. A successful synchronous upload returns the track ID directly. After an asynchronous upload completes, the track ID is in data.data.data.musics[].musicId. Do not use a track ID as a task ID. To retrieve multiple tasks, use Retrieve tasks.
Status and results
| Status | Meaning |
|---|---|
NOT_START | The task has been created but processing has not started. |
QUEUED | The task is queued. |
ON_QUEUE | The task is waiting in the queue. |
SUCCESS | The task succeeded; read the result for its task type. |
FAILED | The task failed; inspect the error information returned for the task. |
status: SUCCESS in a submission response means the request was accepted; it does not mean the asynchronous task is complete. In a retrieval response, the outermost code: success means the retrieval request succeeded; read the task status from data.status. After a music generation or asynchronous upload task completes, tracks are in data.data.data.musics[]. For each track, musicId is used in later operations and audioUrl points to the audio. If no title is available, title may be null. Other task types may return different result fields, so do not assume they use this structure.
Callback notifications
You can optionally provide hookUrl in a submission request to receive task notifications forwarded by the platform. Callback URLs support only ports 80, 443, 8080, and 8443.
If you omit hookUrl, you can retrieve the task actively; status updates may be delayed. Even when a callback is configured, you can still use the retrieve API to obtain the result. Use hookUrl from the submission request as the callback configuration; do not infer the callback URL from data.hookUrl in a retrieval response.