Answer the photo consent question
const url = 'https://app.mondochat.io/v1/conversations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/photo-consent';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"consent":"yes"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://app.mondochat.io/v1/conversations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/photo-consent \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "consent": "yes" }'Sets the caller’s answer to photos and voice notes from the peer. Takes a session token. yes releases the media held for consent; no rejects it and deletes it from storage, and later media is refused with 403 policy_denied and reason photos_off. The caller can change the answer at any time. See https://docs.mondochat.io/guides/media/.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”The receiver’s answer to photos and voice notes from the peer.
object
yes releases the media held for consent; no rejects it and refuses later media.
Responses
Section titled “Responses”Successful Response
A conversation in full, from the viewer’s side.
object
Whether the viewer archived it; needs workspace.queue.
Whether the viewer blocked the peer.
What the viewer may do here.
object
Block the peer.
Buy from the peer.
Start a call.
Send messages.
Send the peer an offer.
Send photos.
Send voice notes.
The conversation id.
The viewer can send the peer a sign-up invite.
The latest message of a conversation, as the viewer sees it.
object
True for an away reply.
When the message was sent.
True when deleted for everyone.
True only for the viewer’s own message once the peer received or read it.
The message id.
text, photo, video, voice, system or card.
True for a view-once message.
The text or caption up to 140 characters; empty for a message deleted for everyone; removed by moderation for a redacted one.
True only for the viewer’s own message once the peer has read it, and false while either participant has read_receipts off.
The other user.
object
The user’s id on your site.
The user’s id in mondochat.
Display name.
A role key from the app’s roles.
Whether the viewer pinned it; false while workspace.pins is off.
The viewer’s latest 3 paid sales here.
A paid purchase in a conversation.
The viewer’s inbox sequence for this row; keep the higher seq.
Messages from the peer the viewer has not read.
Example
{ "archived": false, "blocked_by_me": false, "can": { "block": true, "buy": false, "call": false, "message": true, "offer": false, "photos": true, "voice": true }, "first_contact": "2026-11-01T09:00:00Z", "id": "0199d6a0-2000-7000-8000-000000000001", "invitable": false, "last_message": { "auto": false, "created_at": "2026-11-01T09:58:30Z", "deleted": false, "delivered_to_peer": false, "id": "0199d6a0-3000-7000-8000-000000000001", "kind": "text", "once": false, "preview": "Hi Alice", "read_by_peer": false, "sender_id": "0199d6a0-1000-7000-8000-000000000002" }, "peer": { "avatar": "https://example.test/bob.jpg", "external_id": "bob", "id": "0199d6a0-1000-7000-8000-000000000002", "last_seen_at": "2026-11-01T09:58:00Z", "name": "Bob", "online": true, "presence_pass": "example-presence-pass", "role": "member" }, "pinned": false, "purchases": [], "seq": 7, "unread_count": 1}Problem
An RFC 9457 problem: the body of every error answer.
object
The stable error code to branch on, such as policy_denied.
What went wrong this time, when there is more to say.
For validation, one entry per invalid field.
One invalid field.
object
The path to the field.
What is wrong with it.
The path of the request.
For policy_denied and limit_reached, the rule or limit that refused the request; for forbidden, a short cause such as you_blocked; for banned, temporary when the ban expires.
The HTTP status code.
A short summary of the problem.
A URL that names the problem, https://app.mondochat.io/problems/<code>.
Example
{ "code": "policy_denied", "detail": null, "instance": "/v1/conversations/0199d6a0-2000-7000-8000-000000000001", "reason": "pins", "status": 403, "title": "Policy denied", "type": "https://app.mondochat.io/problems/policy_denied"}