POST /v1/messages
Anthropic-совместимый Messages API с алиасами, потоковым режимом, инструментами, анализом изображений, кэшированием и рассуждениями.
Аутентификация
x-api-key: mg_live_...
anthropic-version: 2023-06-01
content-type: application/json
Также принимается аутентификация Bearer.
Запрос
curl https://api.model-gate.com/v1/messages \
-H "x-api-key: mg_live_..." \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4.6",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Write a short release note."}
]
}'
Ответ
{
"id": "msg_example",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4.6",
"content": [{"type": "text", "text": "This release improves documentation and model routing."}],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 11,
"output_tokens": 9,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}
Потоковый режим
Добавьте "stream": true. Model Gate передаёт Anthropic-совместимые SSE-события и записывает итоговое использование токенов для тарификации.
Алиасы и учёт
Переданный алиас заменяется канонической моделью до постановки запроса в очередь или отправки поставщику. Тарифы, стоимость для лимитов, история запросов и ограничения моделей используют каноническую модель.
| Статус | Значение | Действие |
|---|---|---|
400 | Неверный запрос | Проверьте тело запроса и идентификатор модели. |
401 | Недействительный или замороженный ключ | Проверьте или перевыпустите API-ключ. |
429 | Превышен лимит частоты или одновременных запросов | Учитывайте Retry-After и делайте паузу перед повтором. |
5xx | Временная ошибка поставщика или шлюза | Повторяйте идемпотентные запросы с экспоненциальным увеличением паузы. |
Session ID
Передавайте стабильный JSON session_id или заголовок X-Session-ID в каждом обращении этого диалога. Приоритет: session_id → X-Session-ID → распознанная сессия в metadata.user_id → prompt_cache_key → начальное содержимое диалога. Уровень идентификации не зависит от типа поставщика. Один и тот же ID не гарантирует попадание в кеш и не отключает допустимое резервное переключение. Автоматическое поведение, область действия, ограничения и отличия от идемпотентности и хранения контекста описаны в разделе идентификатор диалога и привязка маршрута.
Выбранный идентификатор сохраняется для потока и асинхронной отправки, когда эндпоинт её поддерживает. После тайм-аута не отправляйте новый платный POST только для проверки сессии: сначала проверьте существующий запрос.
Уже заданная распознанная сессия в метаданных используется без ошибки несовпадения; обычный metadata.user_id сохраняется и не считается диалогом. Более приоритетные явные поля побеждают. Форматы и ограничения передачи поставщику приведены в указанном справочнике идентификации.
Распознанная metadata-сессия имеет приоритет перед подсказкой кеширования. Автоматическая идентичность не учитывает известные маркеры cache_control и эквивалентные одиночные текстовые обёртки, не меняя запрос к модели. Отдельно настроенный совместимый транспорт сессионного заголовка не занимает обычный metadata.user_id; эту возможность настраивает оператор, а не клиент.