Blocks reference
A page is a title plus a list of blocks. There are 8 block types.
Your AI tool sends blocks as JSON through the MCP server. This page shows what each block takes.
The title is the H1
titleis a field of the page. It is not a block.- It is the one H1 of the page.
- A page has exactly one H1. So there is no H1 block.
- Blocks start at H2 (see
heading).
Markdown rich text
Some fields are rich text. They use inline Markdown only:
| You write | You get |
|---|---|
**bold** | bold |
*italic* | italic |
`code` | code |
[Flocon AI](https://flocon-ai.com) | a link |
Not allowed in rich text:
- Raw HTML. It is never stored.
- Headings, lists and images. Use blocks for those.
Rich text fields: content of description and text, items of list, answer of faq.
Plain text fields (no Markdown): content of heading, table headers and rows.
description
The answer-first intro. Put it first. AI search tools often quote it.
content: rich text.
{
"type": "description",
"content": "Notion costs **$10 per user per month**. Obsidian is free for personal use."
}text
A paragraph.
content: rich text.
{
"type": "text",
"content": "Obsidian stores notes as local `.md` files. Read the [docs](https://help.obsidian.md)."
}heading
A section title.
level:2or3.content: plain text.
{ "type": "heading", "level": 2, "content": "Pricing" }list
A bullet list or a numbered list.
ordered:truefor numbers,falsefor bullets.items: a list of rich text.
{
"type": "list",
"ordered": true,
"items": ["Export your notes", "Import them in **Obsidian**", "Check your links"]
}faq
Questions and answers. Flocon AI also builds the FAQPage JSON-LD from these blocks. You do nothing for that.
items: a list ofquestion(plain text) andanswer(rich text).
{
"type": "faq",
"items": [
{
"question": "Is Obsidian free?",
"answer": "Yes, for personal use. See the [pricing page](https://obsidian.md/pricing)."
}
]
}table
A table. Good for comparisons.
headers: optional list of plain text.rows: a list of rows. Each row is a list of plain text cells.
{
"type": "table",
"headers": ["", "Notion", "Obsidian"],
"rows": [
["Price", "$10 / user / month", "Free"],
["Storage", "Cloud", "Local files"]
]
}related
Links to other pages of your website.
paths: a list of page paths. Same locale as the page.- Paths are not checked when you save. You must give correct paths.
- Pages that are not published are dropped when the page is shown. A draft or a typo shows nothing.
- Each link shows the title of the page.
{ "type": "related", "paths": ["/vs/notion-vs-obsidian", "/alternatives/notion"] }space
Empty room between two blocks. It has no field.
{ "type": "space" }Full example
{
"title": "Notion vs Obsidian",
"blocks": [
{ "type": "description", "content": "Notion is **online and shared**. Obsidian is **local and free**." },
{ "type": "heading", "level": 2, "content": "Quick comparison" },
{
"type": "table",
"headers": ["", "Notion", "Obsidian"],
"rows": [["Price", "$10 / user / month", "Free"]]
},
{ "type": "space" },
{ "type": "related", "paths": ["/alternatives/notion"] }
]
}Limits
- Up to 100 blocks per page.
- About 50 KB per page.
blocksis replaced as a whole when your AI updates a page.
See also Writing good pages.
Updated