---
title: "BlockData — данные одного блока Blok"
description: "Что лежит внутри поля data блока, как к нему цепляются tunes и как parentId и contentIds выражают вложенность."
source: https://blokeditor.com/ru/docs/block-data/
lastmod: 2026-09-07
---

Фреймворк JavaScript

Типы данных Данные блока

На этой странице id

# BlockData: полезная нагрузка блока

Структура каждого блока в массиве blocks.

[Редактировать на GitHub](https://github.com/JackUait/blok/blob/main/docs/src/components/api/api-data.ts)

TypeScript

```
// Individual block structure
interface OutputBlockData {
  id?: string;        // Unique identifier (auto-generated)
  type: string;       // Tool name (e.g., "paragraph", "header")
  data: object;       // Tool-specific data
  tunes?: { [name: string]: BlockTuneData }; // Optional block tunes/metadata
  parent?: string;    // Id of the parent block (flat-with-references nesting)
  content?: string[]; // Ids of child blocks (flat-with-references nesting)
  indent?: number;    // Nesting/indent level
  lastEditedAt?: number; // Timestamp (ms since epoch) of the last edit — omitted until the block is actually edited
  lastEditedBy?: string; // Id of the user who last edited this block (from user.id config)
}

// Example blocks:
const paragraphBlock: OutputBlockData = {
  id: "p6QK0Xz1Ab",
  type: "paragraph",
  data: { "text": "Hello, world!" }
};

const headerBlock: OutputBlockData = {
  id: "hM3lTn9RdC",
  type: "header",
  data: { "text": "Chapter 1", "level": 1 }
};

// Each list item is its own block — the list tool saves a single item,
// not an items[] array
const listItemBlock: OutputBlockData = {
  id: "wY7bV2sQ8e",
  type: "list",
  data: {
    "text": "Item 1",
    "style": "unordered"
  }
};
```

## OutputBlockData

| Свойство | Описание |
| --- | --- |
| `id` | `string (optional)` | Уникальный идентификатор блока |
| `type` | `string` | Имя типа блока |
| `data` | `object` | Данные, специфичные для блока |
| `tunes` | `{ [name: string]: BlockTuneData }` | Тюны/метаданные блока |
| `parent` | `string (optional)` | Id родительского блока (плоская вложенность со ссылками). На входе нестрогая транспортная форма принимает также `null`, который трактуется как отсутствие — блок верхнего уровня. |
| `content` | `string[] (optional)` | Id дочерних блоков (плоская вложенность со ссылками). На входе нестрогая транспортная форма принимает также `null` или `[]`, и оба значения трактуются как отсутствие — блок без дочерних блоков. |
| `indent` | `number (optional)` | Уровень вложенности/отступа |
| `lastEditedAt` | `number (optional)` | Метка времени (мс с начала эпохи) последнего изменения этого блока. Появляется, только когда содержимое блока действительно меняется, — загрузка документа не является правкой, поэтому просто отрисованный документ сохраняет ровно то, что загрузил. equalsOutputData игнорирует это поле. |
| `lastEditedBy` | `string (optional)` | Id пользователя, который последним изменил этот блок (из конфигурации user.id) |
