# Actualizar contacto (/es/api-reference/contacts/updateContact)

`PATCH /v1/contacts/{id}`

Base URL: `https://api.bitelio.com`

Actualiza el correo, el estado de suscripción o los campos `data` de un contacto existente.

---

**Versionado de rutas.** Este recurso también responde en `/contacts/{id}`, sin versionar, que es donde siempre ha estado y donde seguirá funcionando indefinidamente — `bitelio@0.1.0` llama ahí. Usa `/v1/contacts/{id}`: el prefijo `/v1` es el que lleva una promesa de versión detrás, y un futuro `/v2` podrá cambiar de forma sin romper nada escrito contra este.

## Path parameters

- `id`: string (required)

## Request body

- `email`: string (email) — Cambia la dirección de correo del contacto. Devuelve 409 si otro contacto del proyecto ya usa ese correo.
- `subscribed`: boolean — Actualiza el estado de suscripción. Cambiarlo dispara `contact.subscribed` o `contact.unsubscribed`.
- `data`: object — Modifica parcialmente los datos del contacto. `null` elimina una clave, los strings vacíos se ignoran, los valores primitivos se guardan. Las claves reservadas se filtran silenciosamente.

Example:

```json
{
  "email": "user@example.com",
  "subscribed": false,
  "data": null
}
```

## Responses

### `200` — Contacto actualizado

- `id`: string — Identificador único del contacto
- `email`: string (email) — Dirección de correo electrónico del contacto
- `subscribed`: boolean — Estado de suscripción
- `data`: object — Campos de datos personalizados del contacto
- `createdAt`: string (date-time)
- `updatedAt`: string (date-time)

```json
{
  "id": "string",
  "email": "user@example.com",
  "subscribed": false,
  "data": null,
  "createdAt": "2026-10-13T07:11:40.093Z",
  "updatedAt": "2026-10-13T07:11:40.093Z"
}
```

### `409` — Un contacto existente ya usa el correo que intentas establecer.

## Example request

```bash
curl -X PATCH 'https://api.bitelio.com/v1/contacts/{id}' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"email":"user@example.com","subscribed":false,"data":null}'
```
