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

# Update Project Settings

> Update an existing project's AI model preferences, TTS provider, translation memory / MT profile assignment, and sharing visibility. The endpoint is partial: only fields present in the body are written, so a single field can be changed without resending the rest. Authorization is restricted to the project owner and other accounts in the same organization.



## OpenAPI

````yaml /openapi/phrase-studio.json patch /v1/projects/{id}
openapi: 3.0.3
info:
  title: Studio API
  description: >-
    API for creating projects and reading transcription, translation, and
    dubbing results.
  version: 1.0.0
servers:
  - url: https://api.studio.us.phrase.com
    description: Production US Environment
  - url: https://api.studio.eu.phrase.com
    description: Production EU Environment
security: []
tags:
  - name: Projects
    description: Manage transcription, translation, and dubbing projects
  - name: Recordings
    description: Access recording status and output data
  - name: Subtitle Profiles
    description: Manage subtitle formatting profiles
  - name: Pronunciations
    description: Manage custom pronunciation rules
  - name: Glossaries
    description: Manage translation glossaries
  - name: Insights
    description: Manage AI-powered insight prompts
  - name: Safe Communications
    description: Access safe communication evaluation templates
  - name: Subtitles
    description: Write subtitle segments for a recording
paths:
  /v1/projects/{id}:
    patch:
      tags:
        - Projects
      summary: Update Project Settings
      description: >-
        Update an existing project's AI model preferences, TTS provider,
        translation memory / MT profile assignment, and sharing visibility. The
        endpoint is partial: only fields present in the body are written, so a
        single field can be changed without resending the rest. Authorization is
        restricted to the project owner and other accounts in the same
        organization.
      operationId: updateProject
      parameters:
        - name: id
          in: path
          required: true
          description: Project ID
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRequest'
            examples:
              assign_translation_resources:
                summary: Assign a translation memory and MT profile
                value:
                  translationMemoryId: tm-uid-123
                  mtProfileId: mt-profile-uid-456
              switch_tts_provider:
                summary: Change the TTS provider used for dubbing
                value:
                  ttsProvider: eleven_v3
              change_translation_model:
                summary: Change the AI translation model
                value:
                  translationModelType: GPT
                  translationModelName: gpt-5-mini
              share_project:
                summary: Mark the project as shared (visible to the API key owner)
                value:
                  isPublic: true
      responses:
        '200':
          description: Project updated successfully
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                bad_request:
                  summary: Bad Request
                  value:
                    success: false
                    statusCode: 400
                    message: Bad Request
                    timestamp: '2025-01-01T00:00:00.000Z'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    success: false
                    statusCode: 401
                    message: Unauthorized
                    timestamp: '2025-01-01T00:00:00.000Z'
        '404':
          description: Project not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                project_not_found:
                  summary: Project not found
                  value:
                    success: false
                    statusCode: 404
                    message: Project not found
                    timestamp: '2025-01-01T00:00:00.000Z'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal_server_error:
                  summary: Internal server error
                  value:
                    success: false
                    statusCode: 500
                    message: Internal server error
                    timestamp: '2025-01-01T00:00:00.000Z'
      security:
        - apiKeyAuth: []
components:
  schemas:
    UpdateProjectRequest:
      type: object
      description: >-
        Partial update payload for project preferences and visibility. Only
        fields present in the body are applied; omitted fields are preserved.
      properties:
        chatModelType:
          type: string
          enum:
            - GPT
            - CUSTOM
          description: AI model provider type for chat
        chatModelName:
          type: string
          enum:
            - gpt-5-mini
            - gpt-4o-mini
            - plai
            - aita
          description: AI model identifier for chat
        insightsModelType:
          type: string
          enum:
            - GPT
            - CUSTOM
          description: AI model provider type for insights
        insightsModelName:
          type: string
          enum:
            - gpt-5-mini
            - gpt-4o-mini
            - plai
            - aita
          description: AI model identifier for insights
        translationModelType:
          type: string
          enum:
            - GPT
            - CUSTOM
          description: AI model provider type for translation
        translationModelName:
          type: string
          enum:
            - gpt-5-mini
            - gpt-4o-mini
            - plai
            - aita
          description: AI model identifier for translation
        ttsProvider:
          type: string
          enum:
            - eleven_v2
            - eleven_v3
            - azure_tts
          description: Text-to-speech provider for dubbing
        mtProfileId:
          type: string
          minLength: 1
          description: Machine translation profile identifier (TMS UID)
        translationMemoryId:
          type: string
          minLength: 1
          description: Translation memory identifier (TMS UID)
        isPublic:
          type: boolean
          description: >-
            When true, the project is shared so it can be accessed by the API
            key owner. When false, that share is revoked.
      additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        statusCode:
          type: integer
          example: 400
        message:
          type: string
          example: Bad Request
        timestamp:
          type: string
          format: date-time
          example: '2025-01-01T00:00:00.000Z'
      required:
        - success
        - statusCode
        - message
        - timestamp
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````