Définir la photo d'un contact
Téléverse la photo affichée pour un contact, en remplaçant celle qui existait. Le corps est l'image elle-même, pas du JSON, avec son type dans `Content-Type` : `image/png`, `image/jpeg`, `image/webp` ou `image/gif`, jusqu'à 5 MB. Elle est ajustée dans un carré de 512 pixels et stockée en WebP, et une image animée garde sa première image.
Exécute le véritable appel sur votre espace de travail, avec votre propre clé.
PUT /contacts/{email}/photo
Téléverse la photo affichée pour un contact, en remplaçant celle qui existait. Le corps est l'image elle-même, pas du JSON, avec son type dans Content-Type : image/png, image/jpeg, image/webp ou image/gif, jusqu'à 5 MB. Elle est ajustée dans un carré de 512 pixels et stockée en WebP, et une image animée garde sa première image.
Exemple
Nécessite contacts:write. L'adresse doit être un contact enregistré, alors enregistrez-la d'abord avec PUT /contacts/{email}.
curl -X PUT "$OE/contacts/grace%40example.com/photo" -H "$AUTH" -H 'content-type: image/jpeg' --data-binary @grace.jpg{ "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" } ]}Une adresse qui n'est pas un contact enregistré donne un 404 contact_not_found. Un corps qui n'est pas une image d'un type accepté, qui dépasse 5 MB ou qui ne peut pas être lu donne un 422 invalid_image.
Un service d'images saturé répond 503 image_busy, qu'on peut réessayer sans risque. Chaque téléversement reçoit une nouvelle photoUrl, si bien qu'une ancienne photo en cache ne s'affiche jamais à la place de la nouvelle.