# Lire les variables d'un environnement

Cet endpoint renvoie les variables d’un environnement, au format attendu par `vercel pull` et `vercel build`. Les valeurs sont renvoyées déchiffrées : elles ne doivent jamais partir vers le navigateur.

## GET `/v3/env/pull/:project/:target`

```bash
curl https://api.host.hgdc.ch/v3/env/pull/site-atelier/production \
  -H "Authorization: Bearer $VERCEL_TOKEN"
```

```bash
# Équivalent avec la CLI
vercel --api https://api.host.hgdc.ch pull --environment=production
```

### Paramètres de chemin

| Paramètre | Type                                           | Requis | Description                               |
| --------- | ---------------------------------------------- | ------ | ----------------------------------------- |
| `project` | `string`                                       | Oui    | Identifiant ou nom du projet              |
| `target`  | `"production"`, `"preview"` ou `"development"` | Non    | Environnement. Par défaut : `development` |

### Réponse

Réponse `200` :

```json
{
  "env": {
    "PUBLIC_API_URL": "https://api.atelier.ch",
    "CONTACT_EMAIL": "bonjour@atelier.ch"
  },
  "buildEnv": {
    "PUBLIC_API_URL": "https://api.atelier.ch",
    "CONTACT_EMAIL": "bonjour@atelier.ch"
  }
}
```

`env` et `buildEnv` contiennent les mêmes variables. Si le projet a un domaine de production, `VERCEL_PROJECT_PRODUCTION_URL` figure aussi dans la réponse. Voir [Variables : référence](/docs/reference/variables/#variables-fournies-par-la-plateforme).

La réponse n’est jamais mise en cache : elle porte `cache-control: no-store`.

## Variables sensibles

Une variable sensible n’est renvoyée qu’à une clé limitée au projet, celle que l’app GitHub pose dans le dépôt. Avec une clé d’organisation, elle est absente de la réponse.

Chaque lecture d’une variable par une clé est consignée dans le journal du coffre, sans la valeur. Voir [Secrets et coffre](/docs/concepts/secrets-et-coffre/).

## Erreurs

| Statut | Code          | Cause                                          |
| ------ | ------------- | ---------------------------------------------- |
| `400`  | `bad_request` | Environnement inconnu                          |
| `404`  | `not_found`   | Projet inconnu, ou hors de la portée de la clé |

Voir la liste complète sur [Erreurs](/docs/reference/api/erreurs/).
