Skip to main content
Every run writes its output into a canvas — a directed graph of blocks (documents, spreadsheets, research notes, images, etc.) linked by dependency edges. The SDK exposes three read-only introspection methods so you can audit exactly what a run produced.

The block graph

Each Block exposes:

The task tree

The task tree describes the agent execution that produced the canvas — parent tasks, persona tasks, individual tool calls. It is split into completed and in-progress subtrees:

A single task

If you already have a task id (from a progress webhook or a previous tree), fetch just that one with its immediate children:

Timing

A canvas is created during runs.create, but its canvas_id may not be populated on the very first poll — the server persists it a moment after the run starts. Read it from the run object once status moves past running, or after a short wait: