canonical: https://jentic.com/apis/manus.im/manus

# Manus Im Manus Integrations API

Manus is an AI agent platform that runs autonomous tasks on behalf of a user; the Integrations API is the surface external systems use to feed work into Manus and read results back. Manus publishes its own OpenAPI document for this API, and Jentic maintains a curated, agent-optimized specification covering the same operations, kept validated and agent-ready. The endpoints cover files (upload and reference), tasks (create, list, update, delete), projects (group related tasks), and webhooks (receive completion notifications). Authentication uses an API key sent in the API_KEY header.

## For AI agents

Hand off autonomous tasks to the Manus AI agent platform - including file upload, task creation, project grouping, and completion webhooks - through an API-key REST API.

## Scope

Does not handle direct LLM completions, embeddings, or fine-tuning - use for delegating long-running autonomous tasks to the Manus agent only.

## Capabilities

- Upload a file to Manus and reference it from a downstream task
- Create a Manus task with a prompt, attached files, and target project
- List active and completed tasks across the workspace
- Group related tasks under a Manus project for organisation and reporting
- Register a webhook to receive notification when a task finishes
- Update or cancel a task before it completes

## Use cases

### Hand off a long-running research task

Knowledge workers need an autonomous agent to run a multi-hour research job - gathering sources, comparing options, drafting a memo - without blocking the user. POST `/v1/files` uploads any seed documents, POST `/v1/tasks` creates the task with the prompt and file references, and the Manus agent executes asynchronously. A registered webhook delivers the result so the calling system can surface it when ready.

Example prompt: Upload a brief PDF, create a Manus task titled 'Compare top 3 vendors mentioned in the brief', and store the returned task_id.

### Project-scoped task tracking

Teams running parallel Manus workstreams need each task associated with the right project for reporting and billing. POST `/v1/projects` creates a project, then POST `/v1/tasks` references the project_id when creating tasks. GET `/v1/tasks` filtered by project returns the per-project task list for status reviews.

Example prompt: Create a project named 'Customer Discovery Q3' and submit five Manus tasks under it, one per discovery interview.

### Webhook-driven result handling

Apps that integrate Manus need to be told when tasks finish rather than poll. POST `/v1/webhooks` registers a callback URL; Manus posts the task id and outcome when the task completes, and the calling system can call GET `/v1/tasks/{task_id}` to retrieve the full result. This avoids long-poll loops on the client side.

Example prompt: Register the webhook https://app.example.com/manus/done and verify it fires by creating a short test task.

### Agent-to-agent delegation through Jentic

An orchestrator agent inside Jentic can offload heavyweight, multi-step subtasks to Manus while focusing on user-facing dialogue. The orchestrator searches Jentic for 'create a manus task', loads the schema, and executes with the Manus API key kept in the vault. The orchestrator returns to the user as soon as Manus accepts the task and finalises when the webhook fires.

Example prompt: Given a user request 'do deep research on lithium battery suppliers', delegate to Manus by uploading a brief and creating a task, then return the task_id.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/files` | Upload a file |
| GET | `/v1/files/{file_id}` | Retrieve file metadata |
| POST | `/v1/tasks` | Create a Manus task |
| GET | `/v1/tasks` | List Manus tasks |
| GET | `/v1/tasks/{task_id}` | Retrieve a task and its result |
| PUT | `/v1/tasks/{task_id}` | Update an existing task |
| POST | `/v1/projects` | Create a project |
| POST | `/v1/webhooks` | Register a webhook |

## Key resources

- **Files** — Upload and reference files used by tasks
- **Tasks** — Create and manage agent tasks with prompts and file references
- **Projects** — Group related tasks under a project
- **Webhooks** — Register callbacks for task lifecycle events

## Why Jentic

- **Setup:** Wiring Manus by hand means setting its API_KEY header, learning the /v1 files, tasks, and webhook endpoints, and polling task status yourself. Through Jentic you install once, import the Manus Integrations API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Scoping is by operation: you limit the agent to the operations it needs, such as creating a task, listing tasks, or reading a task's status, and leave out ones like registering webhooks or creating projects. Every operation you allow is one you have chosen, so the agent stays inside that set.
- **Credential handling:** Your Manus API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a Manus task' or 'check a task's status', and Jentic returns the matching Manus operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **OpenAI** — General-purpose LLM API that can run agentic chains directly rather than handing off to Manus.
- **Anthropic Messages** — Claude Messages API for building your own agent loops with tool use.
- **Asana** — Track Manus task results back into a human-facing task tracker.

## FAQ

### Which OpenAPI specification does this Manus Integrations API page describe?

A curated, agent-optimized Jentic specification covering 13 Manus Integrations API operations. Manus also publishes its own OpenAPI 3.1.0 document at https://open.manus.ai/docs/v1/openapi.json, which describes the same 13 operations but is served with a trailing comma that strict JSON parsers reject. The Jentic variant is expressed as OpenAPI 3.0.3, parses cleanly, and is validated so agents and developers can load it through structured tooling. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Manus Integrations API use?

Manus uses an API key sent in the API_KEY header (declared as apiKey in the spec, despite the bearerAuth scheme name). Keys come from the Manus account UI. Through Jentic the API key is stored encrypted in the vault and injected at call time, so the raw key never enters the agent's prompt.

### Can I attach files to a Manus task?

Yes. Upload the file with POST `/v1/files` first, capture the returned file_id, then reference that id in the file array on POST `/v1/tasks.` The agent can then read the uploaded content as part of executing the task.

### What are the rate limits for the Manus Integrations API?

The spec does not publish hard rate limits. Manus is designed for relatively low-frequency, long-running tasks rather than high-QPS workloads, so rate limits are applied at the workspace level for task creation. Honour 429 responses with the Retry-After header rather than retrying immediately.

### How do I create a Manus task through Jentic?

Run pip install jentic, then search Jentic for 'create a manus task'. Jentic returns the POST `/v1/tasks` operation with its input schema, which you execute with the prompt, optional file_ids, and optional project_id to hand the task off to the Manus agent.

### How do I find out when a Manus task is done?

Register a webhook with POST `/v1/webhooks` pointing at your callback URL. Manus posts task lifecycle events to that URL when the task completes; your handler then calls GET `/v1/tasks/{task_id}` to fetch the full result. Polling is possible but webhooks are the recommended pattern.

### Can I limit what my agent is allowed to do with the Manus Integrations API?

Yes. Because Jentic One is self-hosted, you decide which Manus operations the agent may call, and your own rules govern the stored API key. You can allow only the operations a job needs, such as creating a task, listing tasks, or reading a task's status, while leaving out others like registering webhooks or creating projects. Every operation the agent can reach is one you have explicitly granted, so it stays inside that set.
