• Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
      • Markdown
      • Аналитика страниц
    • Фреймы
      • Блоки
      • Бинды data-op-bind
      • Повторитель onpress/repeat
      • Сборка и копии
      • Фреймы в Markdown
      • Фреймы с данными
      • Готовые фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
  • КЕЙСЫ
    • Создание сайтов
    • Работа с контентом
    • Фреймы и данные
    • Настройка сайта
    • Перевод страницы
  • ПРИЛОЖЕНИЯ
    • Приложения
      • Закрытый доступ
      • Данные приложения
      • Внешние данные
      • Демо
    • Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
    • Фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
    • Редиректы
    • Кредиты и автоматизация
    • Входящие
    • Кросспостинг
OnPress OnPress
  • Документация
  • Контакты
Войти
Обзор Справочник API
    • Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
      • Markdown
      • Аналитика страниц
    • Фреймы
      • Блоки
      • Бинды data-op-bind
      • Повторитель onpress/repeat
      • Сборка и копии
      • Фреймы в Markdown
      • Фреймы с данными
      • Готовые фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
  • КЕЙСЫ
    • Создание сайтов
    • Работа с контентом
    • Фреймы и данные
    • Настройка сайта
    • Перевод страницы
  • ПРИЛОЖЕНИЯ
    • Приложения
      • Закрытый доступ
      • Данные приложения
      • Внешние данные
      • Демо
    • Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
    • Фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
    • Редиректы
    • Кредиты и автоматизация
    • Входящие
    • Кросспостинг
Сущности
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Данные

Данные — именованные JSON-списки сайта, все под $API/site/$SITE/data. Пользовательские данные — ваши наборы: массив объектов с любыми полями, у набора могут быть варианты на язык (lang). Системные данные — меню, настройки, языки, оформление и страницы сайта под зарезервированными именами. И те и другие читаются одним GET /data/{name}. Пользовательские пишутся целиком PUT или точечно PATCH; системные — методом, который указан у имени в GET /data/system. Что такое данные и зачем они нужны — на странице «Данные».

info

Во всех примерах API — https://onpress.pro/api/v2, SITE — id сайта (SITE_ID), OP_TOKEN — токен op_XXXX.

Системные данные

ИмяМетодыЧто этоСправочник
menu.header, menu.footer_1 … menu.footer_3GET, PUTпункты меню в областиМеню
site.settingsGET, PATCHназвание, иконка, индексация, счётчикиНастройки сайта
site.front_pageGET, PUTглавная страницаНастройки сайта
site.languagesGET, PATCHязыки сайтаЯзыки
site.localesGETвсе языки, которые можно добавитьЯзыки
site.socialsGET, PATCHссылки на соцсетиНастройки сайта
site.organizationGET, PATCHорганизация: название, контакты, адресНастройки сайта
css.variablesGET, PATCH, DELETECSS-переменные темыСтили
cssGET, PUT, DELETEсобственный CSS сайтаСтили
pages.contentGET, PUTтекст одной страницы в MarkdownСтраницы
pages.all, pages.tree, pages.top, pages.children, pages.siblings, pages.adjacentGETсписки страницСтраницы
breadcrumbsGETхлебные крошки страницыСтраницы
pages.translationsGETязыки, на которых опубликована страница: slug, code, name, locale, url, page_id, current, is_default; страница на одном языке дает пустой список. Нужен pageЯзыки и переводы
settings/{field}GET, PUTнастройки по одному полюниже

GET /data

Все данные сайта одним ответом.

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/data"
Поле ответаЧто это
userпользовательские данные, как в GET /data/user
systemсистемные данные, как в GET /data/system
total, user_total, system_totalсколько имён всего и в каждом списке
writableсистемные имена, в которые можно писать

GET /data/user

Пользовательские данные: по записи на набор и на каждый его языковой вариант.

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/data/user"
{ "success": true, "total": 2, "datasets": [
  { "name": "home_features", "lang": null, "items": 3, "bytes": 243, "sha256": "…",
    "fields": [ { "field": "title", "types": ["string"], "in_items": 3 } ],
    "created_at_gmt": "2026-09-12 20:39:03", "updated_at_gmt": "2026-09-12 20:39:05", "updated_by": 1 },
  { "name": "home_features", "lang": "en", "items": 3, "…": "…" } ] }
