• Docs
        • Документация OnPress v2
            • Документация OnPress v2
              • Как устроена платформа
              • Быстрый старт
              • Доступ, роли и выбор сайта
                • Страницы
                  • Frontmatter: все поля
                  • Синтаксис markdown
                  • Языки и переводы страниц
                • Фреймы
                  • Вставки onpress/
                  • Бинды data-op-bind
                  • Сборка страницы и статическая копия
                • Готовые фреймы
                  • Фрейм assistant: страница с чатом ассистента
                  • Фрейм outline: оглавление в тексте
                  • Фрейм faq: вопросы из текста страницы
                  • Фрейм article: статья
                  • Фрейм docs: документация
                  • Фрейм site__header: шапка сайта
                  • Фрейм site__footer: подвал сайта
                  • Фрейм article__faq: вопросы из набора
                  • Фрейм landing: лендинг ассистента
                  • Фрейм assistant__chat: чат обычной разметкой
                  • Фрейм site__404: страница «не найдено»
                  • Фрейм news: лента новостей
                  • Фрейм news__category: рубрика новостей
                  • Фрейм news__post: новость
                  • Фрейм news__more: читайте ещё
                  • Фрейм news__share: поделиться
                  • Фрейм author__page: страница автора
                  • Фрейм author__byline: подпись автора
                  • Фрейм author__card: карточка автора
                  • Фрейм author__avatar: аватар автора
                  • Фрейм author__socials: соцсети автора
                  • Фрейм author__head: объявление набора автора
                  • Фрейм home: главная-документ
                  • Фрейм pricing: тарифы
                • Наборы данных и системные источники
                  • Повторитель onpress/repeat
              • Стили и оформление
              • Меню
              • Сайдбар документации
              • Языки сайта
              • Настройки, главная и кэш
              • SEO
              • Медиа
              • Сайты и домены
              • Пользователи и профиль
              • Дашборд и вход
                • Рецепты
                  • Сайт с нуля
                  • Раздел документации
                  • Лендинг из конструктора
                  • FAQ на странице
                  • Свой фрейм из готового
                  • Многоязычный сайт
                  • Поменять меню
                  • Перенести страницу
                  • Картинки в статье
                  • Список из данных
                  • Сменить оформление
                • Справочник API
                  • Справочник: страницы
                  • Справочник: переводы
                  • Справочник: фреймы
                  • Справочник: данные
                  • Справочник: меню
                  • Справочник: сайдбар документации
                  • Справочник: стили
                  • Справочник: настройки, главная, кэш
                  • Справочник: языки
                  • Справочник: SEO
                  • Справочник: медиа
                  • Справочник: сайты
                  • Справочник: пользователи и профиль
                  • Справочник: вход и служебное
                • Ошибки и частые проблемы
                  • Коды ошибок
        • Старая документация v1
            • Старая документация v1
              • Начало
              • Привязка домена
              • Виджеты
              • Структура ссылок
              • Connector.js
              • Шапка
              • Подвал
              • Мультиязычность
              • Меню
              • Как настроить стили сайта через Design
              • Schema разметка
              • Open Graph
              • Аналитика
              • FAQ
              • Robots.txt
              • Sitemap
OnPress OnPress
  • Документация
  • Контакты
