Skip to main content
GET
/
api
/
v0
/
sessions
/
{sessionId}
/
messages
/
{messageId}
Get a message by ID
curl --request GET \
  --url https://api.factory.ai/api/v0/sessions/{sessionId}/messages/{messageId} \
  --header 'Authorization: Bearer <token>'
{
  "id": "<string>",
  "role": "user",
  "content": [
    {
      "type": "text",
      "text": "<string>",
      "id": "<string>"
    }
  ],
  "createdAt": 123,
  "updatedAt": 123,
  "parentId": "<string>",
  "visibility": "both",
  "openaiMessageId": "<string>",
  "openaiPhase": "commentary",
  "openaiEncryptedContent": "<string>",
  "openaiReasoningId": "<string>",
  "openaiReasoningSummary": "<string>",
  "geminiThoughtSignature": "<string>",
  "chatCompletionReasoningField": "reasoning",
  "chatCompletionReasoningContent": "<string>",
  "isUserVisible": true,
  "isError": true
}

Authorizations

Authorization
string
header
required

Factory API key or JWT token for authentication

Path Parameters

sessionId
string
required

Session ID

messageId
string
required

Message ID

Response

Response for status 200

id
string
required
role
enum<string>
required
Available options:
user,
assistant,
tool,
system
content
object[]
required
createdAt
number
required
updatedAt
number
required
parentId
string
visibility
enum<string>
Available options:
both,
llm_only,
user_only
openaiMessageId
string
openaiPhase
enum<string> | null
Available options:
commentary,
final_answer
openaiEncryptedContent
string
openaiReasoningId
string
openaiReasoningSummary
string
geminiThoughtSignature
string
chatCompletionReasoningField
enum<string>
Available options:
reasoning,
reasoning_content
chatCompletionReasoningContent
string
isUserVisible
boolean
isError
boolean