API Hop

Документация

Документация API Hop

Claude Messages

Нативный API, совместимый с Claude Messages. Этот эндпоинт использует структуры запросов и ответов Anthropic Messages, включая вызовы инструментов и события SSE Anthropic.

POSThttps://api.apihop.ai/anthropic/v1/messages

Нативный API, совместимый с Claude Messages. Этот эндпоинт использует структуры запросов и ответов Anthropic Messages, включая вызовы инструментов и события SSE Anthropic.

Claude Sonnet 4.6 (claude-sonnet-4-6) поддерживается вышестоящим поставщиком, но сейчас не опубликован на RequestBeam. Это не действующая модель интеграции по умолчанию. Перед вызовом любой модели подтвердите доступ своим ответом GET https://api.apihop.ai/v1/models.

text
POST https://api.apihop.ai/anthropic/v1/messages

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

Все запросы требуют ключа API RequestBeam. SDK Anthropic, Claude Code и совместимые клиенты обычно используют x-api-key; обычные HTTP-клиенты также могут применять аутентификацию с токеном Bearer.

http
x-api-key: YOUR_REQUESTBEAM_API_KEY
anthropic-version: 2023-06-01
http
Authorization: Bearer YOUR_REQUESTBEAM_API_KEY
anthropic-version: 2023-06-01

Тело запроса

modelstringобязательноПо умолчанию: claude-sonnet-5-5

Поддерживаемые ID моделей Claude.

  • claude-fable-5
  • claude-fable-5-1
  • claude-opus-4-6
  • claude-opus-4-7
  • claude-opus-4-8
  • claude-opus-5
  • claude-opus-5-5
  • claude-sonnet-5
  • claude-sonnet-5-5

Используйте GET https://api.apihop.ai/v1/models для просмотра моделей, доступных сейчас вашему ключу API.

max_tokensintegerобязательно

Максимальное число токенов вывода как положительное безопасное целое число. Бюджет включает токены размышлений и итогового текста. Отсутствующие, нулевые, отрицательные, дробные, строковые или небезопасные целочисленные значения возвращают HTTP 400 с invalid_request_error до генерации или оплаты. Модель может устанавливать более низкий максимум.

У моделей с размышлениями малый бюджет, например 128, может дать только блоки размышлений и завершиться с stop_reason: "max_tokens" без текста. Задайте явный бюджет для задачи и выбранной модели, оставляя место для размышлений и итогового ответа. Значения в примерах — изменяемые квоты, а не значения по умолчанию провайдера или лимиты модели; увеличение квоты может увеличить объём вывода и стоимость.

messagesobject[]обязательно

Сообщения беседы. Каждое сообщение содержит role и content.

role поддерживает user и assistant. content может быть строкой или массивом блоков содержимого.

systemstring | object[]

Системный запрос. Anthropic Messages использует поле system верхнего уровня вместо роли system в messages.

streambooleanПо умолчанию: false

Нужно ли возвращать события SSE Anthropic.

temperaturenumber

Температура выборки. Допустимые значения и эффекты зависят от выбранной модели.

top_pnumber

Параметр ядерной выборки. Принятие не гарантирует изменения поведения генерации.

top_kinteger

Параметр выборки top-k. Поддержка зависит от выбранной модели.

stop_sequencesstring[]

Стоп-последовательности.

Запросы с непустыми стоп-последовательностями обходят сервисы моделей, о которых известно, что они их не поддерживают; если совместимого сервиса нет, запрос возвращает 400 до генерации или оплаты.

toolsobject[]

Определения инструментов Anthropic. Инструменты-функции обычно включают name, description и input_schema.

tool_choiceobject

Политика выбора инструмента, например { "type": "auto" } или { "type": "tool", "name": "..." }.

thinkingobject

Нативная конфигурация размышлений Anthropic с учётом поддержки выбранной модели и провайдера. Claude 4.5 использует { "type": "enabled", "budget_tokens": 1024 }; Claude Sonnet/Opus 4.6 также поддерживают адаптивные размышления. Не применяйте ручной бюджет ко всем версиям модели. При продолжении после инструмента возвращайте полностью упорядоченное содержимое ассистента, включая thinking, signature, redacted_thinking и tool_use, без изменений. Сохраняйте согласованными конфигурацию размышлений и необходимые заголовки anthropic-beta на всём цикле инструмента. Для SSE объединяйте фрагменты signature_delta.signature одного блока; пустое резюме размышлений не означает, что подпись можно отбросить. Отказ в доступе к аккаунту провайдера — вышестоящий сбой, а не свидетельство неверной подписи. Распознанные отказы доступа к аккаунту Bedrock возвращают HTTP 502 с api_error; обычные ошибки проверки клиента остаются HTTP 400. Принятие по-прежнему требует включённого аккаунта провайдера.

metadataobject

Метаданные запроса.

Кэширование запросов

Добавьте cache_control: { "type": "ephemeral" } в блок system или содержимого сообщения. Использование кэша может включать cache_creation_input_tokens, cache_read_input_tokens и поддерживаемые категории создания на 5 минут или 1 час. TTL в 1 час также требует соответствующего заголовка anthropic-beta.

Примеры запросов

Без потоковой передачи

json
{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Hello, introduce yourself in one sentence."
    }
  ],
  "stream": false
}

С потоковой передачей

json
{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Reply exactly OK."
    }
  ],
  "stream": true
}

Ответ

Непотоковые ответы сохраняют структуру Anthropic Message.

idstring

ID ответа, например msg_....

typestring

Тип объекта, обычно message.

rolestring

Обычно assistant.

modelstring

Фактически использованная модель Claude.

contentobject[]

Нативные блоки выходного содержимого, включая text, tool_use и thinking, когда используется.

stop_reasonstring

Причина остановки, например end_turn, max_tokens, stop_sequence или tool_use.

usageobject

Использование токенов, включая input_tokens и output_tokens. Поля токенов кэша включаются при наличии.

Пример успешного ответа

json
{
  "id": "msg_01...",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-5-5",
  "content": [
    {
      "type": "text",
      "text": "Hello, I am Claude and can help with writing, coding, and analysis tasks."
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 18,
    "output_tokens": 24
  }
}

Потоковый ответ

При stream: true эндпоинт возвращает события SSE Anthropic. Типичные события:

  • message_start
  • content_block_start
  • content_block_delta
  • content_block_stop
  • ping
  • message_delta
  • message_stop

Ответ с ошибкой

Полный справочник кодов, различия протоколов и этапы диагностики приведены в разделе Коды ошибок и устранение неполадок.

Ответы с ошибками используют структуру в стиле Anthropic:

json
{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "Invalid credentials or API key has expired."
  }
}