• Как устроено
  • Быстрый старт
  • Доступ и токен
    • Страницы
      • Frontmatter
      • Синтаксис markdown
      • Переводы страниц
    • Фреймы
      • Вставки onpress/
      • Бинды data-op-bind
      • Сборка и копии
      • Фреймы в markdown
      • Фреймы с данными
    • Готовые фреймы
      • 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
      • page-feed
    • Данные
      • Повторитель onpress/repeat
  • Стили
  • Меню
  • Сайдбар документации
  • Языки сайта
  • Настройки и кэш
  • SEO
  • Медиа
  • Сайты и домены
  • Пользователи и профиль
  • Дашборд и вход
    • Рецепты
      • Сайт с нуля
      • Раздел документации
      • Лендинг
      • FAQ
      • Свой фрейм из готового
      • Многоязычный сайт
      • Поменять меню
      • Перенести страницу
      • Картинки в статье
      • Список из данных
      • Сменить оформление
  • Кейсы
    • Справочник API
      • Страницы
      • Переводы
      • Фреймы
      • Данные
      • Меню
      • Сайдбар документации
      • Стили
      • Настройки, главная, кэш
      • Языки
      • SEO
      • Медиа
      • Сайты
      • Пользователи и профиль
      • Вход и служебное
      • Кредиты и автоматизация
      • Входящие
      • Редиректы
      • Суперадмин
      • Кросспостинг
    • Ошибки и проблемы
      • Коды ошибок
OnPress OnPress
  • Документация
  • Контакты
Войти
  • Как устроено
  • Быстрый старт
  • Доступ и токен
    • Страницы
      • Frontmatter
      • Синтаксис markdown
      • Переводы страниц
    • Фреймы
      • Вставки onpress/
      • Бинды data-op-bind
      • Сборка и копии
      • Фреймы в markdown
      • Фреймы с данными
    • Готовые фреймы
      • 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
      • page-feed
    • Данные
      • Повторитель onpress/repeat
  • Стили
  • Меню
  • Сайдбар документации
  • Языки сайта
  • Настройки и кэш
  • SEO
  • Медиа
  • Сайты и домены
  • Пользователи и профиль
  • Дашборд и вход
    • Рецепты
      • Сайт с нуля
      • Раздел документации
      • Лендинг
      • FAQ
      • Свой фрейм из готового
      • Многоязычный сайт
      • Поменять меню
      • Перенести страницу
      • Картинки в статье
      • Список из данных
      • Сменить оформление
  • Кейсы
    • Справочник API
      • Страницы
      • Переводы
      • Фреймы
      • Данные
      • Меню
      • Сайдбар документации
      • Стили
      • Настройки, главная, кэш
      • Языки
      • SEO
      • Медиа
      • Сайты
      • Пользователи и профиль
      • Вход и служебное
      • Кредиты и автоматизация
      • Входящие
      • Редиректы
      • Суперадмин
      • Кросспостинг
    • Ошибки и проблемы
      • Коды ошибок
Ошибки и частые проблемы
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Коды ошибок

Код приходит в поле error (ошибка ручки) или code (ошибка до ручки). Ниже — все коды, которые отдаёт API v2, по разделам. Один код может встречаться в нескольких разделах с одинаковым смыслом.

Общие

