# General Translation Platform: Spostare file URL: https://generaltranslation.com/it/docs/platform/openapi/reference/files/move-files.mdx --- title: Spostare file description: Sposta o rinomina file in un progetto di General Translation. Riferimento API per Spostare file. method: POST --- Sposta o rinomina i file clonando ogni file sorgente e le relative traduzioni con un nuovo ID e un nuovo nome file. Invia una voce per ogni file da spostare. ## Panoramica [#overview] ```http POST https://api2.gtx.dev/v2/project/files/moves ``` **Permesso** `project:files:write` · **Limite di richieste** Medio (120/min) Mantieni allineati i file sorgente rinominati o spostati senza perderne le traduzioni. Per individuare quali file sono diventati obsoleti, usa [Recupera i file orfani](/docs/platform/openapi/reference/files/orphaned-files). ## Come funziona [#how-it-works] * Ogni spostamento clona il file sorgente esistente e le relative traduzioni in `newFileId` e `newFileName`, mantenendo le traduzioni. * Se `branchId` non è specificato, viene usata la branch predefinita. Se `branchId` è specificato, deve appartenere al progetto; in caso contrario, la richiesta restituisce `404`. * Un array `moves` vuoto restituisce un insieme di risultati vuoto senza errori. * La risposta riporta un risultato per ciascuno spostamento e un conteggio riepilogativo del totale, degli spostamenti riusciti e di quelli non riusciti. ## Richiesta [#request] ### Header | Header | Descrizione | Obbligatorio | | ----------------- | -------------------------------------------------------------------------------- | ------------ | | `x-gt-api-key` | Chiave API del progetto o dell'organizzazione. | Sì | | `x-gt-project-id` | ID progetto. Obbligatorio quando si utilizza una chiave dell'organizzazione. | No | ### Corpo **Tipo di contenuto** `application/json` | Campo | Descrizione | Tipo | Facoltativo | Predefinito | | ----------------- | --------------------------------------------- | ---------- | ----------- | ------------------ | | [`moves`](#moves) | Array degli spostamenti di file da elaborare. | `object[]` | No | — | | `branchId` | Branch in cui si trovano i file. | `string` | Sì | Branch predefinito | #### `moves` [#moves] **Tipo** `object[]` Ogni elemento descrive lo spostamento di un file: | Campo | Descrizione | Tipo | Facoltativo | Predefinito | | ------------- | ------------------------------------------------------ | -------- | ----------- | ----------- | | `oldFileId` | Identificatore attuale del file; non può essere vuoto. | `string` | No | — | | `newFileId` | Nuovo identificatore del file; non può essere vuoto. | `string` | No | — | | `newFileName` | Nuovo nome del file; non può essere vuoto. | `string` | No | — | ## Risposta [#response] **Stato** `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 } } ``` ## Errori [#errors] | Stato | Causa | | ----- | ----------------------------------------------------------- | | `400` | Corpo della richiesta non valido. | | `401` | Chiave API mancante o non valida. | | `403` | La chiave API non dispone di `project:files:write`. | | `404` | Il `branchId` specificato non è stato trovato nel progetto. | | `429` | Limite di frequenza superato. | ## Esempio [#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" } ] }' ```