Skip to content
TriedDocs
Contacts

List contact conversations

List a contact's calls and SMS chats in one timeline, newest first, paged by timestamp.

GEThttps://api.tried.com.au/list-contact-conversations/{id}

Returns the contact's voice calls and SMS chats merged into one list, newest first. Calls are matched by their link to the contact; SMS chats are matched by the contact's phone number on either side.

Request#

Field Type Required Description
id string Yes Path parameter. The contact_id.

Query parameters:

Field Type Required Description
limit integer No 1 to 200. Default 50.
before integer No Unix ms. Returns only conversations created before this time. Pass next_before from the previous page.
kind string No all (default), call or sms.

Example request#

curl "https://api.tried.com.au/list-contact-conversations/contact_4b8e2f1a9c3d5e7f6a0b2c4d?limit=20" \
  -H "Authorization: Bearer $TRIED_API_KEY"
const id = "contact_4b8e2f1a9c3d5e7f6a0b2c4d";
const res = await fetch(`https://api.tried.com.au/list-contact-conversations/${id}?limit=20`, {
  headers: { Authorization: `Bearer ${process.env.TRIED_API_KEY}` },
});
const page = await res.json();
import os, requests

contact_id = "contact_4b8e2f1a9c3d5e7f6a0b2c4d"
res = requests.get(
    f"https://api.tried.com.au/list-contact-conversations/{contact_id}",
    headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
    params={"limit": 20},
)
page = res.json()

Response#

200 OK

{
  "contact_id": "contact_4b8e2f1a9c3d5e7f6a0b2c4d",
  "conversations": [
    {
      "type": "call",
      "id": "call_7c1d2e3f4a5b6c7d8e9f0a1b",
      "timestamp": 1760853000000,
      "agent_id": "agent_3e4f5a6b7c8d9e0f1a2b3c4d",
      "agent_name": "Reception",
      "direction": "inbound",
      "duration_ms": 95000,
      "status": "ended",
      "summary": "Sam asked to move the Tuesday 3pm appointment to Thursday.",
      "user_sentiment": "Positive",
      "call_successful": true,
      "disconnection_reason": "user_hangup"
    },
    {
      "type": "sms",
      "id": "chat_9a8b7c6d5e4f3a2b1c0d9e8f",
      "timestamp": 1760766600000,
      "agent_id": "agent_3e4f5a6b7c8d9e0f1a2b3c4d",
      "agent_name": null,
      "direction": "outbound",
      "duration_ms": null,
      "status": "ended",
      "summary": null,
      "user_sentiment": null,
      "call_successful": null,
      "disconnection_reason": null
    }
  ],
  "next_before": null
}
Field Type Description
conversations[].type string call or sms.
conversations[].id string A call_id or an SMS chat ID.
conversations[].timestamp integer Unix ms. The call's start time (its creation time if it never started), or the chat's creation time.
conversations[].direction string inbound or outbound.
conversations[].status string The call's call_status, or the SMS chat's status.
conversations[].summary, user_sentiment, call_successful From the call's post-call analysis. Always null for SMS.
next_before integer or null Pass as before to get the next page. null when the page has fewer than limit items.

Errors#

Status When
401 Missing or invalid API key.
403 The key's IP allowlist or scopes reject the request. This route needs the calls scope.
404 Contact <id> not found.
429 Rate limit exceeded. See Rate limits.

See Errors for the body format.

Retell compatibility#

Same path and method as Retell. The response shape and paging differ: Tried returns conversations with a next_before timestamp cursor, and each item uses id and timestamp.