> ## 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.downloadUrl

> Returns a temporary pre-signed download URL for a completed export. The URL expires after 10 minutes — call this endpoint again to mint a new one if needed. Only callable when the export's status is `EXPORT_STATUS_COMPLETED`.

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

<Tip>
  **URL validity:** The returned `download_url` expires after **10 minutes**. Call this endpoint again to mint a fresh URL — it does not consume any quota.

  **Status requirement:** The export must be `EXPORT_STATUS_COMPLETED`. Other statuses return `failed_precondition`.

  **File retention:** Files are purged 30 days after the export completes. After that, this endpoint returns `not_found`.

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


## OpenAPI

````yaml GET /v2/enterprise.export.downloadUrl
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.downloadUrl:
    get:
      summary: GetDownloadURL
      description: >-
        Returns a temporary pre-signed download URL for a completed export. The
        URL expires after 10 minutes — call this endpoint again to mint a new
        one if needed. Only callable when the export's status is
        `EXPORT_STATUS_COMPLETED`.
      operationId: dataexport.v2.EnterpriseDataExportV2Service.GetDownloadURL
      parameters:
        - name: uid
          in: query
          required: true
          schema:
            type: string
            example: 5YX76pz7Dga3yztNVw97Dh
          description: >-
            Export task UID. The export must have status
            `EXPORT_STATUS_COMPLETED`.
      responses:
        '200':
          description: Download URL minted 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.
                  download_url:
                    type: string
                    description: Pre-signed S3 URL for downloading the export archive.
                  expires_at:
                    type: string
                    format: date-time
                    description: >-
                      URL expiration time (RFC3339). Typically 10 minutes after
                      issuance.
        4XX:
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    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

````