# Valeurs globales API

> Valeurs communes à tout l’espace de travail, réutilisées dans les e-mails, les étapes et les conditions d’automatisation sous la forme {{global.key}}.

URL de base : `https://api.emailit.com/v2`. Authentifiez-vous avec `Authorization: Bearer <API key>`.

## Créer une valeur globale — POST /global-values

> Créez une valeur commune à tout l’espace de travail, comme la date d’un webinaire ou un lien de réservation, utilisée sous la forme {{global.key}} dans les e-mails, les étapes et les conditions d’automatisation.

# Créer une valeur globale

Crée une valeur globale : une valeur unique pour tout l’espace de travail, utilisée sous la forme `{{global.<key>}}` dans les modèles, les campagnes, les e-mails et les paramètres d’étape des automatisations, dans les conditions, et comme date à attendre. Nécessite une clé API de portée `full`. Consultez [Valeurs globales](/fr/docs/contacts/global-values/).

`POST /global-values`

## Paramètres du corps

- `key` (string, obligatoire): Commence par une lettre minuscule et ne contient que des lettres minuscules, des chiffres et `_`, 64 caractères au maximum. Unique dans l’espace de travail.

- `name` (string): Un nom d’affichage, 191 caractères au maximum.

- `type` (string): `text`, `number`, `boolean`, `date`, `datetime` ou `url`.

- `value` (string | number | boolean): La valeur, vérifiée selon le type : un nombre pour `number`, `true` ou `false` pour `boolean`, `YYYY-MM-DD` pour `date`, une date et une heure au format ISO 8601 pour `datetime` (enregistrées en UTC), et une URL `http` ou `https` pour `url`.

- `description` (string): Une note pour votre équipe, 1 000 caractères au maximum.

## Réponse