КодHTTPКогдаЧто делать
missing_token401нет Authorization: Bearer или X-OnPress-Keyпередать токен
invalid_token401токен неизвестен, отозван или не той формывыпустить новый
too_many_auth_failures429больше 20 неудачных входов в минуту с адресаждать Retry-After
too_many_requests429больше 120 запросов в минутуждать Retry-After
cross_origin403запрос с кукой сессии не с адреса дашбордатокеном, а не кукой
invalid_blog_id400blog_id не положительное целоеисправить или перейти на /site/{siteId}/
site_not_found404сайта нет, он не ваш, неизвестный доменпроверить site_id и права
insufficient_role403не администратор сайта; для сетевой операции — не суперадминнужен администратор
wrong_realm409запись в блог другого контура; ничего не записанослать в https://onpress.pro/api/v2/
invalid_json400тело не JSONпроверить JSON
body_too_large413тело больше 10 МБменьше тело; файлы — по url
not_found404нет такого маршрутапроверить путь и метод
method_not_allowed405GET на POST-ручку /auth/*POST
internal_error500сбой сервисаповторить, сообщить
db_error500база отказала в записи; db_codeповторить, сообщить
registry_busy503реестр фреймов или наборов занят параллельной записьюповторить через секунду
internal_unavailable502исполнитель на сайте не ответил или не установленповторить позже
internal_failed502исполнитель ответил ошибкойсмотреть message
nothing_to_update, nothing_to_change400в теле нет полей для правкиприслать поле
unknown_field400лишнее поле; допустимые в message или allowedубрать поле

Страницы

КодHTTPКогда
markdown_required400нет markdown или не строка
invalid_section400разделы сайта: {section} не news, changelog или docs
section_exists409разделы сайта: корень раздела на этом языке уже есть; page
blocks_invalid400blocks не массив
block_unsupported400блок в blocks не core/*, не блок плагина onpress/* и не raw
dry_run_not_supported400dry_run у публикации — пробуйте черновиком
invalid_status400статус вне publish, draft, pending, private, future; у ссылок страниц — status вне ok, broken, redirect, unknown
invalid_kind400ссылки страниц: kind не internal и не external
too_many_pages413ссылки страниц и граф ссылок: на сайте больше 5000 опубликованных страниц
invalid_date400date во frontmatter или publish_at — не дата; field, value
pages_required400у серии нет pages или это не непустой список
invalid_interval400 или 422interval серии не шаг (400) или вне 60 с … 30 дней (422; seconds, min, max)
series_too_large413в серии больше 50 страниц
series_invalid422в серии есть ошибки, ничего не записано; errors: [{index, code, message}]
frame_single400во frame список или не строка
excerpt_invalid400excerpt не строка
howto_invalid400howto (frontmatter или PATCH) не auto, on, off; allowed
redirect_field_removed400PATCH /pages/{ref} с полем redirect: у страниц его больше нет, редирект — правило сайта, Редиректы
image_invalid400превью (image во frontmatter, thumbnail в PATCH) не номер и не адрес картинки, список или объект без id и url; field
image_not_found404вложения с таким номером на сайте нет
image_not_image422вложение или файл по адресу — не картинка
image_upload_failed502картинка по адресу не скачалась или не залилась в медиатеку; field
domain_required400сайт не выбран ни адресом, ни domain
page_not_found404нет страницы по id, слагу или пути
not_a_page404ссылка ведёт на запись другого типа
frame_not_found404фрейма нет на этом сайте
ambiguous_page409слаг у нескольких страниц; matches или candidates
lang_mismatch409id — страница другого языка; для перевода — translation_of
page_language_mismatch409найденная страница другого языка, чем lang; actual_lang
page_has_no_language409у страницы нет языка
domain_mismatch409domain во frontmatter — другой сайт
page_has_children409удаление страницы с детьми без with_children; children
front_page_delete409удаление главной, страницы блога или главной языка
polylang_inactive409lang на сайте без языков
parent_not_found422сегмент url — не страница; segment
absolute_url_in_path422схема или домен в url
unknown_language422языка нет на сайте; languages
unknown_status, unknown_orderby422неизвестный статус или сортировка в списке
page_vanished500страница исчезла во время записи — повторить
parent_create_failed500не удалось создать недостающего родителя
post_type_not_supported501type не page
acf_block_unsupported501ACF-блок в blocks
exporter_missing501на сайте нет выгрузчика markdown
export_failed—выгрузка не удалась; у GET /pages/{ref} — в markdown_error
delete_failed—ядро отказало удалить страницу; внутри записи removed
markdown_missing500на сайте не включена сборка markdown-копий (/site/markdown)

Переводы

КодHTTPКогда
translation_link_failed422translation_of не сработал; reason: polylang_missing, lang_required, origin_not_found, origin_has_no_language, same_language
translation_link_failed409группу нельзя записать: участники не совпадают с языками; rejected
translation_group_conflict409найденная по слагу страница — в другой группе
front_page_group_conflict409то же, и это главная языка
bad_translations400translations не объект
translations_rejected409записи карты неверны; rejected: [{lang, ref, reason}]
page_in_other_group409страница в другой группе; its_group, target_group
same_language409язык перевода совпадает с языком страницы
page_required400нет page

Фреймы

КодHTTPКогда
frame_html_required400нет html
invalid_slug400слаг не по схеме; pattern, hint
frame_url_not_supported400url во входе: у фрейма нет адреса
frame_ref_required400пустая ссылка на фрейм
frame_ref_conflict400во вставке onpress/frame два ключа ссылки (name и алиас) называют разные фреймы; conflicts
page_required400assign без page
nothing_to_rebake400POST /frames/rebake без признаков
frame_not_found404нет фрейма
slug_taken409слаг занят; id владельца
frame_not_system409сброс, возврат к системному или отвязка фрейма, которого нет в библиотеке
system_frame_missing409фрейм есть в библиотеке, но разметки его версии нет
system_frame_not_found404такого фрейма нет в библиотеке системных
blog_required400POST /frames/system без blog_id и domain; установка из библиотеки без blog_id и без all
not_base_blog409эталон назначен, а фрейм публикуют в библиотеку или убирают из неё не с эталона; base_blog, blog_id
frame_on_base409фрейм убирают из библиотеки, пока он стоит на эталоне; base_blog, id, slug
base_blog409установка фрейма библиотеки на сам эталон; возврат к системному или отвязка на эталоне
slug_taken_by_custom409установка из библиотеки: у сайта свой фрейм с тем же слагом; id, library_id — повторите с replace_custom
slug_taken_by_system409установка из библиотеки: слаг занят другим системным фреймом
insufficient_role403запись в библиотеку системных фреймов или во фреймы эталона не суперадмином
gone410снятые умолчания и типы фреймов
frame_too_large413больше 2 МБ; max_bytes
invalid_file_name400имя файла фрейма не по схеме: латиница, цифры, -, _, до 48 символов, .css или .js; pattern, hint
file_content_required400PUT файла без строки content
too_many_files400у фрейма больше 16 файлов; max_files
file_not_found404у фрейма нет такого файла
file_exists409переименование файла в имя, которое уже занято
file_too_large413файл больше 512 КБ; bytes, max_bytes
comments_not_allowed422в разметке или файле фрейма комментарий (<!-- -->, //, /* */) или кириллица в коде вне строк; kind, count, found со строками. Вставки <!-- onpress/… -->, разделители <!-- wp:… --> и /*! … */ пропускаются — подробнее

