PATCH /api/v1/contacts/{contactId}
Actualiza la identidad de un contacto. Solo se aceptan dos campos:
Un campo que no envías queda intacto.
El estado no se puede editar aquí. Un
status enviado en el cuerpo se ignora: nunca cambia el estado de suscripción. Usa /unsubscribe y /resubscribe, que son actos explícitos.Autorización
| Rol en la organización | Este endpoint |
|---|---|
OWNER | Permitido |
ADMIN | Permitido |
MEMBER | Rechazado — 403 |
Cuerpo de la solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
firstName | string | no | Hasta 100 caracteres, null lo borra |
lastName | string | no | Hasta 100 caracteres, null lo borra |
Ejemplo
bash
curl -X PATCH -H "x-api-key: $AGENTMAIL_API_KEY" -H "content-type: application/json" \
-d '{"firstName":"Camille","lastName":"Dubois"}' \
"https://www.agentsmail.io/api/v1/contacts/$CONTACT_ID"Respuesta
200 OK: la llamada se realizó correctamente.401 Unauthorized: clave ausente o no válida, o su propietario salió de la organización.403 Forbidden: el propietario de la clave esmemberde la organización, noadmin.404 Not Found: no existe ese recurso, o pertenece a otra organización. La API nunca confirma que un id existe a un llamante que no tiene derecho sobre él.429 Too Many Requests: más de 120 solicitudes en un minuto para esta clave.
Campos de la respuesta
| Campo | Tipo | Descripción |
|---|---|---|
success | boolean | Indica si la operación se realizó correctamente |
data.id | string | Identificador único del contacto |
data.email | string | Su dirección: única dentro de su lista |
data.firstName | string | null |
data.lastName | string | null |
data.status | string | pending, subscribed, unsubscribed, bounced, complained |
data.listId | string | La lista a la que pertenece |
data.list | object | {id, name} de esa lista |
data.tags | array | {id, name} de cada etiqueta que lleva |
data.createdAt | string | Fecha de creación ISO |
data.updatedAt | string | Fecha ISO del último cambio |
Ejemplo de respuesta
json
{
"success": true,
"data": {
"id": "4d19c0a2",
"email": "ada@example.com",
"firstName": "Ada",
"lastName": "Lovelace",
"status": "subscribed",
"listId": "0b7c51e8",
"list": {
"id": "0b7c51e8",
"name": "Newsletter"
},
"tags": [
{
"id": "7c2ef4b1",
"name": "vip"
}
],
"createdAt": "2026-08-23T10:22:05.000Z",
"updatedAt": "2026-08-23T10:22:05.000Z"
}
}