Thesis gives you several ways to move research out of the graph and into the world: structured JSON exports for reproducibility packages, markdown and PDF summaries for papers and handoffs, and sharing controls that let you publish individual nodes or entire branches. This guide covers all four export tools, the import path, and sharing modes.
1

Export a subgraph as JSON

A subgraph export captures a set of nodes, including their content, metadata, artifacts, and edge relationships, as a structured JSON file. Use this for:
  • Reproducibility packages attached to a paper submission.
  • Handing off a branch of work to a collaborator who runs their own Thesis instance.
  • Archiving a completed research program before archiving.
  • Feeding a sub-agent a snapshot of prior context.
{
  "name": "thesis_export_subgraph",
  "arguments": {
    "node_ids": ["<node-id>"]
  }
}
Pass one or more root node IDs in node_ids. Thesis exports those nodes and all of their descendants as a single JSON document.
Export the subgraph before spawning a sub-agent on a long experiment. If the run fails partway through, you can reimport the pre-run snapshot and retry from a clean state.
2

Generate a markdown summary

A markdown summary traverses a node and its descendants and produces a human-readable report of the research structure, titles, summaries, key claims, and relationships.
{
  "name": "thesis_export_summary",
  "arguments": {
    "node_id": "<node-id>"
  }
}
The output is plain GitHub-flavored markdown, suitable for pasting into a paper appendix, a Notion page, a README, or a PR description.For long subgraphs, use the streaming variant to receive the summary incrementally rather than waiting for the full response:
{
  "name": "thesis_export_summary_stream",
  "arguments": {
    "node_id": "<node-id>"
  }
}
The stream emits chunks as server-sent events, so your agent or script can display progress as it arrives.
3

Export a PDF summary

PDF export produces a formatted document suitable for sharing with people outside the Thesis environment, advisors, collaborators, or reviewers who don’t have a Thesis account.
{
  "name": "thesis_export_summary_pdf",
  "arguments": {
    "node_id": "<node-id>"
  }
}
If you want to render a PDF from a specific set of node IDs or from pre-rendered markdown (for example, after editing the markdown output from thesis_export_summary), use thesis_export_summary_render_pdf instead:
{
  "name": "thesis_export_summary_render_pdf",
  "arguments": {
    "node_ids": ["<node-id-1>", "<node-id-2>"],
    "markdown": "<optional pre-rendered markdown string>"
  }
}
PDF generation runs server-side. For very large subgraphs, the request may take several seconds. Use the streaming markdown export first to verify the content looks correct before generating a PDF.
4

Import a subgraph

Bring a previously exported subgraph, or a subgraph from a collaborator, back into your project with thesis_import_subgraph:
{
  "name": "thesis_import_subgraph",
  "arguments": {
    "subgraph": { /* JSON from thesis_export_subgraph */ },
    "parent_node_id": "<optional-parent-to-attach-under>"
  }
}
Imported nodes arrive in a staged state, so you can review and edit them before committing. If a parent_node_id is provided, the imported root is attached as a child of that node.
5

Set sharing for your nodes

Each node has its own sharing mode, independent of its neighbors in the graph. You can publish a result node publicly while keeping the parent experiment private.
ModeAccess
privateOnly you
unlistedAnyone with the direct link
publicAnyone, visible without a direct link
Set sharing on a single node:
{
  "name": "thesis_set_sharing_for_node",
  "arguments": {
    "node_id": "<node-id>",
    "sharing_mode": "public"
  }
}
To update a batch of nodes at once (for example, all nodes in a completed experiment branch), use thesis_set_sharing_for_nodes with an array of node IDs.
Setting a node to public makes its title, summary, content, and artifacts visible to anyone. Review what artifacts are attached before publishing, especially nodes that contain preliminary data, unpublished findings, or access credentials in content fields.

Common export use cases

Use caseRecommended approach
Paper appendix with full experimental recordthesis_export_summary_pdf on the root experiment node
Handoff to a collaborator on another Thesis instancethesis_export_subgraph → share the JSON file → thesis_import_subgraph
Reproducibility package alongside code releasethesis_export_subgraph (full depth) + artifact files from the node
Agent review of prior work before starting a new runthesis_export_summary to markdown, attach to the new node’s content
Publishing a completed insight for external reviewthesis_set_sharing_for_node with sharing_mode: "public"