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

# Edit translation memories

> If user wants to edit “All target languages” or "All workflow steps”, 
                       but there are already varied TM settings for individual languages or steps, 
                       then the user risks to overwrite these individual choices.



## OpenAPI

````yaml /openapi/phrase-tms-latest.json put /api2/v3/projects/{projectUid}/transMemories
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}/transMemories:
    put:
      tags:
        - Project
      summary: Edit translation memories
      description: |-
        If user wants to edit “All target languages” or "All workflow steps”, 
                               but there are already varied TM settings for individual languages or steps, 
                               then the user risks to overwrite these individual choices.
      operationId: setProjectTransMemoriesV3
      parameters:
        - name: projectUid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetProjectTransMemoriesV3DtoV3'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectTransMemoryListDtoV3'
        '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:
    SetProjectTransMemoriesV3DtoV3:
      type: object
      required:
        - dataPerContext
      properties:
        dataPerContext:
          type: array
          items:
            $ref: '#/components/schemas/SetContextTransMemoriesDtoV3DtoV3'
    ProjectTransMemoryListDtoV3:
      type: object
      properties:
        transMemories:
          type: array
          items:
            $ref: '#/components/schemas/ProjectTransMemoryDtoV3'
    SetContextTransMemoriesDtoV3DtoV3:
      type: object
      required:
        - transMemories
      properties:
        orderEnabled:
          type: boolean
          description: 'Default: false'
        targetLang:
          type: string
          description: Set translation memory only for the specific project target language
        transMemories:
          type: array
          items:
            $ref: '#/components/schemas/SetProjectTransMemoryV3DtoV3'
        workflowStep:
          $ref: '#/components/schemas/UidReference'
    ProjectTransMemoryDtoV3:
      type: object
      properties:
        applyPenaltyTo101Only:
          type: boolean
        order:
          type: integer
          format: int32
        penalty:
          type: number
          format: double
        readMode:
          type: boolean
        targetLocale:
          type: string
        transMemory:
          $ref: '#/components/schemas/TransMemoryDtoV3'
        workflowStep:
          $ref: '#/components/schemas/WorkflowStepReferenceV3'
        writeMode:
          type: boolean
    SetProjectTransMemoryV3DtoV3:
      type: object
      required:
        - transMemory
      properties:
        applyPenaltyTo101Only:
          type: boolean
          description: 'Can be set only for penalty == 1<br/>Default: false'
        order:
          type: integer
          format: int32
        penalty:
          type: number
          format: double
          minimum: 0
          maximum: 100
          exclusiveMinimum: false
          exclusiveMaximum: false
        readMode:
          type: boolean
          description: 'Default: false'
        transMemory:
          $ref: '#/components/schemas/UidReference'
        writeMode:
          type: boolean
          description: |-
            Can be set only for Translation Memory with read == true.<br/>
                    Max 2 write TMs allowed per project.<br/>
                    Default: false
    UidReference:
      type: object
      required:
        - uid
      properties:
        uid:
          type: string
    TransMemoryDtoV3:
      type: object
      properties:
        businessUnit:
          $ref: '#/components/schemas/BusinessUnitReferenceV1'
        client:
          $ref: '#/components/schemas/ClientReferenceV1'
        createdBy:
          $ref: '#/components/schemas/UserReferenceV1'
        dateCreated:
          type: string
          format: date-time
        domain:
          $ref: '#/components/schemas/DomainReferenceV1'
        id:
          type: string
        internalId:
          type: integer
          format: int32
        name:
          type: string
        note:
          type: string
        sourceLang:
          type: string
        subDomain:
          $ref: '#/components/schemas/SubDomainReferenceV1'
        targetLangs:
          type: array
          items:
            type: string
        uid:
          type: string
    WorkflowStepReferenceV3:
      type: object
      properties:
        id:
          type: string
        lqaEnabled:
          type: boolean
        name:
          type: string
        order:
          type: integer
          format: int32
        uid:
          type: string
    BusinessUnitReferenceV1:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        uid:
          type: string
    ClientReferenceV1:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        uid:
          type: string
    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
    DomainReferenceV1:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        uid:
          type: string
    SubDomainReferenceV1:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        uid:
          type: string
  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: {}

````