Данные

КодHTTPКогда
dataset_name_required400нет имени
bad_dataset_name400имя не [a-z0-9][a-z0-9_-]{0,63}
bad_dataset_items400нет items или не массив/объект
bad_patch_op400неизвестная операция или нет данных
item_ref_required400операция без index и match
match_token_unsupported400токен в match, который сервис не считает; supported
field_belongs_elsewhere400PATCH /data/site.settings с полем, которое меняется в другом месте
whole_list_not_accepted400PATCH /data/site.languages со списком
bad_menu_items400PUT /data/menu.* без массива items
lang_required400PATCH /data/site.languages без lang
invalid_page400PUT /data/site.front_page без page
source_not_found404нет источника или набора
dataset_not_found404нет набора (или варианта языка) для правки или удаления
item_not_found404нет элемента по индексу или фильтру
menu_not_assigned404в области нет меню
wrong_method_for_source405не тот метод; правильный в write
reserved_dataset_name409имя зарезервировано платформой
computed_source409запись в pages.* или breadcrumbs; readonly_because
system_source_not_deletable409DELETE системного источника
dataset_too_large413больше 512 КБ

Меню

КодHTTPКогда
menu_name_required400нет name
menu_ref_required400нет ссылки на меню
location_required400нет location
unknown_location400тема не знает области; locations
unknown_language400нет языка
bad_items400items не массив
bad_reorder400нет order
item_target_required400пункт без page и url
menu_not_found404нет меню
menu_not_assigned404~область пуста
item_not_found404нет пункта
page_not_found404пункт ведёт на несуществующую страницу
ambiguous_menu409имя у нескольких меню
menu_items_unresolved409пункты не разрешились; ничего не записано; errors
menu_items_invalid409пункты на неопубликованные страницы; allow_invalid
bad_parent409пункт сам себе родитель
polylang_inactive409язык на сайте без языков
menu_assignment_not_stored500карта областей после записи не совпала; ничего не записано
invalid_theme400неверное имя темы в theme

