Manus Commands & Prompt Reference

47 commands & parameters · 5 categories · Sources: Manus API v2 reference (OpenAPI 2.0.0) — task.create and 2 more · Checked

Request fields, agent profiles and core task endpoints of the Manus API v2 (OpenAPI 2.0.0), checked on 2026-10-10 against the open.manus.ai reference. Tasks run asynchronously: POST /v2/task.create returns at once, and progress comes from polling GET /v2/task.listMessages. Every request carries x-manus-api-key or an OAuth Authorization token. Webhooks, website publishing, agents, project creation, usage reports and the deprecated v1 API are left out.

All Commands

Task parameters (10)

Command / SyntaxWhat it doesNotes
messageOpening message of the taskThe one required body field; it holds the prompt plus any attachments, connectors and skills for the first turn.
websiteExisting website to editTakes an object with the site id; mobile apps and games are refused, and later follow-ups need only the instruction.
project_idProject to file the task underThe project's instruction is applied to the task, and its default connectors apply when message.connectors is omitted.
localeOutput language localeTakes codes such as en, zh-CN or ja; without it the account's own locale setting decides.
interactive_modeAllow clarifying questionsOff by default, so the agent works from what it was given; when true it may stop and wait for answers.
hide_in_task_listKeep out of the web app listDefaults to false; a hidden task can still be opened through the task_url that the create call returns.
share_visibilitySharing level of the taskprivate is the default; team opens it to teammates, and public lets anyone holding the share_url in without signing in.
agent_profileAgent capability tierOmitted on task.create it means standard; on task.sendMessage it overrides this and later turns, and omitting it keeps the current profile.
titleCustom task titleLeave it out and Manus derives a title from the opening message; the response reports it as task_title.
structured_output_schemaSchema for a JSON resultEach object property has to be marked required, with additionalProperties false; extraction happens once the agent has finished.

Agent profiles (8)

Command / SyntaxWhat it doesNotes
standardDefault agent profileUsed when agent_profile is omitted or empty on task.create; bare version numbers such as 1.6 resolve to it too.
liteLite agent profileFree personal accounts are moved to this profile whatever value the request asks for.
maxMax profile at default thinkingPlain max currently thinks at the max-extra level; sent on a follow-up, it leaves the task's chosen level unchanged.
max-mediumMax with medium thinkingOne of four Max thinking levels; chosen on task.sendMessage, it also stays in force for the turns that follow.
max-highMax with high thinkingVersioned spellings such as 2.0-max-high are accepted as well, because the version segment is ignored.
max-extraMax with extra thinkingThe level that plain max maps to for now, when a task has not picked a thinking level itself.
max-ultraMax with ultra thinkingDeepest reasoning of the Max levels, but also the slowest and the heaviest on credits.
manus-1.6Legacy alias for standardStill accepted, but versions are not chosen separately: the number is ignored and only a suffix such as -lite changes the profile.

Message and follow-up fields (7)

Command / SyntaxWhat it doesNotes
message.contentMessage text or partsAlso how an agent question is answered on a follow-up: chosen options go back as one readable text, with no option IDs.
message.connectorsConnectors for the taskOmitted at creation, project then account defaults apply; on a follow-up an omitted or empty list keeps the earlier set.
message.enable_skillsSkills available to the agentTakes IDs from GET /v2/skill.list; being installed and listed there does not by itself enable a skill.
message.force_skillsSkills the agent must useUnlike enable_skills, this obliges the agent to actually run the skill during the task rather than merely have it at hand.
message.task_referencesEarlier tasks to consultUp to 20 bare 22-character IDs; on follow-ups new IDs add to the existing ones and can never be cleared.
task_idTask to continueRequired on task.sendMessage; the value agent-default-main_task reaches an IM agent's main task without knowing its ID.
clear_connectorsRemove all task connectorsLasts for later turns as well; sending it together with a non-empty message.connectors list is rejected as a conflict.

Content parts (10)

