Skip to main content
PATCH
/
api
/
v1
/
master-inbox
/
change-read-status
# Mark as read
curl -X PATCH "https://server.smartlead.ai/api/v1/master-inbox/change-read-status?api_key=YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email_lead_map_id": 2433664091, "read_status": true}'

# Mark as unread
curl -X PATCH "https://server.smartlead.ai/api/v1/master-inbox/change-read-status?api_key=YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email_lead_map_id": 2433664091, "read_status": false}'
{
  "success": true,
  "message": "Read status updated",
  "data": {
    "email_lead_map_id": 2433664091,
    "is_read": true,
    "updated_at": "2025-01-20T15:30:00Z"
  }
}
Deprecated Endpoint: The old endpoint PATCH /v1/master-inbox/mark-unread is deprecated after August 14, 2025. Use this endpoint (change-read-status) instead with read_status: false.
Manage read/unread status of lead conversations. Essential for inbox organization and tracking which emails need attention.

Overview

Changes the read/unread status of a lead conversation. Replaces the deprecated /mark-unread endpoint with more flexible boolean control. Migration from /mark-unread:
# OLD (deprecated after Aug 14, 2025)
PATCH /v1/master-inbox/mark-unread
Body: {"email_lead_map_id": 123}

# NEW (use this)
PATCH /v1/master-inbox/change-read-status
Body: {"email_lead_map_id": 123, "read_status": false}

Query Parameters

api_key
string
required
Your SmartLead API key

Request Body

email_lead_map_id
number
required
The ID of the lead-campaign mapping. This is the campaign_lead_map_id from inbox endpoints.
read_status
boolean
required
Target read status:
  • true: Mark as read
  • false: Mark as unread
# Mark as read
curl -X PATCH "https://server.smartlead.ai/api/v1/master-inbox/change-read-status?api_key=YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email_lead_map_id": 2433664091, "read_status": true}'

# Mark as unread
curl -X PATCH "https://server.smartlead.ai/api/v1/master-inbox/change-read-status?api_key=YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email_lead_map_id": 2433664091, "read_status": false}'

Response Example

{
  "success": true,
  "message": "Read status updated",
  "data": {
    "email_lead_map_id": 2433664091,
    "is_read": true,
    "updated_at": "2025-01-20T15:30:00Z"
  }
}

Common Workflows

Bulk Mark as Read

def bulk_mark_as_read(lead_map_ids):
    """Mark multiple emails as read"""
    results = []
    for lead_id in lead_map_ids:
        result = mark_as_read(lead_id)
        results.append(result)
    return results

# Mark all unread as read
unread = get_unread_replies({})
lead_ids = [msg['campaign_lead_map_id'] for msg in unread['messages']]
bulk_mark_as_read(lead_ids)