API Hop

Documentación

Documentación de API Hop

Claude Messages

API nativa compatible con Claude Messages. Este endpoint usa los formatos de solicitud y respuesta de Anthropic Messages, incluidas las llamadas a herramientas y los eventos SSE de Anthropic.

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

API nativa compatible con Claude Messages. Este endpoint usa los formatos de solicitud y respuesta de Anthropic Messages, incluidas las llamadas a herramientas y los eventos SSE de Anthropic.

El proveedor admite Claude Sonnet 4.6 (claude-sonnet-4-6), pero actualmente no está publicado en RequestBeam. No es un valor predeterminado activo de integración. Antes de llamar a cualquier modelo, confirma el acceso con tu propia respuesta de GET https://api.apihop.ai/v1/models.

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

Autenticación

Todas las solicitudes requieren una clave de API de RequestBeam. Los SDK de Anthropic, Claude Code y clientes compatibles suelen usar x-api-key; los clientes HTTP simples también pueden usar autenticación mediante token 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

Cuerpo

modelstringobligatorioPredeterminado: claude-sonnet-5-5

ID de modelos Claude admitidos.

  • 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

Usa GET https://api.apihop.ai/v1/models para consultar los modelos disponibles actualmente para tu clave de API.

max_tokensintegerobligatorio

Número máximo de tokens de salida, como entero positivo seguro. Este límite incluye tanto los tokens de razonamiento como el texto final. Los valores ausentes, cero, negativos, fraccionarios, cadenas o enteros no seguros devuelven HTTP 400 con invalid_request_error antes de generar o facturar. El modelo puede imponer un máximo inferior.

En modelos que razonan, un límite pequeño como 128 puede producir solo bloques de razonamiento antes de terminar con stop_reason: "max_tokens", sin texto de salida. Establece un límite explícito para la tarea y el modelo, con margen para razonar y responder. Los valores de los ejemplos son límites editables, no valores predeterminados del proveedor ni máximos del modelo; aumentarlos puede incrementar el uso de salida y el coste.

messagesobject[]obligatorio

Mensajes de conversación. Cada mensaje contiene role y content.

role admite user y assistant. content puede ser una cadena o una matriz de bloques de contenido.

systemstring | object[]

Instrucción del sistema. Anthropic Messages usa un campo system de nivel superior en lugar de un rol system en messages.

streambooleanPredeterminado: false

Si se devuelven eventos SSE de Anthropic.

temperaturenumber

Temperatura de muestreo. Los valores aceptados y sus efectos varían según el modelo elegido.

top_pnumber

Parámetro de muestreo de núcleo. Que se acepte no garantiza que cambie el comportamiento de generación.

top_kinteger

Parámetro de muestreo top-k. Su compatibilidad depende del modelo elegido.

stop_sequencesstring[]

Secuencias de parada.

Las solicitudes con secuencias de parada no vacías evitan los servicios de modelos que se sabe que no las admiten; si no hay un servicio compatible, la solicitud devuelve 400 antes de generar o facturar.

toolsobject[]

Definiciones de herramientas Anthropic. Las herramientas de funciones suelen incluir name, description e input_schema.

tool_choiceobject

Política de selección de herramientas, como { "type": "auto" } o { "type": "tool", "name": "..." }.

thinkingobject

Configuración nativa de razonamiento Anthropic, sujeta a la compatibilidad del modelo y proveedor. Claude 4.5 usa { "type": "enabled", "budget_tokens": 1024 }; Claude Sonnet/Opus 4.6 también admiten razonamiento adaptativo. No apliques un límite manual a todas las versiones. En continuaciones de herramientas, devuelve sin cambios el contenido completo y ordenado del asistente, incluidos thinking, signature, redacted_thinking y tool_use. Mantén la configuración de razonamiento y las cabeceras anthropic-beta necesarias durante todo el intercambio con herramientas. Para SSE, concatena los fragmentos signature_delta.signature del mismo bloque; un resumen de razonamiento vacío no permite descartar su firma. Un rechazo de acceso a la cuenta del proveedor es un fallo del proveedor, no prueba de una firma no válida. Los rechazos de acceso a cuentas Bedrock reconocidos devuelven HTTP 502 con api_error; los errores habituales de validación del cliente conservan HTTP 400. La aceptación sigue requiriendo una cuenta del proveedor activada.

metadataobject

Metadatos de la solicitud.

Caché de instrucciones

Añade cache_control: { "type": "ephemeral" } a un bloque de system o de contenido de mensaje. El uso de caché puede incluir cache_creation_input_tokens, cache_read_input_tokens y categorías de creación compatibles de 5 minutos o 1 hora. Un TTL de 1 hora también requiere la cabecera anthropic-beta correspondiente.

Ejemplos de solicitudes

Sin streaming

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

Con streaming

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

Respuesta

Las respuestas sin streaming conservan la estructura de Anthropic Message.

idstring

ID de la respuesta, como msg_....

typestring

Tipo de objeto, normalmente message.

rolestring

Normalmente assistant.

modelstring

Modelo Claude realmente utilizado.

contentobject[]

Bloques nativos de contenido de salida, incluidos text, tool_use y thinking cuando se usan.

stop_reasonstring

Motivo de parada, como end_turn, max_tokens, stop_sequence o tool_use.

usageobject

Uso de tokens, incluidos input_tokens y output_tokens. Los campos de tokens de caché se incluyen cuando existen.

Ejemplo correcto

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
  }
}

Respuesta en streaming

Con stream: true, el endpoint devuelve eventos SSE de Anthropic. Los eventos habituales incluyen:

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

Respuesta de error

Consulta Códigos de error y resolución de problemas para la referencia completa de códigos, diferencias de protocolo y pasos de diagnóstico.

Las respuestas de error usan la estructura de estilo Anthropic:

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