API Поселково
Всё, что человек делает в интерфейсе, он может сделать программой или голосом через своего ассистента. Это не два продукта с разными возможностями: и страница, и HTTP-запрос, и вызов инструмента MCP приводят к одному коду.
Практическое следствие: если что-то есть в интерфейсе, оно есть и в API, и наоборот. Расхождение — это баг, а не «ещё не сделали».
С чего начать
- Получите токен. Личный, в настройках, — если программа ваша и работает от вашего имени. Через OAuth — если вы делаете приложение для других людей.
- Посмотрите, какие скоупы вам нужны. По умолчанию выдаётся только чтение, и для начала это правильный выбор.
- Найдите свой поселок:
GET /api/v1/settlements. Единственный эндпоинт, которому не нужен токен, и почти всё остальное проситslugотсюда. - Прочитайте про пагинацию и ошибки — там три вещи, которые иначе придётся выяснять по ответам сервера.
Если вы подключаете ассистента, а не пишете код, вам нужна одна страница: как подключить своего ассистента.
Две двери
HTTP API, /api/v1/… — для программы, скрипта, интеграции.
MCP, /mcp/{аудитория} — для ассистента, которого вы подключаете сами.
За обеими один и тот же OAuth, одни и те же токены и одни и те же права. Токен, отозванный в настройках, перестаёт работать сразу в обеих.
Справочник и спецификация
Справочник эндпоинтов — все адреса с параметрами,
разрешениями и примерами. /developers/openapi.json
— то же самое машиночитаемо, OpenAPI 3.1: его понимают Postman, Insomnia и
генераторы клиентов.
И то и другое собирается из кода при каждом деплое, а не пишется руками, поэтому не расходится с тем, что сервер действительно принимает.
Что важно знать сразу
Версия v1 нестабильна. Пока у API нет ни одного внешнего потребителя, который не может обновиться синхронно с нами, ломающие изменения выходят в v1. Подробно — в разделе про версии.
Перечисления передаются именами, а не числами. "claimed_role": "co_owner",
а не 2. Внутри они хранятся числами ради размера индексов, но наружу число
непригодно: его нельзя прочитать в контракте и по нему невозможно догадаться,
что оно значит.
Идентификаторы — строки. Это снежинки, они не помещаются в число JavaScript без потери точности, поэтому приходят и принимаются как строки.