Skip to content
Язык: Русский

API для разработчиков

Эндпоинты API по разделам

Обновлено 1 ноября 2026 г. 7 мин чтения

Все эндпоинты, доступные с API-ключом, — по разделам, с методом, путём, нужной областью доступа и описанием того, что они делают.

В этом обзоре перечислены все эндпоинты, которые работают с токеном от API-ключа. Все пути начинаются с https://dock.at-harbor.com. Точные поля каждого эндпоинта описаны в OpenAPI-описании по адресу https://dock.at-harbor.com/openapi.yaml.

Аутентификация и публичные эндпоинты

Метод и путьАутентификацияНазначение
POST /v1/tokenНет (ID и секрет ключа в теле)Обменять API-ключ на токен доступа
GET /v1/plansНетТарифы и цены
GET /v1/pages/available?handle=…НетПроверить, свободен ли хэндл

Страницы

Метод и путьОбласть доступаНазначение
GET /v1/pagesread:pagesВсе страницы рабочего пространства с ID, хэндлом, заголовком, статусом, опубликованной версией, видимостью и URL
POST /v1/pageswrite:pagesСоздать страницу; обязательно: handle (2–64 символа, буквы, цифры, дефис) и template_key; необязательно title, domain_id, theme_config
GET /v1/pages/{id}read:pagesОдна страница; также has_unpublished_changes (true, если черновик отличается от опубликованной версии)
PATCH /v1/pages/{id}write:pagesИзменить title, handle или discoverable (показ в каталоге)
PATCH /v1/pages/{id}/visibilitywrite:pagespublic, private или password (с password, 4–72 символа); действует сразу
POST /v1/pages/{id}/publishwrite:pagesОпубликовать черновик; ответ содержит новую версию
GET /v1/pages/{id}/versionsread:pagesОпубликованные версии
GET /v1/pages/{id}/versions/{version}read:pagesОдна версия
POST /v1/pages/{id}/versions/{version}/restorewrite:pagesПеренести версию в черновик; current отменяет все изменения черновика
GET /v1/pages/{id}/seoread:pagesТексты для SEO и превью при отправке ссылки
PATCH /v1/pages/{id}/seowrite:pagesseo_title, seo_description, og_title, og_description, og_image_asset_id, canonical_url, noindex
POST /v1/pages/{id}/invite-linkwrite:pagesСсылка-приглашение для приватной опубликованной страницы; days 1–30, по умолчанию 7. Иначе 409 page_not_private или page_not_published
POST /v1/pages/{id}/invite-link/revokewrite:pagesОтозвать ссылку-приглашение
POST /v1/pages/{id}/uploadswrite:assetsЗагрузить файл для страницы

Черновик

Метод и путьОбласть доступаНазначение
GET /v1/pages/{id}/draftread:pagesТекущий черновик: template_key, config, theme_config, custom_css, seo, привязки изображений и ссылки
PATCH /v1/pages/{id}/draftwrite:pagesХотя бы одно из: config (не больше 64 КБ в виде JSON, каждый текст до 5000 символов), theme_config, custom_css (до 50 000 символов и 65 535 байт), seo, template_key, template_asset_bindings
GET /v1/pages/{id}/draft/validateread:pagesПроверить, можно ли опубликовать черновик

Блоки

Метод и путьОбласть доступаНазначение
GET /v1/pages/{id}/blocksread:pagesБлоки страницы
POST /v1/pages/{id}/blockswrite:pagesСоздать блок; обязательно: type и config
PATCH /v1/pages/{id}/blocks/{blockId}write:pagesИзменить блок
DELETE /v1/pages/{id}/blocks/{blockId}write:pagesУдалить блок
POST /v1/pages/{id}/blocks/reorderwrite:pagesЗадать порядок
GET /v1/blocks/schemasread:pagesВсе типы блоков со схемой их config

Типы, которые можно создавать: text, image, embed, spacer, social_links, form, integration, donation, modal, heading, notice, coupon, contact, opening_hours, tour, file, vcard, countdown и gallery. Блок ссылок фиксированный и через этот эндпоинт не создаётся. Типы блоков, не входящие в ваш тариф, API отклоняет с 403 block_type_requires_plan. config блока может занимать не больше 128 КБ в виде JSON, а каждый текст в нём — не больше 10 000 символов; в информационном модальном окне modal_body_html может содержать до 50 000 символов и не больше 65 535 байт.

Ссылки

Метод и путьОбласть доступаНазначение
GET /v1/pages/{id}/linksread:linksСсылки страницы
POST /v1/pages/{id}/linkswrite:linksСоздать ссылку; обязательно: title (1–200) и target_url_template (8–2048)
GET /v1/pages/{id}/links/{linkId}read:linksОдна ссылка
PATCH /v1/pages/{id}/links/{linkId}write:linksИзменить ссылку
DELETE /v1/pages/{id}/links/{linkId}write:linksУдалить ссылку
POST /v1/pages/{id}/links/reorderwrite:linksЗадать порядок: {"order":[IDs]}

Необязательные поля при создании и редактировании: enabled, geo (правило по странам с mode allowlist или denylist и countries), device (отдельные цели для разных устройств), starts_at и ends_at (расписание), protection_tier (защита от ботов) и age_restriction. Расписание, правила по странам и устройствам доступны начиная с Creator Pro. При сортировке достаточно отправить ID, которые должны переместиться в начало, — все остальные ссылки следуют за ними в прежнем порядке. ID, которые не принадлежат странице, API отклоняет с 422 validation_failed; они перечислены в details.missing_link_ids.

Короткие ссылки

