Skip to main content
POST
/
v2
/
task.sendMessage
SendMessage
curl --request POST \
  --url https://api.manus.ai/v2/task.sendMessage \
  --header 'Content-Type: application/json' \
  --data '
{
  "task_id": "<string>",
  "message": {
    "content": [
      {
        "text": "<string>"
      }
    ],
    "connectors": [
      "<string>"
    ],
    "enable_skills": [
      "<string>"
    ],
    "force_skills": [
      "<string>"
    ]
  }
}
'
{
  "ok": true,
  "request_id": "<string>",
  "task_id": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://open.manus.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Questions or issues? Contact us at api-support@manus.ai.
OAuth scope: create_task or manage_all_tasks — see the OAuth2 guide. With create_task scope, can only access tasks created by this OAuth app.
Shortcut: Use agent-default-main_task as task_id to send messages to the IM agent directly.Structured Output: Pass structured_output_schema to extract a JSON result when the task next finishes. A new schema replaces the previous one. See the Structured Output 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.Waiting events: Use this endpoint to reply when the agent asks a question (messageAskUser). For other waiting types like gmailSendAction or deployAction, use task.confirmAction instead.

Headers

x-manus-api-key
string

API key for direct authentication. Provide either this or Authorization, not both. See Authentication.

Authorization
string

OAuth2 access token in Bearer {token} format. Provide either this or x-manus-api-key, not both. See the OAuth2 guide.

Example:

"Bearer {access_token}"

Body

application/json
task_id
string
required

The unique identifier of the task to send the message to. Supports the shortcut agent-default-main_task for the IM agent's main task.

message
object
required

The follow-up message. Supports the same content formats as task.create (plain text or multi-part with files).

agent_profile
enum<string>

Agent profile to use for this turn. "manus-1.6" — standard capability. "manus-1.6-lite" — lightweight, faster responses. "manus-1.6-max" — maximum capability. Omit (or pass empty string) to keep the task's current profile; this endpoint does not default to manus-1.6 like task.create does. Free personal accounts are downgraded to manus-1.6-lite regardless of the requested value.

Available options:
manus-1.6,
manus-1.6-lite,
manus-1.6-max
structured_output_schema
object

JSON Schema for structured output extraction. Arms the schema for the next time this task finishes (stop_reason: finish). Sending a new schema replaces any previous one. Omitting this field leaves the current schema state unchanged — it does not clear an armed schema. See the Structured Output guide.

Response

Message sent successfully. The task will resume processing.

ok
boolean

Whether the request was successful.

Example:

true

request_id
string

Unique identifier for this API request.

task_id
string

The ID of the task the message was sent to.