ThinkRun

llms.txt

Session Artifacts

Named text artifacts attached to sessions. All routes enforce session ownership. Note: GET /api/sessions/:id/artifacts returns media artifacts (screenshots + recording). Named text artifacts use the sub-paths below.

POST/api/sessions/:sessionId/artifacts

Create or overwrite a named artifact. Max content size: 500KB.

Body Parameters

namestringrequiredArtifact name (must not contain ":")
contentstringrequiredArtifact content (max 500KB)
contentTypestringMIME type (default: text/plain)
metadataobjectOptional key-value metadata

Response

{
  "name": "research-notes",
  "content": "Key findings...",
  "contentType": "text/plain",
  "createdAt": "2026-03-01T10:00:00Z"
}
GET/api/sessions/:sessionId/artifacts/:name

Retrieve a named artifact by name.

Response

{
  "name": "research-notes",
  "content": "Key findings from the session...",
  "contentType": "text/plain",
  "createdAt": "2026-03-01T10:00:00Z"
}
DELETE/api/sessions/:sessionId/artifacts/:name

Delete a named artifact.

Response

204 No Content
GET/api/artifacts/search

Search artifacts across all sessions for the authenticated user.

Query Parameters

qstringrequiredSearch query
limitintegerMax results, 1–50 (default 10)

Response

{
  "results": [
    {
      "name": "research-notes",
      "sessionId": "session-abc",
      "score": 0.95
    }
  ],
  "count": 1,
  "query": "pricing"
}
POST/api/artifacts/chat

Ask an LLM a question about your artifacts. Searches relevant artifacts and returns an AI-generated answer.

Body Parameters

querystringrequiredQuestion to ask (max 1000 chars)
sessionIdsstring[]Optional: limit to specific session UUIDs
limitintegerMax artifacts to include (1–20, default 5)

Response

{
  "answer": "Based on your research notes, the pricing...",
  "sources": [
    { "name": "research-notes", "sessionId": "session-abc" }
  ]
}