> ## Documentation Index
> Fetch the complete documentation index at: https://docs.manus.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# enterprise.export.create

> Creates an enterprise compliance export task for a user. Runs asynchronously — the call returns immediately with status `EXPORT_STATUS_PENDING`. Poll [enterprise.export.detail](/enterprise/v2/enterprise.export.detail) until status is `EXPORT_STATUS_COMPLETED`, then call [enterprise.export.downloadUrl](/enterprise/v2/enterprise.export.downloadUrl) to fetch the archive.

<sup>Questions or issues? Contact us at [api-support@manus.ai](mailto:api-support@manus.ai).</sup>

<Tip>
  **Required combos:** Provide either `user_id` or `email`. When `scope` is `ENTERPRISE_EXPORT_SCOPE_CUSTOM_SESSION_IDS`, `session_ids` is required. When `scope` is `ENTERPRISE_EXPORT_SCOPE_WEBDEV_PROJECT`, optionally narrow with `webdev_project_uids`. When `scope` is `ENTERPRISE_EXPORT_SCOPE_PROJECT`, optionally narrow with `project_uids`.

  **Async:** Returns immediately with `EXPORT_STATUS_PENDING`. Poll [enterprise.export.detail](/enterprise/v2/enterprise.export.detail) until status is `EXPORT_STATUS_COMPLETED`, then call [enterprise.export.downloadUrl](/enterprise/v2/enterprise.export.downloadUrl).

  **Concurrency:** Recommended to keep at most one in-flight export per user.

  **Audit:** `reason` is logged for compliance review — supply a meaningful value.

  **Protocols:** Also callable via Connect RPC. See [Protocols](/enterprise/v2/protocols).
</Tip>


## OpenAPI

````yaml POST /v2/enterprise.export.create
openapi: 3.1.0
info:
  title: Manus Enterprise Data Export OpenAPI v2
  description: >-
    API for enterprise administrators to export user data for compliance
    purposes (legal hold, internal audits). All responses are wrapped with
    `{"ok": true, "request_id": "...", ...}` for success and `{"ok": false,
    "request_id": "...", "error": {"code": "...", "message": "..."}}` for
    errors. Every operation is callable via REST (paths below) or via Connect
    RPC at `/dataexport.v2.EnterpriseDataExportV2Service/<Method>`.
  version: 2.0.0
servers:
  - url: https://api.manus.im
security:
  - ApiKeyAuth: []
