---
title: "Update translation provider connections"
method: PUT
path: "/project/translation-connections"
tags: ["Translations"]
---

# Update translation provider connections

`PUT /project/translation-connections`

Update Crowdin credentials and/or the project-wide custom AI translation prompt.
Pass only the fields you want to change — unspecified fields are preserved.
Re-sending a non-empty `api_token` overwrites the stored one.

## Request body

- object
  - `custom_ai_translation_prompt` string, nullable — Project-wide system prompt fragment appended to the AI translator. Set to empty string to clear.
  - `crowdin` object
    - `is_enabled` boolean
    - `project_id` string
    - `api_token` string — Crowdin personal access token. Only the last 4 chars are echoed back.
    - `ai_prompt_id` integer, nullable — Optional Crowdin AI prompt ID for pre-translation.
    - `organization` string, nullable — Crowdin Enterprise organisation slug (omit for crowdin.com).

## Response `200`

Connections updated

- TranslationConnections
  - `success` integer
  - `connections` object
    - `ai` object
      - `provider` string
      - `available` boolean — True when platform LLM credentials are configured.
      - `custom_prompt` string, nullable — Project-wide AI translation prompt addition.
      - `has_custom_prompt` boolean
    - `crowdin` object
      - `is_enabled` boolean
      - `project_id` string
      - `has_api_token` boolean
      - `api_token_preview` string, nullable — Masked tail of the stored token (e.g. `****ab12`).
      - `ai_prompt_id` integer, nullable
      - `organization` string, nullable

---

[API](https://skmtc.net/web2wave/apis/web2wave-api.md) · [All operations](https://skmtc.net/web2wave/apis/web2wave-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/web2wave/web2wave-api/revisions/c88545119271/schema)
