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

# Download All Anonymized Files

> Get a presigned URL to download all anonymized files as a ZIP archive

<Note>
  **Async operation**: First call triggers ZIP generation with code `202`. Poll this same endpoint until you receive `200` with a `download_url`.
</Note>


## OpenAPI

````yaml GET /api/dataframer/anonymization-runs/{run_id}/download/
openapi: 3.0.0
info:
  title: DataFramer API
  version: 0.1.0
  description: ''
  termsOfService: https://www.aimon.ai/docs/privacy-policy.pdf
  contact:
    name: DataFramer Support
    email: info@dataframer.ai
  license:
    name: Proprietary
  x-logo:
    url: https://dataframer.ai/logo.png
    altText: DataFramer AI
  x-stainless:
    package-name: aimon-dataframer
    namespace:
      - aimon
      - dataframer
servers:
  - url: https://df-api.dataframer.ai
    description: Production server
security:
  - BearerAuth: []
externalDocs:
  description: Complete API Guide
  url: https://docs.dataframer.ai/dataframer
paths:
  /api/dataframer/anonymization-runs/{run_id}/download/:
    get:
      summary: Download all anonymized files
      description: >-
        Download all anonymized files from a run as a single ZIP archive.


        First call triggers ZIP generation and returns 202. Poll until you
        receive 200 with a `download_url`. The presigned URL expires after 1
        hour. The run must be in `SUCCEEDED` status.
      operationId: api_dataframer_anonymization_runs_download_all
      parameters:
        - name: run_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID of the completed anonymization run.
      responses:
        '200':
          description: ZIP is ready for download
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnonymizationRunDownloadAll'
              examples:
                ready:
                  value:
                    download_url: >-
                      https://s3.amazonaws.com/bucket/path/to/file.zip?signature=...
                    status: ready
        '202':
          description: ZIP generation in progress, poll again
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnonymizationRunDownloadAll'
              examples:
                generating:
                  value:
                    download_url: null
                    status: generating
        '401':
          description: Unauthorized
        '404':
          description: Anonymization run not found
        '409':
          description: Run is not in SUCCEEDED status
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: Python
          source: |-
            import os
            from dataframer import Dataframer

            client = Dataframer(
                api_key=os.environ.get("DATAFRAMER_API_KEY"),  # This is the default and can be omitted
            )
            response = client.dataframer.anonymization_runs.files.download_all(
                "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            )
            print(response.download_url)
        - lang: cURL
          source: >-
            curl
            https://df-api.dataframer.ai/api/dataframer/anonymization-runs/$RUN_ID/download/
            \
                -H "Authorization: Bearer $DATAFRAMER_API_KEY"
components:
  schemas:
    AnonymizationRunDownloadAll:
      type: object
      properties:
        download_url:
          type: string
          format: uri
          nullable: true
          description: >-
            Presigned S3 URL to download the ZIP archive. Expires after 1 hour.
            `null` when the ZIP is still being generated (status `generating`).
        status:
          type: string
          enum:
            - ready
            - generating
          description: >-
            `ready` when the ZIP is available and `download_url` is set.
            `generating` when ZIP creation is in progress — poll again until
            `ready`.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'API Key authentication. Format: "Bearer YOUR_API_KEY"'

````