Сайдбар документации

КодHTTPКогда
bad_items400items не массив
bad_missing400missing не hide и не keep
bad_reorder400нет ни order, ни id
bad_status400неизвестный статус; allowed
item_ref_required400пустая ссылка на пункт
docs_frame_not_found404названного фрейма документации нет
page_language_mismatch404путь с префиксом одного языка, страница — другого
duplicate_item409страница в дереве дважды
not_a_sibling409в order пункт другой ветки
sidebar_items_unresolved409PUT не применён; errors с координатами

Стили

КодHTTPКогда
css_required400нет css или не строка
css_too_large413больше 256 КБ
comments_not_allowed422в CSS сайта комментарий /* */ или кириллица вне строк; found со строками. Маркеры блоков — :root{--имя:1}, лицензии /*! … */ пропускаются
unknown_token400нет такого токена
bad_token_value400значение не того типа или вне диапазона
invalid_theme400неверное имя темы

Настройки, главная, кэш

КодHTTPКогда
invalid_blogname, invalid_blogdescription400не строка или пустое название
invalid_site_icon400не id вложения
invalid_analytics400не объект с ключами счётчиков или неизвестный ключ; допустимые в allowed
secret_field400в analytics секретный ключ (ywm_client_token, токены, ключи, пароли): ручка настроек секретов не пишет и не отдаёт, имена в fields
invalid_page, invalid_lang400неверная главная или язык
invalid_transients, invalid_pages, invalid_urls400неверные списки для сброса кэша
nothing_to_flush400сбрасывать нечего
page_not_published409главной может быть только опубликованная страница
no_default_translation409у страницы нет перевода на основной язык

Языки

КодHTTPКогда
locale_required400POST без locale
invalid_locale, invalid_language, invalid_name, invalid_flag, invalid_order, invalid_slug400поле не своей формы
locale_unknown400Polylang не знает локаль — нужны slug и name
invalid_force_lang400force_lang вне 1–3
pll_invalid_slug, pll_non_unique_slug, pll_invalid_locale, pll_invalid_flag, pll_invalid_name400отказ Polylang; details
language_not_found404нет языка
polylang_inactive409нет Polylang
language_exists409слаг занят языком с другими свойствами; diff
language_in_use409у языка есть содержимое; usage, force
language_is_default409удаление основного языка
last_language409удаление единственного языка
language_delete_failed500Polylang не удалил язык

SEO

КодHTTPКогда
invalid_separator400неизвестный разделитель
invalid_titles, invalid_metadesc, invalid_noindex, invalid_attachments, invalid_breadcrumbs, invalid_sitemap400раздел не объект
invalid_organization_type400не company и не person
invalid_person_user400нет такого пользователя
invalid_logo, invalid_default_image400не картинка медиатеки этого сайта
invalid_twitter_card400не summary и не summary_large_image
invalid_profiles400profiles не объект или other не массив
invalid_entries_per_page400вне 1–10000
sitemap_composition_readonly400состав карты сайта — через noindex
invalid_index_now_key, index_now_key_missing400ключ IndexNow неверный или отсутствует
yoast_missing409на сайте нет Yoast
index_now_unsupported409эта сборка Yoast не отправляет IndexNow
no_public_pages409обходить нечего
sitemap_unavailable502адреса в карте сайта: sitemap_index.xml не ответил; sitemap, status, при обрыве — reason
site_home_missing409адреса в карте сайта: у сайта нет адреса, карту читать неоткуда
invalid_enabled, invalid_name, invalid_description400карточка приложения: enabled не bool, текстовое поле не строка
invalid_category, invalid_currency, invalid_operating_systems400карточка приложения: значение вне choices (или платформы не массивом)
invalid_price, invalid_rating_value, invalid_rating_count400цена меньше 0, оценка вне 1–5, число оценок не целое от 1
theme_fields_missing409тема сайта не знает настроек карточки приложения