Renvoie `201` avec la [valeur globale](#the-global-value-object) dans `data`. Renvoie `400` avec `errors` quand un champ n’est pas valide, `409` quand la clé est déjà prise, et `422` quand l’espace de travail a déjà 500 valeurs globales.

**Requête** `POST /global-values`

**cURL**

```bash
curl -X POST https://api.emailit.com/v2/global-values \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"key": "webinar_date", "name": "Webinar date", "type": "datetime", "value": "2026-11-05T17:00:00Z"}'
```

**Node.js**

```javascript
const res = await fetch('https://api.emailit.com/v2/global-values', {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.EMAILIT_API_KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({"key": "webinar_date", "name": "Webinar date", "type": "datetime", "value": "2026-11-05T17:00:00Z"}),
});
const result = await res.json();
```

**Python**

```python
import os, requests

r = requests.post(
    "https://api.emailit.com/v2/global-values",
    headers={"Authorization": f"Bearer {os.environ['EMAILIT_API_KEY']}"},
    json={"key": "webinar_date", "name": "Webinar date", "type": "datetime", "value": "2026-11-05T17:00:00Z"},
)
result = r.json()
```

**PHP**

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://api.emailit.com/v2/']);

$response = $client->post('global-values', [
    'headers' => ['Authorization' => 'Bearer ' . getenv('EMAILIT_API_KEY')],
    'json' => ['key' => 'webinar_date', 'name' => 'Webinar date', 'type' => 'datetime', 'value' => '2026-11-05T17:00:00Z'],
]);
$result = json_decode($response->getBody(), true);
```

## Objet valeur globale

- `object` (string): Toujours `global_value`.

- `id` (string): L’ID (`gv_…`).

- `key` (string): La clé, utilisée sous la forme `{{global.<key>}}`.

- `name` (string | null): Un nom d’affichage.

- `type` (string): `text`, `number`, `boolean`, `date`, `datetime` ou `url`.

- `value` (string | number | boolean | null): La valeur : un nombre pour `number`, `true` ou `false` pour `boolean`, et une chaîne sinon (`YYYY-MM-DD` pour `date`, ISO 8601 en UTC pour `datetime`).

- `description` (string | null): Une note pour votre équipe.

- `created_at` (string): Date de création.

- `updated_at` (string): Date de la dernière modification.

---
Source: https://emailit.com/fr/docs/api-reference/global-values/create/

## Récupérer une valeur globale — GET /global-values/{id}

> Récupérez une valeur globale par son ID ou sa clé.

# Récupérer une valeur globale

Renvoie une valeur globale. Nécessite une clé API de portée `full`.

`GET /global-values/{id}`

## Paramètres de chemin

- `id` (string, obligatoire): L’ID (`gv_…`) ou la clé.

## Réponse

Renvoie la [valeur globale](/fr/docs/api-reference/global-values/create/#the-global-value-object) dans `data`, ou `404`.

**Requête** `GET /global-values/{id}`

**cURL**

```bash
curl https://api.emailit.com/v2/global-values/webinar_date \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
```

**Node.js**

```javascript
const res = await fetch('https://api.emailit.com/v2/global-values/webinar_date', {
  method: 'GET',
  headers: { Authorization: `Bearer ${process.env.EMAILIT_API_KEY}` },
});
const result = await res.json();
```

**Python**

```python
import os, requests

r = requests.get(
    "https://api.emailit.com/v2/global-values/webinar_date",
    headers={"Authorization": f"Bearer {os.environ['EMAILIT_API_KEY']}"},
)
result = r.json()
```

**PHP**

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://api.emailit.com/v2/']);

$response = $client->get('global-values/webinar_date', [
    'headers' => ['Authorization' => 'Bearer ' . getenv('EMAILIT_API_KEY')],
]);
$result = json_decode($response->getBody(), true);
```

---
Source: https://emailit.com/fr/docs/api-reference/global-values/get/

## Mettre à jour une valeur globale — POST /global-values/{id}

> Modifiez la valeur, la clé, le nom, le type ou la description d’une valeur globale. Les e-mails envoyés ensuite utilisent la nouvelle valeur.

# Mettre à jour une valeur globale

Modifie une valeur globale. Transmettez uniquement les champs à modifier. Nécessite une clé API de portée `full`.

Les e-mails envoyés ensuite utilisent la nouvelle valeur, de même que les exécutions d’automatisation qui atteignent une étape **Wait until** après la modification. Les exécutions déjà en attente conservent la date qu’elles ont lue. Changer la clé casse `{{global.<old key>}}` dans vos modèles.

`POST /global-values/{id}`

## Paramètres de chemin

- `id` (string, obligatoire): L’ID (`gv_…`) ou la clé.

## Paramètres du corps

- `key` (string): Une nouvelle clé, unique dans l’espace de travail.

- `name` (string | null): Un nom d’affichage.

- `type` (string): Un nouveau type. La valeur actuelle doit lui correspondre ; sinon, transmettez aussi une nouvelle `value`.

- `value` (string | number | boolean | null): La nouvelle valeur, vérifiée selon le type. `null` l’efface.

- `description` (string | null): Une note pour votre équipe.

## Réponse

Renvoie la [valeur globale](/fr/docs/api-reference/global-values/create/#the-global-value-object) mise à jour dans `data`. Renvoie `400` quand un champ n’est pas valide, `404` si elle n’existe pas, et `409` quand la nouvelle clé est déjà prise.

**Requête** `POST /global-values/{id}`

**cURL**

```bash
curl -X POST https://api.emailit.com/v2/global-values/webinar_date \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value": "2026-12-03T17:00:00Z"}'
```

**Node.js**

```javascript
const res = await fetch('https://api.emailit.com/v2/global-values/webinar_date', {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.EMAILIT_API_KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({"value": "2026-12-03T17:00:00Z"}),
});
const result = await res.json();
```

**Python**

```python
import os, requests

r = requests.post(
    "https://api.emailit.com/v2/global-values/webinar_date",
    headers={"Authorization": f"Bearer {os.environ['EMAILIT_API_KEY']}"},
    json={"value": "2026-12-03T17:00:00Z"},
)
result = r.json()
```

**PHP**

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://api.emailit.com/v2/']);

$response = $client->post('global-values/webinar_date', [
    'headers' => ['Authorization' => 'Bearer ' . getenv('EMAILIT_API_KEY')],
    'json' => ['value' => '2026-12-03T17:00:00Z'],
]);
$result = json_decode($response->getBody(), true);
```

---
Source: https://emailit.com/fr/docs/api-reference/global-values/update/

## Lister les valeurs globales — GET /global-values

> Listez toutes les valeurs globales de l’espace de travail, triées par clé.

# Lister les valeurs globales

Renvoie toutes les valeurs globales de l’espace de travail, triées par clé. Un espace de travail en compte 500 au maximum : il n’y a donc pas de pagination. Nécessite une clé API de portée `full`.

`GET /global-values`

## Réponse

- `data` (object[]): Les [valeurs globales](/fr/docs/api-reference/global-values/create/#the-global-value-object).

**Requête** `GET /global-values`

**cURL**

```bash
curl https://api.emailit.com/v2/global-values \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
```

**Node.js**

```javascript
const res = await fetch('https://api.emailit.com/v2/global-values', {
  method: 'GET',
  headers: { Authorization: `Bearer ${process.env.EMAILIT_API_KEY}` },
});
const result = await res.json();
```

**Python**

```python
import os, requests

r = requests.get(
    "https://api.emailit.com/v2/global-values",
    headers={"Authorization": f"Bearer {os.environ['EMAILIT_API_KEY']}"},
)
result = r.json()
```

**PHP**

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://api.emailit.com/v2/']);

$response = $client->get('global-values', [
    'headers' => ['Authorization' => 'Bearer ' . getenv('EMAILIT_API_KEY')],
]);
$result = json_decode($response->getBody(), true);
```

---
Source: https://emailit.com/fr/docs/api-reference/global-values/list/

## Supprimer une valeur globale — DELETE /global-values/{id}

> Supprimez une valeur globale. Les modèles qui l’utilisent l’affichent vide.

# Supprimer une valeur globale

Supprime une valeur globale. `{{global.<key>}}` est ensuite rendu vide, les conditions qui la vérifient ne trouvent aucune valeur, et les étapes **Wait until** qui la lisent prennent leur chemin « date passée ». Nécessite une clé API de portée `full`.

`DELETE /global-values/{id}`

## Paramètres de chemin

- `id` (string, obligatoire): L’ID (`gv_…`) ou la clé.

## Réponse

Renvoie `{ "message": "Global value was deleted." }`, ou `404`.

**Requête** `DELETE /global-values/{id}`

**cURL**

```bash
curl -X DELETE https://api.emailit.com/v2/global-values/seats \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
```

**Node.js**

```javascript
const res = await fetch('https://api.emailit.com/v2/global-values/seats', {
  method: 'DELETE',
  headers: { Authorization: `Bearer ${process.env.EMAILIT_API_KEY}` },
});
const result = await res.json();
```

**Python**

```python
import os, requests

r = requests.delete(
    "https://api.emailit.com/v2/global-values/seats",
    headers={"Authorization": f"Bearer {os.environ['EMAILIT_API_KEY']}"},
)
result = r.json()
```

**PHP**

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://api.emailit.com/v2/']);

$response = $client->delete('global-values/seats', [
    'headers' => ['Authorization' => 'Bearer ' . getenv('EMAILIT_API_KEY')],
]);
$result = json_decode($response->getBody(), true);
```

---
Source: https://emailit.com/fr/docs/api-reference/global-values/delete/
