Установка фото контакта
Загружает фото, которое показывается для контакта, заменяя прежнее. Тело это само изображение, а не JSON, с типом в `Content-Type`: `image/png`, `image/jpeg`, `image/webp` или `image/gif`, до 5 MB. Оно вписывается в квадрат 512 пикселей и хранится как WebP, а у анимированного изображения остаётся первый кадр.
Выполняет настоящий запрос в вашем рабочем пространстве, с вашим собственным ключом.
PUT /contacts/{email}/photo
Загружает фото, которое показывается для контакта, заменяя прежнее. Тело это само изображение, а не JSON, с типом в Content-Type: image/png, image/jpeg, image/webp или image/gif, до 5 MB. Оно вписывается в квадрат 512 пикселей и хранится как WebP, а у анимированного изображения остаётся первый кадр.
Пример
Требуется contacts:write. Адрес должен быть сохранённым контактом, поэтому сначала сохраните его через 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" } ]}Адрес, который не является сохранённым контактом, даёт 404 contact_not_found. Тело, которое не изображение допустимого типа, больше 5 MB или не читается, даёт 422 invalid_image.
Перегруженный сервис изображений отвечает 503 image_busy, запрос можно безопасно повторить. Каждая загрузка получает новый photoUrl, так что старое фото из кэша никогда не появится вместо нового.