> ## Documentation Index
> Fetch the complete documentation index at: https://www.octoparse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Renommer une Data App

> Changer le nom de l’app (alias de routage) sans publier de version ni affecter les exécutions en cours.

**`POST`** `https://api-datahub.octoparse.com/v1/data-apps/{app_id}/rename`

Authentification : clé API requise (`Authorization: Bearer <API Key>`). Auteur de l’app uniquement ; les autres reçoivent `404`.

Le rename est entièrement ouvert — pas limité aux apps sans release. Le nom est un alias de routage : rename ne publie pas de version, n’invalide pas les anciennes et n’affecte pas les exécutions en cours (toutes les références durables épinglent `app_id`).

Les références d’appelant cassées sont la responsabilité du développeur : les anciennes références `owner/old-name` ne sont pas réécrites. Après un rename, mettez à jour les références stockées vers l’`app_id` stable ou le nouveau nom.

La validation suit create-identity : règles de nom → mots réservés → nouveau nom ≠ actuel. Conflit avec le binding historique d’autrui → `409 app-name-reserved` ; avec une autre de vos apps → `409 app-name-taken`.

## Requête

### Paramètres de chemin

<ParamField path="app_id" type="string" required>
  Référence d’app.
</ParamField>

### Corps de la requête

<ParamField body="new_app_name" type="string" required>
  —
</ParamField>

### Exemple de requête

```bash theme={null}
curl -X POST \
  -H "Authorization: Bearer $OCTOPARSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"app_name": "review-lookup"}' \
  "https://api-datahub.octoparse.com/v1/data-apps/carol/reviews-query/rename"
```

## Réponse

### 200 succès

```json theme={null}
{
  "data": {
    "app_id": "app_6dfe4e839ccf",
    "namespace": "carol",
    "app_name": "review-lookup",
    "previous_app_name": "reviews-query"
  }
}
```

La charge utile est encapsulée dans `data`. Champs :

<ResponseField name="app_id" type="string" required>
  Id d’app stable — inchangé.
</ResponseField>

<ResponseField name="app_name" type="string" required>
  Nouveau nom.
</ResponseField>

<ResponseField name="namespace" type="string">
  Nom d’utilisateur de l’éditeur.
</ResponseField>

### Erreurs

| HTTP | `code`              | `category`      | Description                                                                                         |
| ---- | ------------------- | --------------- | --------------------------------------------------------------------------------------------------- |
| 401  | `unauthorized`      | `forbidden`     | Clé API manquante ou invalide.                                                                      |
| 400  | `invalid-app-name`  | `invalid_input` | Le nom ne respecte pas les règles de nommage ou est un mot réservé.                                 |
| 409  | `app-name-reserved` | `forbidden`     | Le nom est retenu par un binding historique d’autrui (gel de 30 jours après transfert de username). |
| 409  | `app-name-taken`    | `invalid_input` | Vous avez déjà une app avec ce nom.                                                                 |

Les réponses d’erreur utilisent `{"error": {code, category, message, retryable}}`. Voir <a href="/docs/fr/datahub/api/reference/introduction#errors">Erreurs</a>.

## Bibliothèques clientes

Les SDK Python et JavaScript n’encapsulent pas encore cet endpoint. Appelez REST directement.
