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
}

Documentation Index

Fetch the complete documentation index at: https://factory-docs-auto-sync-jp-docs.mintlify.app/llms.txt

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

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

Query Parameters

computerId
string

Computer ID to query directly

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