Create multiple blocks in a single request.
Useful for importing workflows or creating complex structures.
Create multiple blocks in a single request. Useful when scaffolding a workflow programmatically — pair it with Create Edges (batch) to build the whole graph in two calls. Each entry has the same shape as the body of Create Block. The whole batch is rejected if any entry is invalid (duplicate ID, input block inside a container, unknownDocumentation Index
Fetch the complete documentation index at: https://docs.retab.com/llms.txt
Use this file to discover all available pages before exploring further.
parent_id, …).
Client-provided block ID
Block type
start, start_json, note, parse, edit, extract, split, classifier, conditional, hil, api_call, function, while_loop, for_each, merge_dicts, while_loop_sentinel_start, while_loop_sentinel_end, for_each_sentinel_start, for_each_sentinel_end Display label
X position
Y position
Block width
Block height
Block configuration
ID of parent container block (while_loop, for_each)
Successful Response
Foreign key to workflow
Organization ID for data isolation
Block type (extract, parse, classifier, etc.)
start, start_json, note, parse, edit, extract, split, classifier, conditional, hil, api_call, function, while_loop, for_each, merge_dicts, while_loop_sentinel_start, while_loop_sentinel_end, for_each_sentinel_start, for_each_sentinel_end Draft version for live entities
Display label for the block
X position on canvas
Y position on canvas
Block width for resizable blocks
Block height for resizable blocks
Block-specific configuration
Merkle subtree hashes for authored field references; refreshed by schema propagation. Block metadata, not authored config.
Transient sidecar of graph-derived schemas (input_schemas, output_schemas, field_ref_drift). Attached on transport responses; never persisted. Exclude from all DB writes via .model_dump(exclude={'resolved_schemas'}).
ID of parent container (while_loop, for_each)