Эндпоинты

4.1 Таблица эндпоинтов

Соответствующий спецификации сервис ДОЛЖЕН реализовывать каждый эндпоинт, помеченный как обязательный. Он МОЖЕТ реализовывать необязательные и сообщает о них через флаги возможностей в своём описании сервиса.

Метод Путь Требование Назначение
GET /.well-known/lmsp.json Обязательный Обнаружение сервиса и его возможностей
GET /lmsp/v1/openapi.json Обязательный Машиночитаемая спецификация интерфейса
GET /lmsp/v1/health Обязательный Проверка живости и готовности
POST /lmsp/v1/pair Обязательный Обмен кода сопряжения на Bearer-токен
GET /lmsp/v1/models Обязательный Список локальных моделей
GET /lmsp/v1/models/{model_id} Обязательный Получение одной модели
POST /lmsp/v1/responses Обязательный Синхронная или потоковая генерация
GET /lmsp/v1/responses/{response_id} Необязательный Получение сохранённого ответа
POST /lmsp/v1/tasks Обязательный Создание асинхронной задачи генерации
GET /lmsp/v1/tasks/{task_id} Обязательный Получение асинхронной задачи
POST /lmsp/v1/tasks/{task_id}/cancel Обязательный Отмена асинхронной задачи
GET /lmsp/v1/tasks/{task_id}/events Необязательный Подписка на поток событий или его возобновление
POST /lmsp/v1/models/{model_id}/load Необязательный Предварительная загрузка модели
POST /lmsp/v1/models/{model_id}/unload Необязательный Выгрузка модели

Эндпоинты, совместимые с OpenAI, по пути /v1 и необязательные эндпоинты, совместимые с Ollama, перечислены на странице 8.

4.2 Соглашения

  • Тела. Тела запросов и ответов — JSON (application/json), кроме потоков событий (text/event-stream) и ошибок (application/problem+json).
  • Параметры пути. Имя в фигурных скобках, например {model_id}, — это подстановка. Значения ДОЛЖНЫ быть закодированы с процентным кодированием. Идентификатор модели вида qwen3:14b-q4_k_m передаётся как qwen3%3A14b-q4_k_m.
  • Аутентификация. Каждый эндпоинт требует Authorization: Bearer <token>, кроме /.well-known/lmsp.json, /lmsp/v1/openapi.json, /lmsp/v1/health и /lmsp/v1/pair.
  • Необязательные эндпоинты. Необязательный эндпоинт, который сервис не реализует, ДОЛЖЕН отвечать 501 Not Implemented с кодом ошибки unsupported_capability.
  • Версии и ошибки. Запросы могут нести заголовки версии, а каждая ошибка использует единый формат. И то и другое определено на странице 9.
  • Контракт. Документ OpenAPI, опубликованный по адресу /lmsp/1.0/openapi.json, — это машиночитаемая форма данной страницы. При расхождениях нормативен текст.