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

# Download target file (async)

> 
This call initiates an asynchronous request to generate and download the target file containing translations.
This request covers jobs created via actions like 'split jobs', ensuring accessibility even for such cases.

To monitor the status of this asynchronous request, you have three options:
1. Use [Get asynchronous request](../async-request/get-asynchronous-request).
2. Search for the asyncRequestId by utilizing [List pending requests](../async-request/list-pending-requests).
3. Use callbackUrl to get notification that operation was finished

In contrast to the previous version (v1) of this call, v2 does not directly provide the target file within the response.
Once the asynchronous request is completed, you can download the target file using
[Download target file based on async request](../job/download-target-file-based-on-async-request).

_Note_: The asyncRequestId can be used only once. Once the download is initiated through `Download target file based on
async request`, the asyncRequestId becomes invalid for further use.




## OpenAPI

````yaml /openapi/phrase-tms-latest.json put /api2/v3/projects/{projectUid}/jobs/{jobUid}/targetFile
openapi: 3.0.0
info:
  description: |-
    Welcome to Phrase's TMS API documentation. 

     Please visit our [help center](https://support.phrase.com/hc/en-us/sections/5709662083612) for more information about the APIs. 

     If you have any questions, please contact [Support](https://support.phrase.com/hc/requests/new). 

     Please, include the `User-Agent` header with the name of your application or project. It might be a good idea to include some sort of contact information as well, so that we can get in touch if necessary. Examples of excellent `User-Agent` headers:
     > User-Agent: Example mobile app (example@phrase.com) <br/> User-Agent: ACME Inc Java 1.8 Client (http://acmeinc.com/contact)
  version: Latest
  title: Phrase TMS API
servers:
  - url: https://cloud.memsource.com/web
security:
  - ApiToken: []
  - OAuth2: []
tags:
  - name: Additional Workflow Step
  - name: Analysis
  - name: Async Request
  - name: Authentication
  - name: Automations
  - name: Bilingual File
  - name: Business Unit
  - name: Buyer
  - name: Client
  - name: Connector
  - name: Conversations
  - name: Cost Center
  - name: Custom Fields
  - name: Custom File Type
  - name: Domain
  - name: Due Date Scheme
  - name: Email Template
  - name: File
  - name: Glossary
  - name: Import settings
  - name: Job
  - name: Language AI
  - name: Language Assets
  - name: Language Quality Assessment
  - name: Machine Translation
  - name: Machine Translation Settings
  - name: Mapping
  - name: Net Rate Scheme
  - name: Notifications
  - name: Price List
  - name: Project
  - name: Project Template
  - name: Provider
  - name: Quality Assurance
  - name: Quality Profile
  - name: Quote
  - name: Reference File
  - name: SCIM
  - name: Segment
  - name: Segmentation Rules
  - name: Service
  - name: Spell Check
  - name: SubDomain
  - name: Supported Languages
  - name: Term Base
  - name: Translation
  - name: Translation Memory
  - name: User
  - name: Vendor
  - name: Webhook
  - name: Workflow Step
  - name: Workflow changes
  - name: XML Assistant
paths:
  /api2/v3/projects/{projectUid}/jobs/{jobUid}/targetFile:
    put:
      tags:
        - Job
      summary: Download target file (async)
      description: >

        This call initiates an asynchronous request to generate and download the
        target file containing translations.

        This request covers jobs created via actions like 'split jobs', ensuring
        accessibility even for such cases.


        To monitor the status of this asynchronous request, you have three
        options:

        1. Use [Get asynchronous
        request](../async-request/get-asynchronous-request).

        2. Search for the asyncRequestId by utilizing [List pending
        requests](../async-request/list-pending-requests).

        3. Use callbackUrl to get notification that operation was finished


        In contrast to the previous version (v1) of this call, v2 does not
        directly provide the target file within the response.

        Once the asynchronous request is completed, you can download the target
        file using

        [Download target file based on async
        request](../job/download-target-file-based-on-async-request).


        _Note_: The asyncRequestId can be used only once. Once the download is
        initiated through `Download target file based on

        async request`, the asyncRequestId becomes invalid for further use.
      operationId: completedFileV3
      parameters:
        - name: projectUid
          in: path
          required: true
          schema:
            type: string
        - name: jobUid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownloadTargetFileDtoV3'
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncRequestWrapperV2DtoV2'
        '400':
          description: Bad request
        '401':
          description: Not authorized
        '403':
          description: Forbidden
        '404':
          description: Resource not found
        '405':
          description: Method not allowed
        '408':
          description: Timeout
        '410':
          description: Gone
        '415':
          description: Unsupported media type
        '429':
          description: Too many requests
        '500':
          description: Internal server error
        '501':
          description: Not implemented
components:
  schemas:
    DownloadTargetFileDtoV3:
      type: object
      properties:
        callbackUrl:
          type: string
    AsyncRequestWrapperV2DtoV2:
      type: object
      properties:
        asyncRequest:
          $ref: '#/components/schemas/AsyncRequestV2DtoV2'
        reference:
          $ref: '#/components/schemas/AsyncRequestReferenceDtoV2'
    AsyncRequestV2DtoV2:
      type: object
      properties:
        action:
          type: string
          enum:
            - PRE_ANALYSE
            - POST_ANALYSE
            - CONTINUOUS_PRE_ANALYSE
            - CONTINUOUS_POST_ANALYSE
            - COMPARE_ANALYSE
            - PARENT_ANALYSE
            - PRE_TRANSLATE
            - ASYNC_TRANSLATE
            - IMPORT_JOB
            - IMPORT_FILE
            - ALIGN
            - EXPORT_TMX_BY_QUERY
            - EXPORT_TMX
            - IMPORT_TMX
            - IMPORT_MXLF_INTO_TM
            - IMPORT_TBX
            - IMPORT_TBX_TB3
            - INSERT_INTO_TM
            - DELETE_TM
            - CLEAR_TM
            - QA
            - QA_V3
            - UPDATE_CONTINUOUS_JOB
            - UPDATE_SOURCE
            - UPDATE_TARGET
            - EXTRACT_CLEANED_TMS
            - GLOSSARY_PUT
            - GLOSSARY_DELETE
            - ASYNC_TRANSLATE_VERIFY
            - CREATE_PROJECT
            - EXPORT_COMPLETE_FILE
            - IMPORT_ANNOTATIONS
            - FILE_FLOW_CONVERTER_IMPORT
            - FILE_FLOW_MT_PRETRANSLATE
            - FILE_FLOW_QUALITY_ESTIMATION
            - AUTO_LQA
            - ADOPT_SEGMENT_DATA
            - ADOPT_SEGMENT_SET_DATA
            - QP_EVALUATION
        asyncResponse:
          $ref: '#/components/schemas/AsyncResponseV2DtoV2'
        createdBy:
          $ref: '#/components/schemas/UserReferenceV1'
        dateCreated:
          type: string
          format: date-time
        id:
          type: string
        parent:
          $ref: '#/components/schemas/AsyncRequestV2DtoV2'
        project:
          $ref: '#/components/schemas/ProjectReferenceV1'
    AsyncRequestReferenceDtoV2:
      type: object
      properties:
        type:
          type: string
          description: Type of the object
          enum:
            - JOB
        uid:
          type: string
          description: UID of the object
      description: Reference object that is being processed by async request
    AsyncResponseV2DtoV2:
      type: object
      properties:
        dateCreated:
          type: string
          format: date-time
        errorCode:
          type: string
        errorDesc:
          type: string
        errorDetails:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailDtoV2'
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailDtoV2'
    UserReferenceV1:
      type: object
      properties:
        email:
          type: string
          description: Email address of the user
        firstName:
          type: string
          description: First name of the user
        id:
          type: string
          description: Unique numeric identifier of the user
        lastName:
          type: string
          description: Last name of the user
        role:
          type: string
          description: Role of the user in the organization
          enum:
            - SYS_ADMIN
            - SYS_ADMIN_READ
            - ADMIN
            - PROJECT_MANAGER
            - LINGUIST
            - GUEST
            - SUBMITTER
            - PORTAL_MEMBER
            - BOT
        uid:
          type: string
          description: Unique string identifier of the user
        userName:
          type: string
          description: Username of the user
    ProjectReferenceV1:
      type: object
      properties:
        name:
          type: string
        uid:
          type: string
    ErrorDetailDtoV2:
      type: object
      properties:
        args:
          type: object
          description: Related arguments, e.g. number => "hello world"
          additionalProperties:
            type: object
        code:
          type: string
          description: Code, e.g. NOT_FOUND.
        message:
          type: string
          description: Optional human-readable message.
  securitySchemes:
    ApiToken:
      description: >-
        Get a token from `auth/login` [endpoint](#operation/login) and then pass
        it in the `Authorization` HTTP header in every subsequent API call. For
        more information visit our [help
        center](https://support.phrase.com/hc/en-us/articles/5709662181404-API-Authentication-TMS-#token-0-0).
      type: apiKey
      name: Authorization
      in: header
    OAuth2:
      description: >-
        A standard OAuth 2.0 authorization code flow. For more information visit
        our [help
        center](https://support.phrase.com/hc/en-us/articles/5709662181404-API-Authentication-TMS-#oauth-2-0-0-1).
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://cloud.memsource.com/web/oauth/authorize
          tokenUrl: https://cloud.memsource.com/web/oauth/token
          scopes: {}

````