Definir a foto de um contacto
Carrega a foto mostrada para um contacto, substituindo a que houvesse. O corpo é a própria imagem, não JSON, com o tipo em `Content-Type`: `image/png`, `image/jpeg`, `image/webp` ou `image/gif`, até 5 MB. É ajustada a um quadrado de 512 píxeis e guardada como WebP, e de uma imagem animada fica a primeira moldura.
Executa a chamada real contra o seu espaço de trabalho, com a sua própria chave.
PUT /contacts/{email}/photo
Carrega a foto mostrada para um contacto, substituindo a que houvesse. O corpo é a própria imagem, não JSON, com o tipo em Content-Type: image/png, image/jpeg, image/webp ou image/gif, até 5 MB. É ajustada a um quadrado de 512 píxeis e guardada como WebP, e de uma imagem animada fica a primeira moldura.
Exemplo
Requer contacts:write. O endereço tem de ser um contacto guardado, por isso guarde-o primeiro com 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" } ]}Um endereço que não é um contacto guardado é um 404 contact_not_found. Um corpo que não é uma imagem de um tipo aceite, tem mais de 5 MB ou não pode ser lido é um 422 invalid_image.
Um serviço de imagens sobrecarregado responde 503 image_busy, que se pode repetir sem risco. Cada carregamento recebe uma photoUrl nova, por isso uma foto antiga em cache nunca aparece no lugar da nova.