Позиции в выдаче

КодHTTPКогда
insufficient_credits402не хватает кредитов на позицию; required, available, topup_path
daily_limit_reached42950 снятых позиций за сутки по UTC; limit, used
check_cooldown429запрос проверяли руками меньше 60 минут назад; retry_after_sec
manual_hourly_limit42910 ручных проверок за час; retry_after_sec
queue_full429очередь съёма на сервере полна; retry_after_sec
check_in_progress409идёт другая ваша проверка
too_many_queries409на сайте уже 50 запросов; limit
query_exists409такой запрос с тем же поисковиком и локалью уже есть; id
query_not_found404нет такого запроса на этом сайте
depth_not_allowed422глубина больше 30 за кредиты; max
invalid_interval422interval_days вне 7–90; min
invalid_query, invalid_engine, invalid_gl, invalid_hl, invalid_depth, invalid_mode, invalid_auto422неверное поле, оно в field
invalid_api_key422 / 409ключ SerpApi не той формы или отвергнут; 409 — привязанный ключ перестал работать
own_key_required, no_own_key409свой способ без привязанного ключа
key_not_found404отвязывать нечего
no_searches_left409на своём ключе кончились поиски; результат не сохранён
serpapi_unavailable502SerpApi не ответил на проверку ключа
serpapi_failed502SerpApi ответил ошибкой; kind
platform_key_missing503на сервере не настроен ключ платформы — только свой ключ
credits_unavailable503сервис кредитов не подключён на сервере
serp_not_configured503на сервере не настроено хранение ключей

Отправка на индексацию

КодHTTPКогда
confirmation_required409отправка без confirm: true; estimate
cost_changed409expected_cost меньше суммы, посчитанной сервером; estimate
insufficient_credits402не хватает кредитов; required, available, top_up_path
daily_limit429суточный предел на владельца или на сайт; limit, used, left
nothing_to_send409всё уже отправлено за 7 дней; already_sent
submit_in_progress409идёт другая ваша отправка
duplicate_submission409idempotency_key уже использован; ничего не отправлено и не списано
urls_required, no_urls400адресов нет или ни один не принадлежит сайту
too_many_urls413больше 2000 адресов
platform_only400передан mode, отличный от platform
own_key_disabled410PUT /indexing/account: свой ключ больше не принимается, отправка только за кредиты
invalid_status400неверный status в журнале
platform_unavailable503отправка сейчас недоступна
credits_unavailable503сервис кредитов не подключён на сервере
send_failed502отправка сорвалась на середине; pages, charged

Редиректы

Правила сайта, Редиректы.

КодHTTPКогда
redirect_invalid400from или to не в своём формате: from не путь этого сайта или адрес самой платформы (/wp-admin/, /wp-json/…), to не путь и не адрес http(s), * не там; или прислано "enabled": false — выключенных правил нет, правило удаляют; field, value. У PUT /redirects/auto — не передан enabled
redirect_loop409правило уводит на свой же адрес, замыкает круг с другими правилами или префикс растёт с каждым переходом; chain
redirect_exists409у этого from уже есть правило; id
redirect_not_found404правила с таким номером на сайте нет
redirects_limit409больше 5000 правил на сайт или строк в одном импорте; limit
nothing_to_import400у импорта нет ни csv, ни redirects, или в них нет строк
invalid_on_conflict400on_conflict не skip и не replace

Предупреждения live_page, chain, static_app, code_ignored, apply_failed приходят в warnings и отказом не являются: правило записано, ответ 201 или 200. Что каждое значит — Завести правило.

