Ir a la documentación
API

Poner la foto de un contacto

Sube la foto que se muestra para un contacto y sustituye la que hubiera. El cuerpo es la propia imagen, no JSON, con su tipo en `Content-Type`: `image/png`, `image/jpeg`, `image/webp` o `image/gif`, hasta 5 MB. Se ajusta a un cuadrado de 512 píxeles y se guarda como WebP, y de una imagen animada se queda el primer fotograma.

PUTapi.openemail.uk/contacts/{email}/photo

Ejecuta la llamada real contra tu espacio de trabajo, con tu propia clave.

PUT /contacts/{email}/photo

Sube la foto que se muestra para un contacto y sustituye la que hubiera. El cuerpo es la propia imagen, no JSON, con su tipo en Content-Type: image/png, image/jpeg, image/webp o image/gif, hasta 5 MB. Se ajusta a un cuadrado de 512 píxeles y se guarda como WebP, y de una imagen animada se queda el primer fotograma.

Ejemplo

Requiere contacts:write. La dirección tiene que ser un contacto guardado, así que guárdala antes con PUT /contacts/{email}.

curl
curl -X PUT "$OE/contacts/grace%40example.com/photo" -H "$AUTH" -H 'content-type: image/jpeg' --data-binary @grace.jpg
Respuesta
{  "object": "contact",  "email": "[email protected]",  "name": "Grace Hopper",  "source": "manual",  "notes": null,  "photoUrl": "https://cdn-prod.openemail.uk/contacts/photos/5b0e2c7a-91d4-4f3e-8a26-c4f1d9e07b3a.webp",  "lastSeenAt": null,  "createdAt": "2026-09-18T09:00:00.000Z",  "updatedAt": "2026-09-23T10:20:00.000Z",  "audiences": [    { "id": "aud_9f2c4b7e1a0d63d84c5f2e7b", "name": "All contacts", "builtin": "default" }  ]}

Una dirección que no es un contacto guardado es un 404 contact_not_found. Un cuerpo que no es una imagen de un tipo aceptado, que pasa de 5 MB o que no se puede leer es un 422 invalid_image.

Un servicio de imágenes saturado responde 503 image_busy, que se puede reintentar sin riesgo. Cada subida recibe una photoUrl nueva, así que una foto antigua en caché nunca aparece en lugar de la nueva.