Set the account profile picture (URL or base64 image)
PUT/api/sessions/:sessionId/profile/picture
Set the account profile picture (URL or base64 image)
Request
Responses
- 200
- 400
- 403
- 409
- 413
- 503
Profile picture updated
Neither url nor base64 provided, base64 without mimetype, or session is not started
The whatsapp-web.js engine refused the picture change. The Baileys engine has no acceptance signal and answers 200 for an upload WhatsApp declined.
The session is not connected — an engine exists for it but is not ready: disconnected, reconnecting, or still initializing, so the request never reached WhatsApp. Wait for ready and retry. A session that was never started answers 400 instead, and the session lifecycle routes answer 409 for a conflicting state rather than this. One window answers this while the session still reads ready: WhatsApp Web periodically reloads its own page and the engine re-injects into it — for those few seconds the answer is a 409 naming the reload; retry shortly.
Decoded base64 image exceeds the configured media cap
WhatsApp did not answer within the request budget. The change may or may not have been applied — the gateway stopped waiting for a confirmation that never came.