Поле набораЧто это
name, langимя и язык варианта; null — общий вариант
items, bytes, sha256число элементов, размер, хеш содержимого
fieldsполя элементов: field, types, in_items — у скольких элементов поле есть
created_at_gmt, updated_at_gmt, updated_byдаты и автор изменения

GET /data/system

Системные данные и способ записи для каждого имени.

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/data/system"
Поле sources[]Что это
name, descriptionимя и что в нём лежит
contextualtrue — результат зависит от страницы, нужен page
methods, deletableкакие методы принимает; работает ли DELETE
writeкак писать: method, at, body, dry_run
readonly_becauseу вычисляемых имён — почему записи нет

GET /data/{name}

Содержимое пользовательских или системных данных.

ПараметрТипПо умолчаниюОписание
langstring—язык варианта набора или меню
pagestring—id, слаг или путь страницы; нужен контекстным именам и токенам page.* в match
matchstring—фильтр JSON-строкой: {"page":"page.slug"}
limit, offsetnumber—окно после match
pagednumber1значение page.paged для окна
statusesstringpublishстатусы для pages.* через запятую
themestring—области меню другой темы
curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/data/home_features?lang=ru"
{ "success": true, "name": "home_features", "origin": "site", "lang": "ru", "total": 3,
  "items": [ { "title": "Быстрый старт", "text": "Сайт за пять минут" }, "…" ] }
Поле ответаЧто это
originsystem, site или inline
total, itemsрезультат
lang, lang_fallbackотданный вариант; причина, если отдан не запрошенный
contextual, page_id, needs_pageзависит ли от страницы; какая взята; нужна, но не передана
writable, write, readonly_becauseу системных — можно ли и как менять
match, match_totalво что разрешились токены; сколько элементов было до фильтра
window, window_totalприменённое окно; сколько было до среза
metaу меню — {menu_id, invalid_items}
same_name_datasetу системного имени есть набор с тем же именем; читаются системные данные
КодHTTPКогда
source_not_found404нет такого имени
page_not_found404страницы из page нет
match_token_unsupported400токен в match не поддерживается; список — в supported

PUT /data/{name}

Создаёт пользовательский набор или заменяет его целиком; фреймы, которые его читают, пересобираются.

ПолеТипПо умолчаниюОписание
itemsarray—обязательно; элементы набора, до 512 КБ
langstring—записать вариант языка
dry_runboolfalseпроверить без записи

Имя набора: латиница в нижнем регистре, цифры, -, _ и . между частями, до 64 символов. Заняты системные имена, system, user, sources, resolve, settings и имена на item., slot., frame., page..

curl -s -X PUT "$API/site/$SITE/data/home_features" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"items": [{"title": "Быстрый старт", "text": "Сайт за пять минут"}]}'
Поле ответаЧто это
appliedзапись выполнена; при dry_run — false
updatedtrue — набор заменён, false — создан
datasetзаписанный набор: name, lang, items, bytes, sha256, fields
rebakedпересобранные фреймы
Системное имяТело PUTdry_run
menu.*{"items": [...]} — дерево пунктов, см. справочник менюнет
site.front_page{"page": …}нет
css{"css": "…"}есть
pages.content{"page": …, "markdown": "…"}есть
КодHTTPКогда
bad_dataset_items400нет items
bad_dataset_name400имя не по правилам; подходящее — в сообщении
reserved_dataset_name409имя занято; у системного — write
dataset_too_large413больше 512 КБ
menu_not_assigned404в области нет меню
invalid_page400нет page у site.front_page или pages.content
dry_run_not_supported400dry_run у меню или главной
wrong_method_for_source405имя пишется другим методом; см. write
computed_source409имя вычисляется, записи нет

PATCH /data/{name}

Точечно правит пользовательский набор; правки применяются вместе — если одна не прошла, набор не меняется.

ПолеТипПо умолчаниюОписание
patcharray—обязательно; список правок
langstring—вариант языка
dry_runboolfalseвернуть набор после правки без записи
actionПоляЧто делает
setindex или match, itemзаменяет элемент
mergeindex или match, fieldsменяет поля элемента
append, prependitem или itemsдобавляет в конец или в начало
removeindex или matchудаляет элемент
moveindex или match, toпереносит на позицию to

index — номер элемента с нуля, match — поля для поиска элемента: {"title": "Свой домен"}.

