task.detail
Retrieves a task’s status and metadata. Use task.listMessages for the full event history, or task.sendMessage to continue the conversation.
curl --request GET \
--url 'https://api.manus.ai/v2/task.detail?task_id=<string>' \
--header 'x-manus-api-key: <api-key>'import requests
url = "https://api.manus.ai/v2/task.detail"
headers = {
"x-manus-api-key": "<api-key>"
}
response = requests.get(url, headers=headers, params={"task_id": "<string>"})
print(response.text)const options = {
method: 'GET',
headers: {'x-manus-api-key': '<api-key>'}
};
fetch('https://api.manus.ai/v2/task.detail?task_id=<string>', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.manus.ai/v2/task.detail?task_id=<string>",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-manus-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.manus.ai/v2/task.detail?task_id=<string>"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-manus-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.manus.ai/v2/task.detail?task_id=<string>")
.header("x-manus-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.manus.ai/v2/task.detail?task_id=<string>")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-manus-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"ok": true,
"request_id": "<string>",
"task": {
"id": "<string>",
"created_at": 123,
"updated_at": 123,
"title": "<string>",
"credit_usage": 123,
"task_url": "<string>",
"created_by_api_key": {
"id": "<string>",
"name": "<string>"
}
}
}{
"ok": false,
"request_id": "<string>",
"error": {
"code": "<string>",
"message": "<string>"
}
}create_task or manage_all_tasks — see the Open App guide. With create_task scope, can only access tasks created by this Open App.agent-default-main_task as task_id to check the IM agent’s main task.Headers
API key for direct authentication. Provide either this or Authorization, not both. See Authentication.
Query Parameters
The unique identifier of the task to retrieve. Supports the shortcut agent-default-main_task for the IM agent's main task.
Response
Task retrieved successfully.
Whether the request was successful.
true
Unique identifier for this API request.
The task object with current status and metadata.
Hide child attributes
Hide child attributes
Unique identifier for the task.
Current task status. "running" — agent is actively working. "stopped" — task has finished or been stopped. "waiting" — agent is paused and waiting for user input or confirmation. "error" — task encountered an unrecoverable error.
running, stopped, waiting, error Unix timestamp (seconds) when the task was created.
Unix timestamp (seconds) when the task was last updated.
Who can view the task. "private" — only the task creator. "team" — all team members. "public" — anyone with the share link.
private, team, public Title of the task.
Total credits consumed by the task. Only present when the task has consumed credits.
URL to view the task in the Manus webapp (e.g., https://manus.im/app/{task_id}).
The API key that created this task. Present when the task was created via the API; null or absent when created through the UI or other means. The name reflects the API key's current name, not a snapshot from creation time.
Agent profile most recently used by the task — reflects the latest turn (e.g. an task.sendMessage override), not just the value supplied at task creation. Omitted when this information is not available (e.g. older tasks).
manus-1.6, manus-1.6-lite, manus-1.6-max Was this page helpful?
curl --request GET \
--url 'https://api.manus.ai/v2/task.detail?task_id=<string>' \
--header 'x-manus-api-key: <api-key>'import requests
url = "https://api.manus.ai/v2/task.detail"
headers = {
"x-manus-api-key": "<api-key>"
}
response = requests.get(url, headers=headers, params={"task_id": "<string>"})
print(response.text)const options = {
method: 'GET',
headers: {'x-manus-api-key': '<api-key>'}
};
fetch('https://api.manus.ai/v2/task.detail?task_id=<string>', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.manus.ai/v2/task.detail?task_id=<string>",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-manus-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.manus.ai/v2/task.detail?task_id=<string>"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-manus-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.manus.ai/v2/task.detail?task_id=<string>")
.header("x-manus-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.manus.ai/v2/task.detail?task_id=<string>")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-manus-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"ok": true,
"request_id": "<string>",
"task": {
"id": "<string>",
"created_at": 123,
"updated_at": 123,
"title": "<string>",
"credit_usage": 123,
"task_url": "<string>",
"created_by_api_key": {
"id": "<string>",
"name": "<string>"
}
}
}{
"ok": false,
"request_id": "<string>",
"error": {
"code": "<string>",
"message": "<string>"
}
}