Справочник API

Базовый адрес всех вызовов: https://api.justcode.lol/v1

Шлюз терпим к форме пути: работают /v1/messages, /messages и даже /v1/v1/messages — клиенты часто дописывают /v1 сами.

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

Ключ передаётся любым из двух заголовков, оба принимаются на всех эндпоинтах:

x-api-key: ВАШ_КЛЮЧ
Authorization: Bearer ВАШ_КЛЮЧ

POST /v1/messages

Anthropic Messages API. Основной путь для Claude Code и агентов на SDK anthropic.

Параметры — как в оригинальном API: model, messages, max_tokens, system, temperature, stream, tools, tool_choice, thinking, stop_sequences. Поддерживаются блоки tool_use и tool_result, изображения, и cache_control для кэша промпта.

curl https://api.justcode.lol/v1/messages \
  -H "x-api-key: $JUSTCODE_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "max_tokens": 1024,
    "system": "Отвечай кратко.",
    "messages": [{"role": "user", "content": "Что такое вектор?"}],
    "stream": true
  }'

При "stream": true ответ приходит событиями Server-Sent Events: message_start, content_block_start, content_block_delta, message_delta, message_stop, между ними — служебные ping.

POST /v1/chat/completions

OpenAI Chat Completions API. Через него доступны все модели, включая Claude и Gemini: шлюз переводит формат в обе стороны.

Параметры: model, messages, max_tokens, temperature, top_p, stream, tools, tool_choice, reasoning_effort, stop.

curl https://api.justcode.lol/v1/chat/completions \
  -H "Authorization: Bearer $JUSTCODE_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [
      {"role": "system", "content": "Отвечай кратко."},
      {"role": "user", "content": "Что такое вектор?"}
    ],
    "stream": true
  }'

POST /v1/responses

OpenAI Responses API — им ходит Codex CLI. Шлюз сам подставляет набор инструментов, если клиент прислал пустой tools: без этого Codex не может править файлы, потому что рассчитывает получить обвес от сервера.

POST /v1/embeddings

Векторные представления, формат OpenAI.

curl https://api.justcode.lol/v1/embeddings \
  -H "Authorization: Bearer $JUSTCODE_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": ["первый текст", "второй текст"]
  }'

Ответ:

{
  "object": "list",
  "data": [
    {"object": "embedding", "index": 0, "embedding": [0.01, -0.03, "..."]}
  ],
  "model": "jc-embed-multilingual",
  "usage": {"prompt_tokens": 14, "total_tokens": 14}
}

Размерность вектора 384. Массивы токенов на входе не поддерживаются — передавайте текст. За один запрос принимается до 256 текстов.

GET /v1/models

Каталог доступных моделей с размерами окон.

curl https://api.justcode.lol/v1/models -H "Authorization: Bearer $JUSTCODE_KEY"

POST /v1/messages/count_tokens

Оценка размера запроса до отправки. Считается локально и отвечает за миллисекунды, деньги не списываются.

Потоковая передача

Потоковый режим рекомендуется для любых длинных ответов. При выключенном стриминге клиент ждёт весь ответ молча, и мобильные сети успевают разорвать простаивающее соединение. Если видите обрывы на длинных ответах — включите stream.

Машиночитаемая версия. Эта страница доступна как markdown. Полная документация одним файлом — llms-full.txt, индекс для агентов — llms.txt, спецификация — openapi.json.