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

# Download Extract PII files

> Download extracted PII CSV files as a ZIP archive. The backend retrieves the job details using the provided jobId and authentication headers, fetches all associated CSV files from S3, compresses them into a ZIP file, and optionally applies password protection if a password is provided. The backend validates that the requesting user has access to the specified job.



## OpenAPI

````yaml /specs/fc-core-bundled_generated.yaml post /v2/report/extractPII/download
openapi: 3.0.3
info:
  title: Core V2 API
  version: 2.0.0
  description: >-
    This is the APIs for V2 Core. It allows you to do common operations, such as
    read audit entries or get workflow lists.
  contact:
    name: FrankieOne
    url: https://www.frankieone.com/
    email: help@frankieone.com
servers:
  - url: https://api.uat.frankie.one
    description: UAT Environment API Base URL
  - url: https://api.frankie.one
    description: Production API Base URL
security:
  - Api-Key: []
tags:
  - name: Audit
    description: Manage audit entries
  - name: Customers
    description: Manage customer accounts
  - name: Users
    description: Manage users provisioned in child customer accounts
  - name: Request
    description: Retrieve background request results
  - name: Reports
    description: Generate and manage reports
  - name: Results
    description: Manage process results including redaction
  - name: Workflow Definitions
    description: Create and update workflow definitions
  - name: Status
    description: All valid customers will get a successful response.
  - name: Workflows
    description: Manage Workflows and Workflow Definitions
  - name: Tags
    description: Query tags and tag mappings on objects
paths:
  /v2/report/extractPII/download:
    post:
      tags:
        - Reports
      summary: Download Extract PII files
      description: >-
        Download extracted PII CSV files as a ZIP archive. The backend retrieves
        the job details using the provided jobId and authentication headers,
        fetches all associated CSV files from S3, compresses them into a ZIP
        file, and optionally applies password protection if a password is
        provided. The backend validates that the requesting user has access to
        the specified job.
      operationId: downloadExtractPIIFiles
      parameters:
        - $ref: '#/components/parameters/Api-Key'
        - $ref: '#/components/parameters/X-Frankie-RequestID'
        - $ref: '#/components/parameters/X-Frankie-CustomerID'
        - $ref: '#/components/parameters/X-Frankie-CustomerChildID'
        - $ref: '#/components/parameters/X-Frankie-Username'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Download-ExtractPII-Request'
      responses:
        '200':
          description: ZIP file containing the extracted PII CSV files
          content:
            application/zip:
              schema:
                type: string
                format: binary
                description: ZIP file (optionally password-protected) containing CSV files
          headers:
            Content-Disposition:
              schema:
                type: string
                example: attachment; filename="extractPII-data.zip"
              description: Indicates the file should be downloaded
            Content-Type:
              schema:
                type: string
                example: application/zip
              description: MIME type of the response
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Invalid EntityId:
                  value:
                    errorCode: API-0400,
                    errorMsg: 'Multiple Errors: See Issues list'
                    details:
                      - issue: 'entityId in path must be of type uuid: "test"'
                        issueLocation: VALIDATE-entityId
                    requestId: 01HM5XJ7VASZ3EJMB1VQGTBFJ4
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Invalid authentication:
                  value:
                    errorCode: AUTH-0002,
                    errorMsg: Unauthorized
                    details:
                      - issue: Invalid Authentication provided. Access denied.
                        issueLocation: request
                    requestId: 00000000S6MNG7624K2TDXT1E3
                No Api-Key:
                  value:
                    errorCode: AUTH-0401
                    errorMsg: Unauthorized
                    details:
                      - issue: No api key provided. Access denied.
                        issueLocation: request
                    requestId: 00000001S6MNG7624K2TDXT1E3
        '404':
          description: Not Found - One or more S3 keys not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Bad Gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Api-Key: []
        - jwt:
            - kyc:api
components:
  parameters:
    Api-Key:
      name: api_key
      in: header
      schema:
        type: string
        example: 245c765b124a098d09ef8765....
      description: Your API key provided by FrankieOne
      required: true
    X-Frankie-RequestID:
      name: X-Frankie-RequestID
      in: header
      description: GUID identifier for request
      required: true
      schema:
        type: string
        example: 82988375-1F9C-40C7-8543-ECCA0D94CC7C
    X-Frankie-CustomerID:
      name: X-Frankie-CustomerID
      in: header
      required: true
      schema:
        type: string
        example: 12345678-1234-1234-1234-123456789012
      description: Your Customer ID provided by FrankieOne
    X-Frankie-CustomerChildID:
      name: X-Frankie-CustomerChildID
      in: header
      required: false
      schema:
        type: string
        example: 87654321-4321-4321-4321-210987654321
      description: Your Customer Child ID provided by FrankieOne
    X-Frankie-Username:
      name: X-Frankie-Username
      in: header
      description: Username provided by API caller
      required: false
      schema:
        type: string
        example: fred.flintstone@frankieone.com
  schemas:
    Download-ExtractPII-Request:
      type: object
      description: Request body for downloading extracted PII files
      required:
        - jobId
      properties:
        jobId:
          type: string
          description: The Extract PII job ID to download files from
        password:
          type: string
          description: Optional password to protect the ZIP file
          example: SecureP@ssw0rd123
    Error:
      type: object
      x-examples:
        '400':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0400
          errorMsg: Parsing credentials from "<invalid>" failed, because invalid.
          httpStatusCode: 400
        '401':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0401
          errorMsg: Unauthenticated due to invalid credentials.
          httpStatusCode: 401
        '409':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0409
          errorMsg: Conflict.
          httpStatusCode: 409
      allOf:
        - $ref: '#/components/schemas/Error-Base'
        - type: object
          properties:
            requestId:
              $ref: '#/components/schemas/Request-ID'
    Error-Base:
      type: object
      properties:
        errorCode:
          type: string
        errorMsg:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
    Request-ID:
      type: string
      example: 01HN9XHZN6MGXM9JXG50K59Q85
      description: The unique request identifier for the API call made.
    Issue:
      type: object
      properties:
        issue:
          type: string
          description: Description of the issue.
        issueLocation:
          type: string
          description: The location or context where the issue was identified.
        issueType:
          type: string
          description: The type or category of the issue.
  securitySchemes:
    Api-Key:
      type: apiKey
      in: header
      name: api_key
      description: ''
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT

````