Skip to main content
POST
/
v2
/
task.create
CreateTask
curl --request POST \
  --url https://api.manus.ai/v2/task.create \
  --header 'Content-Type: application/json' \
  --header 'x-manus-api-key: <api-key>' \
  --data '
{
  "message": {
    "content": [
      {
        "type": "text",
        "text": "<string>"
      }
    ],
    "connectors": [
      "<string>"
    ],
    "enable_skills": [
      "<string>"
    ],
    "force_skills": [
      "<string>"
    ]
  }
}
'
{
  "ok": true,
  "request_id": "<string>",
  "task_id": "<string>",
  "task_title": "<string>",
  "task_url": "<string>",
  "share_url": "<string>",
  "share_visibility": "private"
}
Questions or issues? Contact us at api-support@manus.ai.
Talk to an agent: To send a message to an existing agent instead of creating a new task, use task.sendMessage with agent-default-main_task as task_id. See the Agents guide.Attach files: Upload via file.upload and pass the file_id in the message content, or use file_url / file_data directly.Connectors: Pass connector IDs in message.connectors. Get IDs from connector.list or the Connectors guide. If omitted and project_id is set, the project’s default connectors will be used.Enable skills: Pass skill IDs from skill.list in message.enable_skills to control which skills are available for the agent. If omitted, the user’s default enabled skills are loaded automatically.Force skills: Pass skill IDs in message.force_skills to ensure the agent invokes them. Forced skills are automatically available even if not listed in enable_skills.

Authorizations

x-manus-api-key
string
header
required

Body

application/json
message
object
required

The message to start the task with. Contains the prompt text, optional file attachments, and connector/skill configuration.

project_id
string

Project ID to associate this task with. The project's instruction will be automatically applied. Use project.list to get available project IDs.

locale
string

Locale for the task output language (e.g., "en", "zh-CN", "ja"). Defaults to the user's account locale setting.

interactive_mode
boolean
default:false

When enabled, the agent may pause and ask follow-up questions if the input is insufficient. When disabled (default), the agent proceeds with best-effort execution without asking.

hide_in_task_list
boolean
default:false

When true, the task will not appear in the Manus webapp task list. The task is still accessible via the task_url in the response. Useful for automated/background tasks.

share_visibility
enum<string>
default:private

Controls who can view the task. "private" (default) — only the task creator can view. "team" — all team members can view. "public" — anyone with the share_url can view without authentication.

Available options:
private,
team,
public
agent_profile
enum<string>
default:manus-1.6

Agent profile to use for the task. "manus-1.6" (default) — standard capability. "manus-1.6-lite" — lightweight, faster responses. "manus-1.6-max" — maximum capability.

Available options:
manus-1.6,
manus-1.6-lite,
manus-1.6-max
title
string

Custom title for the task. If not provided, a title will be auto-generated based on the input message.

Response

Task created successfully.

ok
boolean

Whether the request was successful.

Example:

true

request_id
string

Unique identifier for this API request, useful for debugging.

task_id
string

Unique identifier for the created task. Use this to track, update, or delete the task.

task_title
string

Title for the task. Returns the custom title if one was provided in the request, otherwise an auto-generated title based on the input message.

task_url
string

URL to view the task in the Manus webapp (e.g., https://manus.im/app/{task_id}).

share_url
string

Publicly accessible URL for sharing. Only present when share_visibility is not "private".

share_visibility
enum<string>

The actual visibility state of the task.

Available options:
private,
team,
public