messaging.message.treated

The messaging.message.treated event is triggered when a participant marks a groupchat message as treated or resolved. This event is exclusive to groupchat conversations and is initiated by calling the PATCH /v1/messages/actions/treat API endpoint. This status is independent of the seen status, meaning a message can be treated without being seen, and vice versa. This event includes the complete message payload with updated status history and participant information.

Payload JSON

{
  "eventBatchId": "d1114ee6-4b06-43f0-b034-2f98acb27bf1",
  "eventSubscriptionId": "7477120c-0229-44ea-9d87-b36fef2566ef",
  "eventBatchTime": "2026-03-31T13:59:53.3712465Z",
  "eventsData": [
    {
      "eventType": "message.treated",
      "eventVersion": 1,
      "eventData": {
        "registeredOn": "2026-03-31T13:59:52Z",
        "messageId": "b6b2961a-d32d-45e0-a2ea-2bc1219e5ee2",
        "conversationId": "803233ba-1935-4a4d-8af5-4bd9a5d45245",
        "conversationType": "groupchat",
        "sender": {
          "senderId": "8340b144-e4d3-463b-a6d3-b8ea6074651c",
          "roleType": "Driver"
        },
        "recipientId": "803233ba-1935-4a4d-8af5-4bd9a5d45245",
        "contentType": "text",
        "content": "1",
        "replyToMessageId": null,
        "statusHistory": {
          "currentStatus": "Treated",
          "lastUpdatedAt": "2026-03-31T13:59:52Z",
          "events": [
            {
              "status": "Pending",
              "timestamp": "2026-03-31T13:57:37Z"
            },
            {
              "status": "Delivered",
              "timestamp": "2026-03-31T13:59:52Z"
            },
            {
              "status": "Treated",
              "timestamp": "2026-03-31T13:59:52Z",
              "participant": {
                "participantId": "1e8ee916-ab83-4402-8048-0d949231d586",
                "roleType": "User"
              }
            }
          ]
        }
      }
    }
  ]
}

Field level Description

FieldTypeOptional/RequiredDescription
eventBatchIdString (UUID)RequiredA unique identifier for this batch of events. Multiple events occurring close together may be grouped into a single batch.
eventSubscriptionIdString (UUID)RequiredA unique identifier representing the subscription through which this event was delivered. It ensures traceability between the event and the organization's registered DHS subscription.
eventBatchTimeDateTime (ISO 8601 timestamp, UTC)RequiredThe timestamp when this event batch was created and prepared for delivery.
eventsDataArrayRequiredAn array containing one or more message event objects. Multiple messages can be batched together if they occur in close temporal proximity.
eventsData[].eventTypeStringRequiredThe type of event. For this event: message.treated.
eventsData[].eventVersionIntegerRequiredThe version of the event schema. Currently 1.
eventsData[].eventDataObjectRequiredContains the message event payload data.
eventData.registeredOnDateTime (ISO 8601 timestamp, UTC)RequiredThe timestamp when this event was registered in the system.
eventData.messageIdString (UUID)RequiredA globally unique identifier assigned to this specific message instance. Used for message tracking, deduplication, and referencing in subsequent status updates.
eventData.conversationIdString (UUID)RequiredIdentifies the groupchat conversation in which this message was sent. All messages within the same conversation share this identifier.
eventData.conversationTypeStringRequiredIndicates the type of conversation where the message was sent. For this event, the value is always:
groupchat — Group conversation with multiple participants. The treated status is exclusive to groupchat conversations and does not apply to one-to-one chat.
eventData.senderObjectRequiredContains information about the message sender.
eventData.sender.senderIdString (UUID)RequiredThe unique identifier of the user who sent the message.
eventData.sender.roleTypeStringRequiredThe role of the sender within the system. Examples include:
User — Standard user.
Driver — Vehicle driver.
eventData.recipientIdString (UUID)RequiredThe unique identifier of the message recipient. For groupchat, this is the group conversation ID.
eventData.contentTypeStringRequiredSpecifies the format of the message content. Supported values:
text — Plain text message content.
image — Image attachment.
file — File attachment (currently supports PDF only).
eventData.contentStringOptionalThe message text when contentType is text, or an optional caption when contentType is image or file.
eventData.replyToMessageIdString (UUID) or nullRequiredThe message ID of the original message being replied to. Set to null if the message is not a reply.
eventData.statusHistoryObjectRequiredContains the complete status lifecycle information for this message, including current status and historical events.
statusHistory.currentStatusStringRequiredThe current delivery status of the message. For this event:
Treated — A participant has marked the message as treated or resolved. This status is independent of the seen status.
statusHistory.lastUpdatedAtDateTime (ISO 8601 timestamp, UTC)RequiredThe timestamp when the message status was last updated. This reflects when the message was marked as treated.
statusHistory.eventsArrayRequiredAn ordered array of status transition events, providing a complete audit trail of the message lifecycle. Each event represents a state change. Note that Treated can occur independently of seen status.
statusHistory.events[].statusStringRequiredThe status that the message transitioned to. Possible values in this payload:
Pending — Message was successfully sent from the sender.
Delivered — Message was confirmed delivered to recipient device(s).
Treated — Message was marked as treated by a participant, triggered by calling PATCH /v1/messages/actions/treat.
statusHistory.events[].timestampDateTime (ISO 8601 timestamp, UTC)RequiredThe timestamp when this specific status transition occurred.
statusHistory.events[].participantObjectOptionalContains information about the participant who triggered the status change. Present on the Treated status event.
statusHistory.events[].participant.participantIdString (UUID)RequiredThe unique identifier of the participant who marked the message as treated. This identifies which team member acknowledged or resolved the message.
statusHistory.events[].participant.roleTypeStringRequiredThe role of the participant. Examples include:
User — Standard user.
Driver — Vehicle driver.