Command / SyntaxWhat it doesNotes
type: "text"Text partMarks an item of the message.content array as text; that item then needs a text field.
textText of a text partAll text parts of one message share a budget of about 5,000 estimated tokens; attached files do not count.
visibilityHide a text part from usersOnly a Trusted public client may set hidden; file and voice parts accept visible alone, which is also the default.
type: "file"File attachment partCarries an attachment; give it an uploaded ID, a public link or base64 data, whichever suits the file size.
file_idUploaded file IDThe route for big files: uploads take up to 512 MB, against 20 MB for links and inline data.
file_urlPublic file linkManus fetches the file itself, so the link must open without sign-in; anything over 20 MB needs file.upload.
file_dataInline base64 fileWritten as a data URI with the MIME type in front; the decoded size may not pass 20 MB, and filename becomes required.
filenameDisplay name with extensionMandatory with file_data and advised with file_url; mime_type is guessed from it when omitted.
mime_typeDeclared file typeRarely needed, since Manus infers it from the filename; audio parts take values like audio/wav.
type: "voice"Voice recording partTakes the same three audio sources as a file part, and Manus transcribes audio that it fetches from a file_url.

Endpoints and headers (12)

Command / SyntaxWhat it doesNotes
x-manus-api-keyAPI key headerDirect key authentication for any endpoint; send it or an Authorization bearer token, never both.
AuthorizationOAuth bearer token headerCarries an OAuth token as Bearer plus the token; standard OAuth clients need a task scope, trusted clients do not.
POST /v2/task.createStart a new taskAnswers at once with task_id, task_url and title while the agent keeps working; track it with task.listMessages.
POST /v2/task.sendMessageSend a follow-up turnAlso answers an agent question; pending action confirmations go through task.confirmAction rather than this call.
GET /v2/task.listMessagesPoll task eventsIts status_update events carry agent_status, which says whether to keep polling, reply, or read the results.
GET /v2/task.detailRead task statusIts has_running_background_jobs flag tells whether a stopped task still has background work pending.
POST /v2/task.confirmActionApprove a pending actionOnly for supported confirmations seen while agent_status is waiting; questions are answered with task.sendMessage instead.
POST /v2/task.stopStop a running taskStatus turns to stopped, and a later task.sendMessage can pick the same task up again.
POST /v2/file.uploadGet a file upload URLPUT the bytes to upload_url within 3 minutes; files of up to 512 MB stay available for 48 hours.
GET /v2/skill.listList installed skillsShows installed skills whether or not they are switched on; the IDs feed the skill fields of a message.
GET /v2/connector.listList installed connectorsReturns the connector IDs installed in the account, which are the values message.connectors accepts.
GET /v2/project.listList projectsSource of the IDs that the project_id field of task.create accepts.

Frequently Asked Questions

How do I continue an existing Manus task instead of starting a new one?

Use task.sendMessage with the task_id rather than task.create. It accepts the same message content formats.

What is the difference between enable_skills and force_skills?

enable_skills makes a skill available for the task; force_skills guarantees the agent invokes it. Forced skills are automatically available without also being enabled.

How do I attach a large file?

Upload it first via file.upload and pass file_id. file_url and file_data are capped at 20 MB, so large files must go through the upload path.

Working with an agent rather than a chat

Manus takes a goal and works through it in steps, and the API mirrors that: a task is created once, then polled, answered and, if needed, stopped. State the deliverable and its constraints in the first message; with interactive_mode left off, the agent does not pause to ask and works from what it was given. A stopped task is not lost, since a follow-up message resumes it.

Reading task status

Poll GET /v2/task.listMessages and read agent_status in the status_update events. running means keep polling. waiting means the agent needs something: questions (messageAskUser, cascadeAskUser) are answered with POST /v2/task.sendMessage, supported action confirmations go to POST /v2/task.confirmAction, and any other waiting type should not be approved automatically. On stopped, check has_running_background_jobs in GET /v2/task.detail before reading results; error comes with an error message.

Files, context and limits

Text in one message is limited to roughly 5,000 estimated tokens across all text parts; attached files do not count. Files sent inline through file_url or file_data are capped at 20 MB, while POST /v2/file.upload takes up to 512 MB per file: the returned upload URL is valid for 3 minutes and the file is kept for 48 hours. Free personal accounts run every task on the lite profile.

Sources and checks

Every row on this page was matched to a line in the documentation above on . A command or parameter that could not be found there is not listed.

AI tools change their commands, parameters and model names between releases: the vendor's current documentation and the version you run have the last word. Found a wrong or missing entry? Tell us and it gets checked against the source. How we verify describes the process and its limits.

Related prompt references

Claude Code (157) · Cursor (72) · DeepSeek (46) · All AI prompt references