Войти
    • Docs
        • Документация OnPress v2
            • Документация OnPress v2
              • Как устроена платформа
              • Быстрый старт
              • Доступ, роли и выбор сайта
                • Страницы
                  • Frontmatter: все поля
                  • Синтаксис markdown
                  • Языки и переводы страниц
                • Фреймы
                  • Вставки onpress/
                  • Бинды data-op-bind
                  • Сборка страницы и статическая копия
                • Готовые фреймы
                  • Фрейм assistant: страница с чатом ассистента
                  • Фрейм outline: оглавление в тексте
                  • Фрейм faq: вопросы из текста страницы
                  • Фрейм article: статья
                  • Фрейм docs: документация
                  • Фрейм site__header: шапка сайта
                  • Фрейм site__footer: подвал сайта
                  • Фрейм article__faq: вопросы из набора
                  • Фрейм landing: лендинг ассистента
                  • Фрейм assistant__chat: чат обычной разметкой
                  • Фрейм site__404: страница «не найдено»
                  • Фрейм news: лента новостей
                  • Фрейм news__category: рубрика новостей
                  • Фрейм news__post: новость
                  • Фрейм news__more: читайте ещё
                  • Фрейм news__share: поделиться
                  • Фрейм author__page: страница автора
                  • Фрейм author__byline: подпись автора
                  • Фрейм author__card: карточка автора
                  • Фрейм author__avatar: аватар автора
                  • Фрейм author__socials: соцсети автора
                  • Фрейм author__head: объявление набора автора
                  • Фрейм home: главная-документ
                  • Фрейм pricing: тарифы
                • Наборы данных и системные источники
                  • Повторитель onpress/repeat
              • Стили и оформление
              • Меню
              • Сайдбар документации
              • Языки сайта
              • Настройки, главная и кэш
              • SEO
              • Медиа
              • Сайты и домены
              • Пользователи и профиль
              • Дашборд и вход
                • Рецепты
                  • Сайт с нуля
                  • Раздел документации
                  • Лендинг из конструктора
                  • FAQ на странице
                  • Свой фрейм из готового
                  • Многоязычный сайт
                  • Поменять меню
                  • Перенести страницу
                  • Картинки в статье
                  • Список из данных
                  • Сменить оформление
                • Справочник API
                  • Справочник: страницы
                  • Справочник: переводы
                  • Справочник: фреймы
                  • Справочник: данные
                  • Справочник: меню
                  • Справочник: сайдбар документации
                  • Справочник: стили
                  • Справочник: настройки, главная, кэш
                  • Справочник: языки
                  • Справочник: SEO
                  • Справочник: медиа
                  • Справочник: сайты
                  • Справочник: пользователи и профиль
                  • Справочник: вход и служебное
                • Ошибки и частые проблемы
                  • Коды ошибок
        • Старая документация v1
            • Старая документация v1
              • Начало
              • Привязка домена
              • Виджеты
              • Структура ссылок
              • Connector.js
              • Шапка
              • Подвал
              • Мультиязычность
              • Меню
              • Как настроить стили сайта через Design
              • Schema разметка
              • Open Graph
              • Аналитика
              • FAQ
              • Robots.txt
              • Sitemap
Справочник API
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Справочник: сайты

Ручки сети: $API/sites… — без префикса сайта. {id} — site_id или номер блога. blog_id, X-OnPress-Blog-Id и domain запроса не читаются. Все, кроме карточки, — только суперадмин сети (403 insufficient_role, network super admin required). Подробно — сайты и домены.

GET /sites/{id}

Администратору сайта и суперадмину; остальным — 404 site_not_found (как и несуществующему).

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/sites/233"
{
  "success": true,
  "site_id": "x9HTLHECq",
  "blog_id": 233,
  "is_super_admin": true,
  "realm": "prod",
  "instance_realm": "prod",
  "domain": "test.onpress.pro",
  "path": "/",
  "public": 1,
  "blog_public": 1,
  "archived": 0,
  "deleted": 0,
  "registered": "2026-09-12T17:37:06.000Z",
  "last_updated": "2026-09-25T07:32:55.000Z",
  "blogname": "Test",
  "blogdescription": "Multipress website",
  "home": "https://test.onpress.pro",
  "theme": { "template": "onpress-v2", "stylesheet": "onpress-v2", "current_theme": "onpress-v2" },
  "show_on_front": "page",
  "page_on_front": 5776,
  "site_icon": 4827,
  "languages": { "default": "en", "list": ["en", "ru"] },
  "counts": { "post_types": { "page": 101, "attachment": 39, "nav_menu_item": 80, "…": "…" }, "pages": 101, "menus": 14, "frames": 23, "datasets": 4 }
}

realm — чей это блог, instance_realm — какой экземпляр API ответил; при расхождении записи в этот сайт отсюда отклоняются 409 wrong_realm.

POST /sites