Медиа

КодHTTPКогда
source_required, source_ambiguous, filename_required400нет источника, два источника, data без имени
bad_url, bad_data, bad_field400неверный адрес, base64 или поле
bad_source_url, bad_sha256, bad_id400неверный параметр поиска
bad_page, bad_per_page, bad_search, bad_type, bad_orderby, bad_order400неверный параметр списка
unknown_language400нет языка
empty_file400 или 422пустой файл
media_not_found404не найдено
file_too_large413больше 15 МБ
unsupported_type415не JPEG, PNG, WebP, GIF, SVG
unsafe_svg422SVG не прошёл проверку
source_not_found, download_failed422источник не скачался
sideload_failed422WordPress не принял файл
media_failed, media_unavailable502, 503исполнитель ответил неожиданно или не ответил

Сайты

КодHTTPКогда
invalid_name, invalid_donor, invalid_keep_frames400неверное тело создания
invalid_domain, invalid_swap_with400неверный домен или второй сайт
invalid_mode, invalid_drop_orphan_users400неверный режим удаления
donor_not_found404нет донора
site_exists409домен занят; blog_id
site_deleted409сайт помечен удалённым
main_site_locked409главный сайт не меняет домен
main_site_protected409главный сайт не удаляется
domain_taken, swap_domain_mismatch, domain_busy, domain_changed_meanwhile409конфликт домена
site_already_gone409archive сайта без записи в реестре
confirmation_required428purge непустого сайта без confirm; confirm_with
purge_failed500клон создан, очистка остановилась
domain_move_failed500ядро отказало переносу; откат в rolled_back
unsafe_table500барьер остановил удаление таблицы
not_multisite, network_not_found, site_id_exhausted500сбой окружения

Пользователи и профиль

КодHTTPКогда
invalid_email, invalid_name400неверная почта или имя
invalid_user_id400путь не id и не invite-<id>
invalid_dashboard_lang400язык интерфейса не en/ru; allowed
not_member404пользователь не на сайте
invite_not_found404нет приглашения
user_not_found404нет пользователя
already_member, already_invited409уже на сайте или уже приглашён
cannot_remove_self409снять себя
last_admin409снять последнего администратора
email_taken409почта занята в сети
token_missing404GET /me/api-token: токена нет — выпустить POST /me/api-token
token_not_recoverable409GET /me/api-token: токен выпущен до 01.10.2026, показать нельзя — выпустить заново
impersonated403GET /me/api-token в сессии входа под другим пользователем

Вход в дашборд

КодHTTPКогда
missing_id_token401нет ID-токена Firebase
invalid_id_token401ID-токен неверный или просрочен
no_session401нет сессии (в том числе билет по op_-токену)
session_expired401сессия больше не действует
email_required, email_not_verified403у учётки Firebase нет почты или она не подтверждена
provider_not_allowed403способ входа не почта и не Google
user_not_found403почты нет в сети и приглашений на неё нет
blog_required400билет без сайта
auth_not_configured503вход не настроен на этом экземпляре
auth_error500сбой проверки
arrow_backНазад
Ошибки и частые проблемы
На этой странице
  • Общие
    • Страницы
      • Переводы
        • Фреймы
          • Данные
            • Меню
              • Сайдбар документации
                • Стили
                  • Настройки, главная, кэш
                    • Языки
                      • SEO
                        • Позиции в выдаче
                          • Отправка на индексацию
                            • Редиректы
                              • Медиа
                                • Сайты
                                  • Пользователи и профиль
                                    • Вход в дашборд
                                    1. Главная
                                    2. Docs
                                    3. Документация OnPress v2
                                    4. Документация OnPress v2
                                    5. Ошибки и частые проблемы
                                    6. Коды ошибок
                                    OnPress
                                    OnPress
                                    ИП Зуев И.В. ИНН: 360408359441
                                    info@onpress.pro
                                    © 2026
                                    политика конфиденциальности публичная оферта
                                    • visa
                                    • mastercard
                                    • sber
                                    • tpay