# Valores globales API

> Valores para todo el espacio de trabajo que se reutilizan en emails, pasos de automatización y condiciones como {{global.key}}.

URL base: `https://api.emailit.com/v2`. Autentícate con `Authorization: Bearer <API key>`.

## Crear un valor global — POST /global-values

> Crea un valor para todo el espacio de trabajo, como la fecha de un webinar o un enlace de reserva, que se usa como {{global.key}} en emails, pasos de automatización y condiciones.

# Crear un valor global

Crea un valor global: un único valor para todo el espacio de trabajo, que se usa como `{{global.<key>}}` en plantillas, campañas, emails y ajustes de los pasos de las automatizaciones, en condiciones y como fecha hasta la que esperar. Requiere una clave de API con el permiso `full`. Consulta [Valores globales](/es/docs/contacts/global-values/).

`POST /global-values`

## Parámetros del cuerpo

- `key` (string, obligatorio): Empieza por una letra minúscula y usa letras minúsculas, dígitos y `_`, hasta 64 caracteres. Única en el espacio de trabajo.

- `name` (string): Un nombre visible, de hasta 191 caracteres.

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

- `value` (string | number | boolean): El valor, que se comprueba según el tipo: un número para `number`, `true` o `false` para `boolean`, `YYYY-MM-DD` para `date`, una fecha y hora ISO 8601 para `datetime` (se guarda en UTC) y una URL `http` o `https` para `url`.

- `description` (string): Una nota para tu equipo, de hasta 1000 caracteres.

## Devuelve

Devuelve `201` con el [valor global](#the-global-value-object) en `data`. Devuelve `400` con `errors` si un campo no es válido, `409` si la clave ya está en uso y `422` si el espacio de trabajo ya tiene 500 valores globales.

**Petición** `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);
```

## Objeto de valor global

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

- `id` (string): El ID (`gv_…`).

- `key` (string): La clave, que se usa como `{{global.<key>}}`.

- `name` (string | null): Un nombre visible.

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

- `value` (string | number | boolean | null): El valor: un número para `number`, `true` o `false` para `boolean` y, en los demás casos, una cadena (`YYYY-MM-DD` para `date`, ISO 8601 en UTC para `datetime`).

- `description` (string | null): Una nota para tu equipo.

- `created_at` (string): Cuándo se creó.

- `updated_at` (string): Cuándo cambió por última vez.

---
Fuente: https://emailit.com/es/docs/api-reference/global-values/create/

## Obtener un valor global — GET /global-values/{id}

> Obtén un valor global por su ID o su clave.

# Obtener un valor global

Devuelve un valor global. Requiere una clave de API con el permiso `full`.

`GET /global-values/{id}`

## Parámetros de ruta

- `id` (string, obligatorio): El ID (`gv_…`) o la clave.

## Devuelve

Devuelve el [valor global](/es/docs/api-reference/global-values/create/#the-global-value-object) en `data`, o `404`.

**Petición** `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);
```

---
Fuente: https://emailit.com/es/docs/api-reference/global-values/get/

## Actualizar un valor global — POST /global-values/{id}

> Cambia el valor, la clave, el nombre, el tipo o la descripción de un valor global. Los emails que se envíen a partir de ese momento usan el valor nuevo.

# Actualizar un valor global

Cambia un valor global. Envía solo los campos que quieras cambiar. Requiere una clave de API con el permiso `full`.

Los emails que se envíen a partir de ese momento usan el valor nuevo, y también las ejecuciones de automatizaciones que lleguen después a un paso **Wait until**. Las ejecuciones que ya están esperando conservan la fecha que leyeron. Cambiar la clave rompe `{{global.<old key>}}` en tus plantillas.

`POST /global-values/{id}`

## Parámetros de ruta

- `id` (string, obligatorio): El ID (`gv_…`) o la clave.

## Parámetros del cuerpo

- `key` (string): Una clave nueva, única en el espacio de trabajo.

- `name` (string | null): Un nombre visible.

- `type` (string): Un tipo nuevo. El valor actual tiene que encajar en él; si no, envía también un `value` nuevo.

- `value` (string | number | boolean | null): El valor nuevo, que se comprueba según el tipo. `null` lo borra.

- `description` (string | null): Una nota para tu equipo.

## Devuelve

Devuelve el [valor global](/es/docs/api-reference/global-values/create/#the-global-value-object) actualizado en `data`. Devuelve `400` si un campo no es válido, `404` si no existe y `409` si la clave nueva ya está en uso.

**Petición** `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);
```

---
Fuente: https://emailit.com/es/docs/api-reference/global-values/update/

## Listar valores globales — GET /global-values

> Lista todos los valores globales del espacio de trabajo, ordenados por clave.

# Listar valores globales

Devuelve todos los valores globales del espacio de trabajo, ordenados por clave. Un espacio de trabajo tiene como máximo 500, así que no hay paginación. Requiere una clave de API con el permiso `full`.

`GET /global-values`

## Devuelve

- `data` (object[]): Los [valores globales](/es/docs/api-reference/global-values/create/#the-global-value-object).

**Petición** `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);
```

---
Fuente: https://emailit.com/es/docs/api-reference/global-values/list/

## Eliminar un valor global — DELETE /global-values/{id}

> Elimina un valor global. Las plantillas que lo usan lo renderizan vacío.

# Eliminar un valor global

Elimina un valor global. A partir de ese momento, `{{global.<key>}}` se renderiza vacío, las condiciones sobre él no ven ningún valor y los pasos **Wait until** que lo leen toman su camino de «fecha pasada». Requiere una clave de API con el permiso `full`.

`DELETE /global-values/{id}`

## Parámetros de ruta

- `id` (string, obligatorio): El ID (`gv_…`) o la clave.

## Devuelve

Devuelve `{ "message": "Global value was deleted." }`, o `404`.

**Petición** `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);
```

---
Fuente: https://emailit.com/es/docs/api-reference/global-values/delete/