ПолеСмысл
nameподдомен: [a-z0-9-], до 50 символов, не зарезервированный
titleназвание; по умолчанию name
donorномер блога-донора
emptyочистить содержимое клона
keep_framesмассив слагов или id фреймов, сохраняемых при empty
copy_filesкопировать загрузки донора (по умолчанию true)
publicвидимость для поисковиков; по умолчанию — как у донора

Ответ 201: site_id, blog_id, domain, realm, donor, public, files, purged (pages, menus, datasets, frames, apps, transients, posts_total, post_types, translation_groups, frames_kept, frames_missing, yoast_tables). Клон идёт синхронно, до 300 с.

Отказы: 400 invalid_name, 400 invalid_donor, 400 invalid_keep_frames, 404 donor_not_found, 409 site_exists (blog_id), 500 purge_failed, 403 insufficient_role.

POST /sites/{id}/domain

ПолеПо умолчаниюСмысл
domain—имя хоста
swap_with—второй сайт обмена
dry_runfalseплан без изменений
stale_reporttrueпосчитать строки со старым хостом
flushtrueсбросить кэши обоих сайтов
rebaketrueпересобрать фреймы обоих сайтов
curl -s -X POST "$API/sites/233/domain" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' -d '{"domain": "test.onpress.pro", "dry_run": true}'
{ "success": true, "dry_run": true, "mode": "assign", "changed": false, "plan": [], "domain_option": [], "sites": [ { "blog_id": 233, "domain": "test.onpress.pro", "home": "https://test.onpress.pro", "siteurl": "https://test.onpress.pro" } ] }

Настоящий вызов: mode (assign, swap), changed, sites[] (domain, home, siteurl до и после, polylang, supercache, stale), adopt, cache, rebake (по blog_id), domain_option, warnings. Отказы: 400 invalid_domain, 400 invalid_swap_with, 400 unknown_field, 404 site_not_found, 409 site_deleted, 409 main_site_locked, 409 domain_taken, 409 swap_domain_mismatch, 409 domain_busy, 409 domain_changed_meanwhile, 409 wrong_realm, 500 domain_move_failed, 502 internal_unavailable.

DELETE /sites/{id}

ПолеПо умолчаниюСмысл
modearchivearchive — снять с эфира; purge — удалить всё
dry_runfalseплан
confirm—домен сайта — для purge непустого сайта
drop_orphan_usersfalseпри purge удалить учётки, состоящие только в этом сайте
curl -s -X DELETE "$API/sites/233" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' -d '{"dry_run": true}' \
  | jq '{dry_run, mode, plan: .plan | {exists, domain, hosts, prefix, tables_count, empty, confirm_required, confirm_with}}'

План (plan): exists, domain, hosts, hosts_shared, prefix, like, tables, tables_count, tables_bytes, tables_rejected, neighbours, dirs, files, content, users (members, orphans), network_rows, network_kept, empty, confirm_required, confirm_with. archive отвечает {mode, blog_id, domain, before, removed, plan}; purge — план плюс core, tables, dirs, users, verify.

Отказы: 400 invalid_mode, 400 unknown_field, 400 invalid_drop_orphan_users, 404 site_not_found, 409 main_site_protected, 409 site_already_gone, 409 wrong_realm, 428 confirmation_required (confirm_with, plan), 500 unsafe_table, 502 internal_unavailable.

POST /sites/{id}/restore

Вернуть из архива. Тело не читается. Ответ: blog_id, domain, archived, deleted, public, blog_public, restored_from, static_rebake_needed, rebake, warnings. Отказы: 404 site_not_found (после purge), 409 main_site_protected, 409 wrong_realm.

arrow_backНазад
Справочник: медиа
Далееarrow_forward
Справочник: пользователи и профиль
На этой странице
  • GET /sites/{id}
    • POST /sites
      • POST /sites/{id}/domain
        • DELETE /sites/{id}
          • POST /sites/{id}/restore
          OnPress
          OnPress
          ИП Зуев И.В. ИНН: 360408359441
          © 2026
          политика конфиденциальности публичная оферта
          • visa
          • mastercard
          • sber
          • tpay