Send a message to a user.
Changed onSends a message to one of your users on the selected channels (in-app inbox, mobile push, email, SMS). The user must belong to your operator.<br/><br/>Messages do not support the partnerExternalId / partnerCustomPayload custom-data fields (§11) — they are transient delivery records rather than partner-managed entities.<br/><br/>Clients may send an Idempotency-Key header for safe retry semantics; the header is currently accepted and ignored (no enforcement yet).<br/><br/>Required scope: messages:write
Request
- Base URLhttps://partner-api.monta.com
- URLhttps://partner-api.monta.com/api/v1/messages
- AuthHTTP bearer
Headers
Opaque client-supplied key used for safe retries. Accepted today; behavior not yet enforced.
Request body
Example request
{
"userId": 42,
"body": "Your charge at Main Street is complete.",
"subject": "Charge complete",
"actionUrl": "https://app.monta.com/charges/42",
"channels": {
"webInbox": true
}
}Response
The message was accepted and is being delivered
Example response
{
"id": "1024",
"userId": 42,
"body": "Your charge at Main Street is complete.",
"subject": "Charge complete",
"channels": {
"webInbox": true
},
"deliveryResults": {
"webInbox": {
"status": "delivered",
"at": "2026-06-26T13:40:01Z"
},
"mobilePush": {
"status": "delivered",
"at": "2026-06-26T13:40:01Z"
},
"email": {
"status": "delivered",
"at": "2026-06-26T13:40:01Z"
},
"sms": {
"status": "delivered",
"at": "2026-06-26T13:40:01Z"
}
},
"readAt": "2026-06-26T13:47:14.123Z",
"createdAt": "2026-06-26T13:40:00Z"
}Changes
- warning
removed the request property
- warning
removed the optional property
from the response with the status - info
added the new optional request property
- info
added the optional property
to the response with the status
- warning