Метод и путьОбласть доступаНазначение
GET /v1/short-linksread:short_linksКороткие ссылки с limit, offset, sort и поиском q; ответ содержит total
POST /v1/short-linkswrite:short_linksСоздать; обязательно: target_url (http или https, 8–2048); необязательно title (до 120) и custom_slug (3–32, строчные буквы, цифры, дефисы)
GET /v1/short-links/{id}read:short_linksОдна короткая ссылка
PATCH /v1/short-links/{id}write:short_linksИзменить target_url или title
DELETE /v1/short-links/{id}write:short_linksУдалить короткую ссылку

Если лимит коротких ссылок по тарифу достигнут, API отвечает 402 plan_limit_reached.

Файлы

Метод и путьОбласть доступаНазначение
GET /v1/assetsread:assetsФайлы рабочего пространства
POST /v1/assetswrite:assetsЗагрузить файл (multipart/form-data, поле file; необязательно page_id, kind, title, alt_text)
DELETE /v1/assets/{assetId}write:assetsУдалить файл

Формы

Метод и путьОбласть доступаНазначение
GET /v1/formsread:formsФормы
POST /v1/formswrite:formsСоздать форму; обязательно: name и fields (1–100 полей)
GET /v1/forms/{id}read:formsОдна форма
PATCH /v1/forms/{id}write:formsИзменить форму
DELETE /v1/forms/{id}write:formsУдалить форму
GET /v1/forms/{id}/summaryread:formsСводка
GET /v1/forms/{id}/submissionsread:formsЗаявки, сначала новые (limit 1–500, по умолчанию 100; следующие страницы через cursor = next_cursor)
GET /v1/forms/{id}/submissions/exportread:formsВсе заявки в CSV-файле, сначала новые, в пределах лимита экспорта по тарифу (начиная с Creator Pro); заголовок X-Export-Truncated показывает, был ли файл обрезан

Статистика

Метод и путьОбласть доступаНазначение
GET /v1/stats/pages/{id}/summaryread:statsКлючевые показатели страницы
GET /v1/stats/pages/{id}/timeseriesread:statsВременной ряд страницы
GET /v1/stats/pages/{id}/compareread:statsСравнение с предыдущим периодом
GET /v1/stats/pages/{id}/linksread:statsКлики по каждой ссылке
GET /v1/stats/pages/{id}/widgetsread:statsКлики по виджетам
GET /v1/stats/pages/{id}/conversions/breakdownread:statsКонверсии страницы
GET /v1/stats/workspaces/me/summaryread:statsКлючевые показатели всех страниц
GET /v1/stats/workspaces/me/timeseriesread:statsВременной ряд всех страниц
GET /v1/stats/workspaces/me/compareread:statsСравнение с предыдущим периодом
GET /v1/stats/workspaces/me/top-pagesread:statsТоп страниц
GET /v1/stats/workspaces/me/conversions/breakdownread:statsКонверсии рабочего пространства
GET /v1/stats/workspaces/me/donationsread:donationsСуммы платежей от поддержавших

Период задаётся так, как описано в разделе Пагинация: через period или через from и to. Насколько далеко назад можно смотреть, зависит от тарифа: 365 дней в Creator Pro и Agency, 730 дней в Enterprise. Более ранние периоды обрезаются до этого предела.

Push (только чтение)

Метод и путьОбласть доступаНазначение
GET /v1/push/historyread:statsИстория push (limit, offset)
GET /v1/push/usageread:statsРасход недельного лимита

Отправлять push-уведомления и управлять правилами push можно только в панели управления.

Рабочее пространство, шаблоны и домены

Метод и путьОбласть доступаНазначение
GET /v1/workspaces/me/entitlementsread:workspacesВозможности и лимиты тарифа
GET /v1/workspaces/me/usageread:workspacesТекущее использование
GET /v1/workspaces/me/usage/meteringread:workspacesИстория использования
GET /v1/workspaces/me/membersread:workspacesСписок участников
GET /v1/workspaces/me/settingsread:workspacesНастройки рабочего пространства
GET /v1/workspaces/me/callback-secretsread:workspacesСекреты колбэков (без секрета в открытом виде)
GET /v1/workspaces/me/callback-secrets/{id}read:workspacesОдин секрет колбэка (без секрета в открытом виде)
GET /v1/templatesread:workspacesВсе шаблоны
GET /v1/templates/availableread:workspacesВстроенные и активные шаблоны рабочего пространства с допустимыми значениями template_key; у шаблонов рабочего пространства ключ ws:<key> и type workspace
GET /v1/templates/{key}read:workspacesОдин шаблон
GET /v1/workspaces/me/templatesread:workspacesВаши собственные шаблоны рабочего пространства
GET /v1/workspaces/me/templates/{id}read:workspacesОдин шаблон рабочего пространства
POST, PATCH, DELETE /v1/workspaces/me/templates[/{id}]write:templatesСоздание, редактирование, удаление шаблонов рабочего пространства; html не больше 60 000 байт (иначе 422 validation_failed с details.reason maxBytes), до 32 asset_slots
GET /v1/domainsread:workspacesСобственные домены
GET /v1/domains/availableread:workspacesДомены, доступные для страниц

Недоступно с API-ключами

Вебхуки, интеграции, отправка push-уведомлений, управление доменами, участники, оплата и удаление страниц доступны только в панели управления. Секреты колбэков тоже создаются и управляются только там; просматривать их список и читать отдельные секреты (без секрета в открытом виде) можно с read:workspaces. Полный список — в статье Области доступа подробно. Входящие данные — продажи и ваши собственные живые данные — вы отправляете с отдельными секретами на эндпоинты, описанные в статье Колбэки.

Ничего не нашли?

Напишите, что вам нужно, и наша служба поддержки поможет вам лично.

Написать в поддержку