Перейти к основному содержанию
Каждый запрос к API CSBoard (кроме GET /v1/health) должен содержать действительный API-ключ. Ключи относятся к пространству имён csb_pub_, имеют либо доступ только на чтение, либо торговый доступ и привязаны к вашему аккаунту CSBoard. Сервер хранит только SHA-256-хеш каждого ключа — сам секрет показывается один раз при создании и больше никогда, поэтому сохраните его в надёжном месте.

Получение API-ключа

1

Откройте вкладку API в профиле

Перейдите на csboard.com/profile?tab=api и при необходимости войдите в аккаунт.
2

Сгенерируйте новый ключ

Нажмите Generate key. Выберите метку, отражающую назначение ключа (например, price-tracker-prod).
3

Скопируйте ключ немедленно

Ваш новый ключ csb_pub_… отображается только один раз. Скопируйте его в менеджер секретов или переменные окружения, прежде чем закрыть окно.
4

Включите торговлю (опционально)

Если вам нужно размещать ордера, найдите ключ в списке и переключите Trading enabled. Перед этим ознакомьтесь с предупреждением ниже.
Возможность торговли отделена от доступа на чтение и должна быть явно включена для каждого ключа на странице профиля. Ключ без включённой торговли вернёт 403 trading_not_enabled при попытке вызвать POST /v1/orders. Никогда не включайте торговлю на ключе, которым вы делитесь с третьими лицами или встраиваете в клиентский код.

Передача ключа в запросах

Отправляйте ключ как Bearer-токен в заголовке Authorization в каждом запросе:
curl https://csboard.com/v1/listings \
  -H "Authorization: Bearer csb_pub_..."
Для удобства вы также можете передать ключ как параметр запроса api_key — это полезно для быстрых тестов в браузере или инструментах, не поддерживающих пользовательские заголовки:
curl "https://csboard.com/v1/listings?api_key=csb_pub_..."
В продакшене предпочитайте заголовок Authorization; параметры запроса с большей вероятностью попадают в логи сервера.

Возможности ключей

ВозможностьКлюч для чтенияТорговый ключ
Все эндпоинты GET
POST /v1/orders
Создавайте отдельные ключи для разных задач (например, один ключ для чтения — для дашборда цен, другой — торговый — для бота-покупателя), чтобы их можно было отзывать независимо, не нарушая работу всего сразу.

Безопасность и хранение

Мы храним только SHA256(key) — никогда сырой секрет. Это означает:
  • Если вы потеряли ключ, придётся сгенерировать новый; опции «показать ключ» нет.
  • Скомпрометированный ключ можно мгновенно отозвать из профиля без влияния на другие ключи.

Ошибки аутентификации

Каждая ошибка API возвращает JSON-тело такого формата:
{ "code": "invalid_api_key", "detail": "Unknown or revoked API key." }
HTTP-статусcodeКогда возникает
401missing_api_keyКлюч не передан или не начинается с csb_pub_
401invalid_api_keyКлюч не распознан или был отозван
401too_many_failed_authСлишком много неверных ключей с вашего IP — применён 5-минутный бан
403trading_not_enabledКлюч действителен, но торговля для него не включена
429rate_limit_exceededПревышен лимит запросов для ключа
Подробнее об ошибке 429 и о том, как корректно делать back-off, см. Лимиты запросов.