paths:
  /v2/enterprise.export.create:
    post:
      summary: CreateExport
      description: >-
        Creates an enterprise compliance export task for a user. Runs
        asynchronously — the call returns immediately with status
        `EXPORT_STATUS_PENDING`. Poll
        [enterprise.export.detail](/enterprise/v2/enterprise.export.detail)
        until status is `EXPORT_STATUS_COMPLETED`, then call
        [enterprise.export.downloadUrl](/enterprise/v2/enterprise.export.downloadUrl)
        to fetch the archive.
      operationId: dataexport.v2.EnterpriseDataExportV2Service.CreateExport
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: string
                  description: >-
                    Target user ID. Either `user_id` or `email` must be
                    provided.
                  example: 123e4567-e89b-12d3-a456-426614174000
                  format: uuid
                email:
                  type: string
                  description: >-
                    Target user email. Either `user_id` or `email` must be
                    provided.
                  example: user@example.com
                scope:
                  $ref: '#/components/schemas/EnterpriseExportScope'
                  description: >-
                    Export scope. Determines what data is included in the
                    archive.
                include_deleted:
                  type: boolean
                  description: Include soft-deleted data in the export.
                  default: false
                start_time:
                  type: string
                  format: date-time
                  description: >-
                    Lower time bound (RFC3339). Only data created on or after
                    this time is included.
                end_time:
                  type: string
                  format: date-time
                  description: >-
                    Upper time bound (RFC3339). Only data created on or before
                    this time is included.
                session_ids:
                  type: array
                  items:
                    type: string
                  description: >-
                    Specific session IDs to export. Required when `scope` is
                    `ENTERPRISE_EXPORT_SCOPE_CUSTOM_SESSION_IDS`.
                include_files:
                  type: boolean
                  description: Include attached files in the archive.
                  default: true
                reason:
                  type: string
                  description: >-
                    Reason for the export. Logged for compliance auditing —
                    supply a meaningful value.
                  example: compliance audit
                webdev_project_uids:
                  type: array
                  items:
                    type: string
                  description: >-
                    Limit the export to specific webdev project UIDs. Only used
                    when `scope` is `ENTERPRISE_EXPORT_SCOPE_WEBDEV_PROJECT`.
                    Leave empty to include all webdev projects.
                project_uids:
                  type: array
                  items:
                    type: string
                  description: >-
                    Limit the export to specific project UIDs. Only used when
                    `scope` is `ENTERPRISE_EXPORT_SCOPE_PROJECT`. Leave empty to
                    include all projects.
              required:
                - scope
              oneOf:
                - required:
                    - user_id
                - required:
                    - email
      responses:
        '200':
          description: Export task created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    example: true
                    description: Whether the request was successful.
                  request_id:
                    type: string
                    description: >-
                      Unique identifier for this API request, useful for
                      debugging.
                  uid:
                    type: string
                    description: >-
                      Unique identifier of the export task. Use this with
                      [enterprise.export.detail](/enterprise/v2/enterprise.export.detail)
                      and
                      [enterprise.export.downloadUrl](/enterprise/v2/enterprise.export.downloadUrl).
                  status:
                    $ref: '#/components/schemas/ExportStatus'
                    description: >-
                      Initial status. Always `EXPORT_STATUS_PENDING` for a
                      freshly created task.
                  created_at:
                    type: string
                    format: date-time
                    description: Task creation time (RFC3339).
                  user_id:
                    type: string
                    description: Target user ID resolved from the request.
                    format: uuid
                    example: 123e4567-e89b-12d3-a456-426614174000
                  enterprise_uid:
                    type: string
                    description: Enterprise unique identifier.
        4XX:
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    EnterpriseExportScope:
      type: string
      description: >-
        Determines what data is included in the export archive. `FULL` includes
        all webdev projects and Manus project content; `TASKS` includes only
        task lists (no events); `TASKS_WITH_ATTACHMENTS` adds session
        attachments; `CUSTOM_SESSION_IDS` exports only the sessions named in
        `session_ids`; `WEBDEV_PROJECT` exports webdev projects (code + DB +
        static assets, with secrets masked); `PROJECT` exports Manus projects
        (name/instruction/connector_uids/skill_config + project_files).
      enum:
        - ENTERPRISE_EXPORT_SCOPE_FULL
        - ENTERPRISE_EXPORT_SCOPE_TASKS
        - ENTERPRISE_EXPORT_SCOPE_TASKS_WITH_ATTACHMENTS
        - ENTERPRISE_EXPORT_SCOPE_CUSTOM_SESSION_IDS
        - ENTERPRISE_EXPORT_SCOPE_WEBDEV_PROJECT
        - ENTERPRISE_EXPORT_SCOPE_PROJECT
    ExportStatus:
      type: string
      description: >-
        Lifecycle status of an export task. Flow: `PENDING` → `PROCESSING` →
        `COMPLETED` (or `FAILED` / `CANCELLED`).
      enum:
        - EXPORT_STATUS_PENDING
        - EXPORT_STATUS_PROCESSING
        - EXPORT_STATUS_COMPLETED
        - EXPORT_STATUS_FAILED
        - EXPORT_STATUS_CANCELLED
    ErrorResponse:
      type: object
      description: Standard error response format returned when a request fails.
      properties:
        ok:
          type: boolean
          example: false
          description: Always false for error responses.
        request_id:
          type: string
          description: >-
            Unique identifier for this API request, useful for debugging with
            support.
        error:
          type: object
          description: Error details.
          properties:
            code:
              type: string
              description: >-
                Machine-readable error code: `invalid_argument`, `not_found`,
                `permission_denied`, `failed_precondition`, or `internal`.
            message:
              type: string
              description: Human-readable error description explaining what went wrong.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````