Check Replies
Replies
Check Replies
Get replies for a lead or campaign — who replied, what they said, and the conversation context. REST endpoint in the Tuco AI iMessage API — bearer-token auth.
GET
Check Replies
Use this endpoint to check if a specific lead has replied, or to list all leads who replied (optionally scoped to a campaign). Returns the reply text, up to 10 recent replies from the lead, and up to 10 outbound messages you sent them.
Authentication
Query parameters
Replies from this lead only (valid ObjectId; returns 404 if lead not found).
Restrict to leads who replied and are in this campaign.
Filter by reply sender email.
Filter by reply sender phone (E.164 or normalized).
Restrict to replies received on this Tuco line (24-char ObjectId hex). Returns
400 if malformed.Inclusive ISO 8601 UTC lower bound on the reply timestamp (e.g.
2026-06-01T00:00:00Z). Returns 400 if unparseable or greater than dateTo.Inclusive ISO 8601 UTC upper bound on the reply timestamp.
Page number.
Results per page (max 100).
Examples
Success response (200)
Reply fields
Lead who replied.
ID of the most recent reply message.
The reply text (e.g. “Stop”, “Interested!”, “Call me tomorrow”).
ISO 8601 timestamp of the most recent reply.
Lead’s phone number.
Lead’s email address.
Lead’s display name.
recentReplies (up to 10)
All inbound replies from this lead, newest first. Gives you the full conversation context from their side.parentMessages (up to 10)
Outbound messages you sent to this lead, newest first. Shows what you said before they replied.Error responses
| Status | When | Body |
|---|---|---|
400 | Invalid leadId or campaignId | { "error": "Invalid leadId" } or { "error": "Invalid campaignId" } |
400 | Invalid lineId (not a 24-char ObjectId hex) | { "error": "Invalid lineId" } |
400 | dateFrom / dateTo unparseable | { "error": "Invalid dateFrom" } or { "error": "Invalid dateTo" } |
400 | dateFrom > dateTo | { "error": "dateFrom must be <= dateTo" } |
401 | Missing or invalid API key | { "error": "Unauthorized" } |
404 | leadId provided but lead not found | { "error": "Lead not found or access denied" } |
404 | campaignId provided but campaign not found | { "error": "Campaign not found" } |
429 | Rate-limited (120 req/min per workspace) | { "error": "Rate limit exceeded" } |
500 | Server error | { "error": "Failed to fetch replies" } |