# General Translation Platform: Déplacer des fichiers URL: https://generaltranslation.com/fr/docs/platform/openapi/reference/files/move-files.mdx --- title: Déplacer des fichiers description: Déplacer ou renommer des fichiers dans un projet General Translation. Référence de l’API pour déplacer des fichiers. method: POST --- Déplace ou renomme des fichiers en clonant chaque fichier source et ses traductions avec un nouvel ID et un nouveau nom de fichier. Envoyez une entrée pour chaque fichier à déplacer. ## Vue d’ensemble [#overview] ```http POST https://api2.gtx.dev/v2/project/files/moves ``` **Autorisation** `project:files:write` · **Limite de requêtes** Moyenne (120/min) Répercutez les renommages ou déplacements des fichiers source sans perdre leurs traductions. Pour détecter les fichiers devenus obsolètes, utilisez [Récupérer les fichiers orphelins](/docs/platform/openapi/reference/files/orphaned-files). ## Fonctionnement [#how-it-works] * Chaque déplacement clone le fichier source existant et ses traductions vers `newFileId` et `newFileName`, en conservant les traductions. * Un `branchId` absent correspond à la branche par défaut. Un `branchId` fourni doit appartenir au Project, sinon la requête renvoie `404`. * Un tableau `moves` vide renvoie un ensemble de résultats vide, sans erreur. * La réponse indique un résultat pour chaque déplacement, ainsi qu’un décompte récapitulatif du nombre total de déplacements, de ceux qui ont réussi et de ceux qui ont échoué. ## Requête [#request] ### En-têtes | En-tête | Description | Obligatoire | | ----------------- | ------------------------------------------------------------------------- | ----------- | | `x-gt-api-key` | Clé d’API de projet ou d’organisation. | Oui | | `x-gt-project-id` | ID du projet. Obligatoire lors de l’utilisation d’une clé d’organisation. | Non | ### Corps **Type de contenu** `application/json` | Champ | Description | Type | Facultatif | Par défaut | | ----------------- | ---------------------------------------------- | ---------- | ---------- | ------------------ | | [`moves`](#moves) | Liste des déplacements de fichiers à traiter. | `object[]` | Non | — | | `branchId` | Branche à laquelle appartiennent les fichiers. | `string` | Oui | Branche par défaut | #### `moves` [#moves] **Type** `object[]` Chaque élément décrit un déplacement de fichier : | Champ | Description | Type | Facultatif | Par défaut | | ------------- | ------------------------------------------------------ | -------- | ---------- | ---------- | | `oldFileId` | Identifiant actuel du fichier ; ne peut pas être vide. | `string` | Non | — | | `newFileId` | Nouvel identifiant du fichier ; ne peut pas être vide. | `string` | Non | — | | `newFileName` | Nouveau nom de fichier ; ne peut pas être vide. | `string` | Non | — | ## Réponse [#response] **État** `200 OK` ```json title="Response" { "results": [ { "oldFileId": "file_old...", "newFileId": "file_new...", "success": true, "newSourceFileId": "sf_...", "clonedTranslationsCount": 2 } ], "summary": { "total": 1, "succeeded": 1, "failed": 0 } } ``` ## Erreurs [#errors] | état | Cause | | ----- | ----------------------------------------------------- | | `400` | Corps de la requête invalide. | | `401` | Clé API manquante ou invalide. | | `403` | La clé API ne dispose pas de `project:files:write`. | | `404` | Le `branchId` fourni est introuvable dans le Project. | | `429` | Limite de requêtes dépassée. | ## Exemple [#example] ```bash curl -X POST https://api2.gtx.dev/v2/project/files/moves \ -H "x-gt-api-key: gtx-api-..." \ -H "Content-Type: application/json" \ -d '{ "moves": [ { "oldFileId": "file_old...", "newFileId": "file_new...", "newFileName": "en/renamed.json" } ] }' ```