Skip to main content
A block is a single node in the canvas DAG. The blocks field on POST /v1/run accepts a JSON array of block-type strings that constrains what the agents are allowed to create — overriding whatever template you passed.
curl -X POST https://api.getspine.ai/v1/run \
  -H "X-API-KEY: sk_spine_..." \
  -F "prompt=Create a Q1 performance report with charts" \
  -F 'blocks=["document-block", "table-block", "image-block", "web-block"]'

Valid block types

Each API block type maps 1:1 to a block in the visual app. Follow the link to see what the block produces, its inputs, and example use cases.
Block typeCreatesApp docs
prompt-blockAI prompt / analysisPrompt Block
list-blockExpandable listList Block
memo-blockMemo document (.docx)Memo Block
document-blockReport document (.docx)Document Block
excel-blockSpreadsheet (.xlsx)Excel Block
deep-research-blockDeep research reportDeep Research Block
image-blockAI-generated image (.png)Image Generation Block
presentation-blockSlide deck (.pptx)Slides Block
app-blockWeb application (.html)App Block
table-blockStructured data tableTable Block
prototype-blockInteractive prototype (.html)App Block
landing-page-blockLanding page (.html)App Block
text-blockStatic markdown / text noteNotes Block
web-blockWeb URL referenceWeb Page
yt-blockYouTube video referenceYouTube Block
web-research-blockBrowser navigation / scrapingBrowserUse Block
file-blockFile upload referenceFile Upload

When to use blocks vs template

  • Use a template when you want an opinionated output — the template was tuned for that shape.
  • Use blocks when you need to add or remove a specific block type, e.g. forcing a table-block into a research run, or excluding image-block for cost reasons.
See Templates for the full template matrix.