curl -s -X PATCH "$API/site/$SITE/data/home_features" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"patch": [{"action": "merge", "match": {"title": "Быстрый старт"}, "fields": {"text": "Сайт за минуту"}}]}'
Поле ответаЧто это
datasetнабор после правки
appliedчто сделано по каждой правке
totalчисло элементов после правки
rebakedпересобранные фреймы
Системное имяТело PATCHdry_run
site.settingsполя по именам: name, blog_public, site_iconнет
site.languages{"patch": [...]} с append, merge, set_default, removeесть
site.socials, site.organizationполя по именаместь
css.variables{"variables": {…}}есть
КодHTTPКогда
nothing_to_update400нет patch
bad_patch_op400нет action, неизвестное действие или нет нужного поля
item_ref_required400нет ни index, ни match
item_not_found404элемент не найден
dataset_not_found404набора нет
dataset_too_large413после правки больше 512 КБ
field_belongs_elsewhere400поле site.settings меняется в другом месте; адрес — в fields
whole_list_not_accepted400в site.languages прислан список целиком
wrong_method_for_source405имя пишется другим методом
computed_source409имя вычисляется

DELETE /data/{name}

Удаляет пользовательский набор или один его вариант (lang); с dry_run возвращает would_delete. Из системных удаляются только css и css.variables — возвращаются к оформлению темы.

curl -s -X DELETE "$API/site/$SITE/data/home_features?lang=ru" -H "Authorization: Bearer $OP_TOKEN"
Поле ответаЧто это
deletedname, lang, items удалённого варианта
rebakedпересобранные фреймы
КодHTTPКогда
dataset_not_found404набора или варианта нет
system_source_not_deletable409системное имя не удаляется; меню опустошают PUT с {"items": []}

GET, PUT /data/settings/{field}

Настройки сайта по одному полю. GET /data/settings отдаёт все поля, GET /data/settings/{field} — одно, PUT /data/settings/{field} с {"value": …} записывает.

ПолеЗначение
nameстрока
iconid картинки; 0 или null убирает
closedtrue или false
front_pageid или путь опубликованной страницы; с lang — главная языка
languagesтолько чтение; запись — PATCH /data/site.languages
metrikaномер счётчика, "auto" или null
gaG-XXXXXXXXXX, "auto" или null
gscкод подтверждения или тег целиком, "auto" или null
webmaster"auto" или null
curl -s -X PUT "$API/site/$SITE/data/settings/name" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"value": "OnPress"}'
Поле ответаЧто это
field, valueполе и значение после записи
changedзначение изменилось
rebakedпересобранные фреймы
КодHTTPКогда
unknown_settings_field404поля нет; список — в fields
value_required400нет value
invalid_name, invalid_icon, invalid_front_page, invalid_closed400значение не того вида
invalid_metrika, invalid_ga, invalid_gsc, invalid_webmaster400номер или код не того вида
field_written_elsewhere405PUT /data/settings/languages
internal_unavailable502переключатель closed недоступен, повторите позже

POST /data/resolve

Разрешает данные так, как это сделает фрейм на странице, ничего не записывая. Ответ — как у GET /data/{name}.

ПолеТипПо умолчаниюОписание
sourcestring—имя; без него проверяется items
itemsarray—список, как в атрибуте блока
pagestring, number—страница
langstring—язык варианта
matchobject, string—фильтр; токены: page.id, page.slug, page.title, page.status, page.type, page.parent_id, page.paged, site.lang, site.blog_id, raw:<значение>
limit, offset, pagednumber—окно
statusesstringpublishстатусы для pages.*
themestring—тема для областей меню
curl -s -X POST "$API/site/$SITE/data/resolve" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"source": "reviews", "page": "tarify", "match": {"page": "page.slug"}}'
КодHTTPКогда
source_not_found404имени нет
match_token_unsupported400токен не поддерживается; список — в supported
page_not_found404страницы нет
arrow_backНазад
Переводы
Далееarrow_forward
Сайдбар документации
На этой странице
  • Системные данные
    • GET /data
      • GET /data/user
        • GET /data/system
          • GET /data/{name}
            • PUT /data/{name}
              • PATCH /data/{name}
                • DELETE /data/{name}
                  • GET, PUT /data/settings/{field}
                    • POST /data/resolve
                    1. Главная
                    2. Docs
                    3. Документация OnPress v2
                    4. Справочник API
                    5. Данные
                    OnPress
                    OnPress
                    ИП Зуев И.В. ИНН: 360408359441
                    info@onpress.pro
                    © 2026
                    политика конфиденциальности публичная оферта
                    • visa
                    • mastercard
                    • sber
                    • tpay