API-референс

Обзор API

Базовые URL, способы аутентификации, формат ошибок и лимиты для всех API Kaz Smart Chain.

Базовые URL#

Все REST-эндпоинты доступны под общим API-хостом:

text
https://kazsmartchain.org/api

Эндпоинты портала разработчика также доступны через субдомен https://dev.kazsmartchain.org/api. Глобального префикса версии нет.

Аутентификация#

СхемаЗаголовокГде применяется
JWT разработчикаAuthorization: Bearer <token>Управление аккаунтом: деплой, ключи, faucet, аналитика
API-ключx-api-key: ksc_…Contract Gateway: query / invoke
Публичный—Explorer, компиляция, challenge, балансы
Два разных секрета
JWT разработчика выдаётся при входе по ЭЦП и живёт 12 часов. API-ключ (ksc_…) предназначен для машинного доступа к контрактам и не истекает, пока не отозван.

Выбор сети#

Эндпоинты, зависящие от сети, принимают параметр network со значениями testnet (по умолчанию в портале) или mainnet. В Explorer это query-параметр ?network=.

Формат ошибок#

Ошибки возвращаются стандартными кодами HTTP с JSON-телом NestJS:

json
{
  "statusCode": 401,
  "message": "Подпись ЭЦП не прошла криптографическую проверку.",
  "error": "Unauthorized"
}
КодЗначение
400Некорректный запрос (валидация, faucet вне testnet)
401Не авторизован (нет/невалиден токен или ключ)
403Доступ запрещён (чужой ресурс, недостаточный скоуп)
404Не найдено
429Превышен лимит (faucet / rate limit)
503Сервис временно недоступен (например, верификатор ЭЦП)

Rate limit#

  • Глобально: 600 запросов в минуту с одного IP.
  • Faucet: до 5 начислений в сутки на разработчика.

OpenAPI#

  • Интерактивный Swagger UI со всеми эндпоинтами и кнопкой «Authorize» — kazsmartchain.org/api/docs.
  • Спецификация JSON (OpenAPI 3.0) — kazsmartchain.org/api/docs-json. Импортируйте в Postman или сгенерируйте клиент.
  • Per-contract OpenAPI — персональная спека для каждого контракта: GET /api/devportal/contracts/:id/openapi.json.

Группы API#