---
title: "Загрузить сцену доски"
method: GET
path: "/load"
tags: ["boards"]
---

# Загрузить сцену доски

`GET /load`

## Request

- Base URL: `https://maketa.pro/maketa/api`
- URL: `https://maketa.pro/maketa/api/load`
- Auth: one of:
  - none
  - API key in header `x-maketa-key`
  - API key in query parameter `edit`

Доступ: публичный при linkAccess=edit|view (по умолчанию view), либо edit/view-токен в query, либо x-maketa-key своей доски (даёт access=edit), либо сессия. Ссылка для людей: https://maketa.pro/app/?b=<id>. При включённых тарифах макет, оказавшийся сверх пределов «Бесплатно» после окончания оплаты, открывается с access:"view" и полем readOnly {limit, used, max, hint, upgrade} — ничего не удаляется, апгрейд открывает правку сразу.

## Query parameters

- `id` string, required
- `edit` string
- `view` string

## Response `200`

Сцена

- object
  - `doc` Doc: Документ макета `maketa.board.v2`. Экран — дерево узлов. Полное описание модели: https://maketa.pro/docs/#model
    - `v` 2: Версия модели. `2` — экран разбирается деревом (`slots` + `nodes`). Документ без `v` читается по старой плоской модели `maketa.board.v1` (`objects:[…]`) — она оставлена только ради уже сохранённых макетов и здесь не описывается; новый код всегда шлёт `"v": 2`.
    - `name` string: Имя макета (показывается в списках досок)
    - `rev` integer: Ревизия документа. Для записи используйте `baseRev` в POST /save — иначе чужие правки затираются молча.
    - `screens` Screen[], required
      - `id` string: 1–40 симв. [A-Za-z0-9_-]
      - `name` string
      - `device` string: модель из /devices.json, например iphone-15
      - `w` number: 40–4000 px
      - `h` number: 40–4000 px
      - `bg` string
      - `safe` boolean: Учитывать безопасные зоны устройства — вырез сверху и полосу-домой снизу.
      - `kind` 'design' | 'code'
      - `locked` boolean
      - `parentId` string, nullable: id родителя, если экран — ветка
      - `branches` string[]: id веток (связь двусторонняя)
      - `slots` Slots: Места экрана; любое может отсутствовать. Шапка и нижнее меню не прокручиваются, тело занимает остаток высоты, слой `over` лежит поверх всего экрана. Узел, стоящий в слоте, не может одновременно лежать внутри другого узла — это `node_two_parents`.
        - `top` string: id узла-шапки — не прокручивается
        - `body` string: id узла с прокручиваемым содержимым
        - `bottom` string: id узла нижнего меню — не прокручивается
        - `over` string[]: слой поверх: плавающие кнопки, подсказки. Ребёнок такого слоя ставится полем `at` и смещением `dx`/`dy`.
      - `nodes` object: Карта узлов экрана: ключ — id узла (1–40 симв. [A-Za-z0-9_-]), значение — сам узел. Карта, а не вложенные объекты, потому что узел адресуется по id из действий, из панели структуры и из MCP. Не больше 1000 узлов на экран и 5000 на макет.
  - `access` 'edit' | 'view'
  - `linkAccess` 'edit' | 'comment' | 'view' | 'none'
  - `canComment` boolean: По этой ссылке можно оставлять замечания (linkAccess=comment или edit)
  - `rev` integer
  - `updatedAt` integer

## Other responses

- `400`: Некорректный запрос
- `401`: Нет или неверный/просроченный ключ (bad_key | key_expired | no_key). hint подскажет, как получить новый.
- `403`: Прав нет (forbidden | quota_boards)
- `404`: Не существует (not_found)
- `410`: Удалено навсегда (gone) — с deletedAt и reason

---

[API](https://skmtc.dev/maketa/apis/maketa-api.md) · [All operations](https://skmtc.dev/maketa/apis/maketa-api/llms.txt) · [OpenAPI document](https://skmtc.dev/maketa/apis/maketa-api/revisions/ef044d6259d8?raw)
