Endpoints

4.1 Tabela de endpoints

Um serviço em conformidade DEVE implementar todos os endpoints marcados como obrigatórios. Ele PODE implementar os opcionais e os sinaliza por meio das flags de capacidade de sua descrição do serviço.

Método Caminho Exigência Finalidade
GET /.well-known/lmsp.json Obrigatório Descoberta do serviço e das capacidades
GET /lmsp/v1/openapi.json Obrigatório Especificação da interface legível por máquina
GET /lmsp/v1/health Obrigatório Verificação de atividade e de prontidão
POST /lmsp/v1/pair Obrigatório Trocar um código de pareamento por um token de portador
GET /lmsp/v1/models Obrigatório Listar os modelos locais
GET /lmsp/v1/models/{model_id} Obrigatório Obter um modelo
POST /lmsp/v1/responses Obrigatório Geração síncrona ou em streaming
GET /lmsp/v1/responses/{response_id} Opcional Recuperar uma resposta armazenada
POST /lmsp/v1/tasks Obrigatório Criar uma tarefa de geração assíncrona
GET /lmsp/v1/tasks/{task_id} Obrigatório Obter uma tarefa assíncrona
POST /lmsp/v1/tasks/{task_id}/cancel Obrigatório Cancelar uma tarefa assíncrona
GET /lmsp/v1/tasks/{task_id}/events Opcional Assinar ou retomar o fluxo de eventos
POST /lmsp/v1/models/{model_id}/load Opcional Pré-carregar um modelo
POST /lmsp/v1/models/{model_id}/unload Opcional Descarregar um modelo

Os endpoints compatíveis com a OpenAI em /v1 e os endpoints opcionais compatíveis com o Ollama estão listados na página 8.

4.2 Convenções

  • Corpos. Os corpos de requisição e de resposta são JSON (application/json), exceto os fluxos de eventos (text/event-stream) e os erros (application/problem+json).
  • Parâmetros de caminho. Um nome entre chaves, como {model_id}, é um marcador. Os valores DEVEM ser codificados em percent-encoding. Um ID de modelo como qwen3:14b-q4_k_m é enviado como qwen3%3A14b-q4_k_m.
  • Autenticação. Todo endpoint exige Authorization: Bearer <token>, exceto /.well-known/lmsp.json, /lmsp/v1/openapi.json, /lmsp/v1/health e /lmsp/v1/pair.
  • Endpoints opcionais. Um endpoint opcional que o serviço não implementa DEVE responder 501 Not Implemented com o código de erro unsupported_capability.
  • Versões e erros. As requisições podem trazer cabeçalhos de versão, e todo erro usa um único formato. Ambos são definidos na página 9.
  • Contrato. O documento OpenAPI publicado em /lmsp/1.0/openapi.json é a forma legível por máquina desta página. Onde os dois divergem, o texto é normativo.