API-ключи
API-ключ — это токен, по которому ваш скрипт или внешний сервис может обращаться к данным Invest от вашего имени.
Когда нужны
- Автоматические импорты (например, скрипт, который раз в день забирает цены крипты).
- Интеграция с собственными инструментами (Notion, Telegram-бот, Excel-аддин).
- Резервные копии через cron.
Создать ключ
- Настройки → API-ключи → «Создать ключ».
- Введите имя — для своей памяти (например,
notion-import). - Выберите scope — что ключ может:
read:datasets— читать схему и строки.write:datasets— добавлять, изменять, удалять строки.read:dashboards— читать дашборды.
- Нажмите «Создать».
- Скопируйте плейн-текст ключа — он показывается ровно один раз. Если потеряете — придётся отзывать и создавать новый.
Что хранится
В вашем кабинете виден только:
- Имя ключа.
- Последние 4 символа (для опознавания).
- Scope.
- Дата создания и последнего использования.
Сам токен на сервере хранится только как SHA-256 хеш — даже мы не можем его восстановить.
Отозвать ключ
- Меню
⋮напротив ключа → «Отозвать». - После отзыва запросы с этим ключом возвращают 401 Unauthorized.
- Восстановить отозванный ключ нельзя — создайте новый.
Как использовать
⚠️ Уточнить: публичная документация HTTP API на момент написания не зафиксирована. Этот раздел — пользовательский гайд по UI, а не справочник API. Если вы пишете интеграцию — связь с разработчиком сервиса через поддержку даст точные эндпоинты и формат заголовков.
Общая логика:
- Заголовок запроса вида
Authorization: Bearer <ваш_токен>. - Базовый URL —
https://hortvest.ru/api/v1/....
Безопасность
- Никогда не публикуйте API-ключ в открытом коде (GitHub, форумы).
- Если случайно опубликовали — сразу отзовите и создайте новый.
- Используйте минимальный scope. Если интеграция только читает — не давайте
write:*.
Частые ошибки
- Скопировали ключ, но забыли — где-то записан. Если не сохранили — отзовите и создайте новый.
- Используют ключ для входа человеком. API-ключ только для машин. Для входа человеком — email-код.
- Ключ работает не везде. Проверьте scope: для записи в датасет нужен
write:datasets.