# Mark a conversation as read (v2)

Mark the participant's conversation as read — clears the unread badge and sends a read receipt to the customer. Pass participantId (and optionally the last inbound messageId, which the server otherwise looks up).

Endpoint: POST /pl4chat-service/api/v2/messages/read
Version: 3.0.0
Security: apikeyAuth

## Query parameters:

  - `participantId` (string, required)
    Chat participant whose conversation is being marked read.
    Example: "a1b2c3d4-e5f6-7890-a1b2-c3d4e5f67890"

  - `messageId` (string)
    Optional last inbound WhatsApp message id for the read receipt; looked up when omitted.
    Example: "wamid.HBgNMjc4MjEyMzQ1Njc4FQIAEhgg"

## Response 401 fields (application/json):

  - `status` (string)
    Example: "ERROR"

  - `message` (string)
    Example: "Unauthorized user"

  - `requestId` (string)
    Example: "c3a1f8e2-4b6d-11ee-be56-0242ac120002"

  - `timestamp` (string)
    Example: "2026-01-15T10:30:00Z"

## Response 403 fields (application/json):

  - `status` (string)
    Example: "ERROR"

  - `message` (string)
    Example: "Forbidden"

  - `requestId` (string)
    Example: "c3a1f8e2-4b6d-11ee-be56-0242ac120002"

  - `timestamp` (string)
    Example: "2026-01-15T10:30:00Z"

## Response 404 fields (application/json):

  - `status` (string)
    Example: "ERROR"

  - `message` (string)
    Example: "Resource not found"

  - `requestId` (string)
    Example: "c3a1f8e2-4b6d-11ee-be56-0242ac120002"

  - `timestamp` (string)
    Example: "2026-01-15T10:30:00Z"


## Response 200 fields
