Agents
agent.list
Lists all custom agents in your account. Use the returned IDs in task.list with scope=agent_subtask to view subtasks, or in agent.detail for full details. See the Agents guide.
GET
/
v2
/
agent.list
ListAgents
curl --request GET \
--url https://api.manus.ai/v2/agent.list \
--header 'x-manus-api-key: <x-manus-api-key>'import requests
url = "https://api.manus.ai/v2/agent.list"
headers = {"x-manus-api-key": "<x-manus-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-manus-api-key': '<x-manus-api-key>'}};
fetch('https://api.manus.ai/v2/agent.list', 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/agent.list",
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: <x-manus-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/agent.list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-manus-api-key", "<x-manus-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/agent.list")
.header("x-manus-api-key", "<x-manus-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.manus.ai/v2/agent.list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-manus-api-key"] = '<x-manus-api-key>'
response = http.request(request)
puts response.read_body{
"ok": true,
"request_id": "<string>",
"data": [
{
"id": "<string>",
"task_id": "<string>",
"nickname": "<string>",
"about": "<string>"
}
]
}{
"ok": false,
"request_id": "<string>",
"error": {
"code": "<string>",
"message": "<string>"
}
}Questions or issues? Contact us at api-support@manus.ai.
Auth: API Key only — not available with OAuth tokens.
Talk to an agent: Use task.sendMessage with the agent’s
task_id to send messages to an agent’s main task. See the Agents guide.Headers
API key for authentication. This endpoint does not support OAuth2 tokens. See Authentication.
Response
Agents retrieved successfully.
Whether the request was successful.
Example:
true
Unique identifier for this API request.
Array of agent objects.
Hide child attributes
Hide child attributes
The task ID associated with this agent's creation or configuration. Use task.detail to view the associated task.
Display name of the agent. Can be updated via agent.update.
Description or bio of the agent explaining its purpose and specialization. Can be updated via agent.update.
Was this page helpful?
⌘I
ListAgents
curl --request GET \
--url https://api.manus.ai/v2/agent.list \
--header 'x-manus-api-key: <x-manus-api-key>'import requests
url = "https://api.manus.ai/v2/agent.list"
headers = {"x-manus-api-key": "<x-manus-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-manus-api-key': '<x-manus-api-key>'}};
fetch('https://api.manus.ai/v2/agent.list', 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/agent.list",
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: <x-manus-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/agent.list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-manus-api-key", "<x-manus-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/agent.list")
.header("x-manus-api-key", "<x-manus-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.manus.ai/v2/agent.list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-manus-api-key"] = '<x-manus-api-key>'
response = http.request(request)
puts response.read_body{
"ok": true,
"request_id": "<string>",
"data": [
{
"id": "<string>",
"task_id": "<string>",
"nickname": "<string>",
"about": "<string>"
}
]
}{
"ok": false,
"request_id": "<string>",
"error": {
"code": "<string>",
"message": "<string>"
}
}