Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.replyful.com/llms.txt

Use this file to discover all available pages before exploring further.

Returns a single conversation by its ID, with the full message thread embedded inline. Archived conversations are not returned.
GET /v1/conversations/{id}

Authentication

Bearer token in the Authorization header. See Authentication.
Authorization: Bearer rfl_live_...

Path parameters

id
string
required
Conversation ID prefixed with conv_.

Response

Returns a Conversation object with the full message thread embedded under messages.

The Conversation object

id
string
Unique identifier prefixed with conv_.
object
string
Always "conversation".
title
string
Conversation subject or summary.
status
string
Current status. One of waiting_for_user, needs_first_response, needs_follow_up, scheduled_ai_response, assumed_resolved, resolved, spam, paused, investigating.
supportLevel
string
Who is currently handling the conversation. One of ai, human.
channel
object
The channel the conversation belongs to.
contact
object
The contact who started the conversation.
assignedToUser
object | null
The teammate the conversation is assigned to. null when unassigned.
topics
array
Topics applied to the conversation.
tags
array
Tags applied to the conversation.
urgencyScore
integer | null
Urgency rating from 1 (not urgent) to 3 (critical). null when unscored.
lastMessagePreview
string | null
First 200 characters of the conversation’s opening message. Truncated with when longer. null if the conversation has no messages.
createdAt
string
ISO 8601 UTC timestamp of conversation creation.
updatedAt
string
ISO 8601 UTC timestamp of the most recent update.
waitingSince
string | null
ISO 8601 UTC timestamp of when the conversation started waiting for a response. null if not waiting.
firstHumanReplyAt
string | null
ISO 8601 UTC timestamp of the first human reply. null if no human has replied yet.
resolvedAt
string | null
ISO 8601 UTC timestamp of resolution. null while the conversation is open.
messages
array
Every message in the thread, ordered by createdAt ascending.

Examples

Fetch a conversation

curl https://api.replyful.com/v1/conversations/conv_01HK7G3M8YPQ1A0R3N2X9Y4ZBC \
  -H "Authorization: Bearer rfl_live_..."
Response
{
  "id": "conv_01HK7G3M8YPQ1A0R3N2X9Y4ZBC",
  "object": "conversation",
  "title": "Refund request",
  "status": "needs_first_response",
  "supportLevel": "ai",
  "channel": {
    "id": "chan_01HK6P9X2D3R5T7V9W1Y3Z5BCE",
    "name": "Support inbox",
    "type": "email"
  },
  "contact": {
    "id": "ct_01HK6QFE7T2N4P6S8U0W2Y4ABD",
    "name": "Ada Lovelace",
    "email": "[email protected]"
  },
  "assignedToUser": {
    "id": "user_01HK6S2A4F6H8J0L2N4P6Q8RST",
    "name": "Grace Hopper",
    "email": "[email protected]"
  },
  "topics": [
    { "id": "tpc_01HK6RB...", "name": "Billing", "color": "#0098da" }
  ],
  "tags": [
    { "id": "tag_01HK6T7...", "name": "vip" }
  ],
  "urgencyScore": 2,
  "lastMessagePreview": "Hi, I'd like a refund on my last order...",
  "createdAt": "2026-04-29T14:30:00Z",
  "updatedAt": "2026-04-29T14:32:00Z",
  "waitingSince": "2026-04-29T14:32:00Z",
  "firstHumanReplyAt": null,
  "resolvedAt": null,
  "messages": [
    {
      "id": "msg_01HK7G3M8YPQ1A0R3N2X9Y4ZB1",
      "object": "message",
      "role": "user",
      "content": "Hi, I'd like a refund on my last order. Order #4821.",
      "createdAt": "2026-04-29T14:30:00Z",
      "sentAt": null,
      "attachments": [
        {
          "id": "att_01HK7G3M8YPQ1A0R3N2X9Y4ZB2",
          "filename": "receipt.pdf"
        }
      ]
    },
    {
      "id": "msg_01HK7G3M8YPQ1A0R3N2X9Y4ZB3",
      "object": "message",
      "role": "assistant",
      "content": "Thanks Ada — I can see order #4821 here. Could you confirm the email used at checkout so I can look up the payment?",
      "createdAt": "2026-04-29T14:32:00Z",
      "sentAt": "2026-04-29T14:32:00Z",
      "attachments": []
    }
  ]
}

Error responses

Statuserror.codeWhen
401missing_api_keyThe Authorization header is absent.
401invalid_api_keyThe token is malformed, unknown, or archived.
404conversation_not_foundThe conversation does not exist, belongs to another organization, or has been archived.
422invalid_path_parameterThe id path parameter is not a valid conv_… ID.
429too_many_requestsRate limit exceeded. Honor Retry-After.
See Errors for the full error envelope reference.