Skip to content

Mark messages delivered for a user

POST
/v1/server/conversations/{id}/delivered
curl --request POST \
--url https://app.mondochat.io/v1/server/conversations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/delivered \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Mondochat-App-Id: <Mondochat-App-Id>' \
--data '{ "external_id": "bob", "message_id": "0199d6a0-3000-7000-8000-000000000001" }'

Does what the user’s own delivered route does for the user with that external_id, without a session: it does not count the user active, record an IP, write an audit row or change the profile. A repeat is a no-op. Answers 404 for an unknown or deleted user, a user who is not in the conversation, a conversation of another app and a message the user cannot see. Takes the app id and the server secret. See https://docs.mondochat.io/guides/messages/.

id
required
Id
string format: uuid
Media typeapplication/json
ServerDelivered

A delivery report made by your server for one of your users.

object
external_id
required
External Id

The user the message reached, as on your site.

string
/^[A-Za-z0-9._:@-]{1,128}$/
message_id
required
Message Id

The last message delivered to that user.

string format: uuid

Successful Response

Problem

Media typeapplication/problem+json

An RFC 9457 problem: the body of every error answer.

object
code
required

The stable error code to branch on, such as policy_denied.

string
detail

What went wrong this time, when there is more to say.

string | null
errors

For validation, one entry per invalid field.

Array<object>

One invalid field.

object
loc

The path to the field.

array
msg

What is wrong with it.

string
instance

The path of the request.

string
reason

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.

string
status
required

The HTTP status code.

integer
title
required

A short summary of the problem.

string
type
required

A URL that names the problem, https://app.mondochat.io/problems/<code>.

string

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"
}