Skip to main content
GET
/
api
/
v1
/
skills
/
{id}
/
conversations
/
{threadId}
Fetch a single conversation by thread id
curl --request GET \
  --url https://api.staging.getmodus.com/api/v1/skills/{id}/conversations/{threadId} \
  --header 'Authorization: Bearer <token>'
{
  "threadId": "agent_42_abc-xyz",
  "skillId": 42,
  "messages": [
    {
      "type": "human",
      "content": "Run the churn analysis for last 30 days.",
      "id": "msg_01HF8X3Z2K8E0",
      "toolCalls": "<array>",
      "toolCallId": "<string>"
    }
  ],
  "createdAt": "2026-05-01T10:00:00.000Z",
  "updatedAt": "2026-05-01T11:00:00.000Z"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
number
required

Numeric skill scope. Use 0 for cross-skill conversation lookup.

Example:

0

threadId
string
required

Opaque thread/checkpoint id. The prefix, when present, is not authoritative ownership.

Example:

"agent_42_abc-xyz"

Response

threadId
string
required

Opaque thread/checkpoint id. It is not owned by a single skill; a conversation can span multiple agents.

Example:

"agent_42_abc-xyz"

skillId
number
required

Numeric skill scope returned by the list/detail adapter. This is not conversation ownership.

Example:

42

messages
object[]
required

Conversation turns, in chronological order.

createdAt
string
required

ISO-8601 timestamp of the first checkpoint for this thread.

Example:

"2026-05-01T10:00:00.000Z"

updatedAt
string
required

ISO-8601 timestamp of the latest checkpoint for this thread.

Example:

"2026-05-01T11:00:00.000Z"