API Hop

Documentation

Documentation API Hop

Claude Messages

API native compatible Claude Messages. Cet endpoint utilise les formats de requête et de réponse Anthropic Messages, y compris les appels d’outils et les événements SSE Anthropic.

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

API native compatible Claude Messages. Cet endpoint utilise les formats de requête et de réponse Anthropic Messages, y compris les appels d’outils et les événements SSE Anthropic.

Claude Sonnet 4.6 (claude-sonnet-4-6) est pris en charge par le fournisseur amont, mais n’est actuellement pas publié sur RequestBeam. Il ne constitue pas un modèle d’intégration par défaut actif. Avant tout appel, confirmez votre accès avec votre propre réponse de GET https://api.apihop.ai/v1/models.

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

Authentification

Toutes les requêtes nécessitent une clé API RequestBeam. Les SDK Anthropic, Claude Code et clients compatibles utilisent généralement x-api-key ; les clients HTTP simples peuvent aussi utiliser l’authentification par jeton 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

Corps

modelstringobligatoirePar défaut: claude-sonnet-5-5

ID des modèles Claude pris en charge.

  • 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

Utilisez GET https://api.apihop.ai/v1/models pour consulter les modèles actuellement accessibles à votre clé API.

max_tokensintegerobligatoire

Nombre maximal de tokens de sortie, sous forme d’entier positif sûr. Ce budget inclut les tokens de raisonnement et de texte final. Les valeurs absentes, nulles, négatives, fractionnaires, de type chaîne ou entiers non sûrs renvoient HTTP 400 avec invalid_request_error avant génération ou facturation. Le modèle peut imposer un maximum inférieur.

Pour les modèles produisant du raisonnement, un petit budget comme 128 peut ne produire que des blocs de raisonnement avant de terminer avec stop_reason: "max_tokens", sans texte de sortie. Définissez un budget explicite adapté à la tâche et au modèle, laissant de la place au raisonnement et à la réponse finale. Les valeurs des exemples sont des budgets modifiables, pas des valeurs par défaut du fournisseur ni des limites du modèle ; des budgets supérieurs peuvent accroître l’utilisation de sortie et le coût.

messagesobject[]obligatoire

Messages de conversation. Chaque message contient role et content.

role accepte user et assistant. content peut être une chaîne ou un tableau de blocs de contenu.

systemstring | object[]

Consigne système. Anthropic Messages utilise un champ system de premier niveau plutôt qu’un rôle system dans messages.

streambooleanPar défaut: false

Indique s’il faut renvoyer des événements SSE Anthropic.

temperaturenumber

Température d’échantillonnage. Les valeurs acceptées et leurs effets varient selon le modèle choisi.

top_pnumber

Paramètre d’échantillonnage par noyau. Son acceptation ne garantit pas un changement du comportement de génération.

top_kinteger

Paramètre d’échantillonnage top-k. La prise en charge dépend du modèle choisi.

stop_sequencesstring[]

Séquences d’arrêt.

Les requêtes avec séquences d’arrêt non vides évitent les services de modèles connus pour ne pas les prendre en charge ; si aucun service compatible n’est disponible, la requête renvoie 400 avant génération ou facturation.

toolsobject[]

Définitions d’outils Anthropic. Les outils de fonction incluent généralement name, description et input_schema.

tool_choiceobject

Politique de sélection d’outils, comme { "type": "auto" } ou { "type": "tool", "name": "..." }.

thinkingobject

Configuration native du raisonnement Anthropic, selon la prise en charge du modèle et du fournisseur. Claude 4.5 utilise { "type": "enabled", "budget_tokens": 1024 } ; Claude Sonnet/Opus 4.6 acceptent aussi le raisonnement adaptatif. N’appliquez pas un budget manuel à toutes les versions. Lors des continuations d’outils, renvoyez sans modification tout le contenu ordonné de l’assistant, y compris thinking, signature, redacted_thinking et tool_use. Gardez la configuration du raisonnement et les en-têtes anthropic-beta requis cohérents pendant tout l’aller-retour d’outil. Pour SSE, concaténez les fragments signature_delta.signature du même bloc ; un résumé de raisonnement vide ne permet pas de supprimer sa signature. Un refus d’accès au compte du fournisseur est une défaillance amont, pas la preuve d’une signature invalide. Les refus d’accès Bedrock reconnus renvoient HTTP 502 avec api_error ; les erreurs ordinaires de validation client conservent HTTP 400. L’acceptation nécessite toujours un compte fournisseur activé.

metadataobject

Métadonnées de requête.

Cache des consignes

Ajoutez cache_control: { "type": "ephemeral" } à un bloc system ou de contenu de message. L’utilisation du cache peut inclure cache_creation_input_tokens, cache_read_input_tokens et les catégories de création prises en charge de 5 minutes ou 1 heure. Un TTL de 1 heure nécessite aussi l’en-tête anthropic-beta correspondant.

Exemples de requêtes

Sans streaming

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

Avec streaming

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

Réponse

Les réponses sans streaming conservent la structure Anthropic Message.

idstring

ID de réponse, comme msg_....

typestring

Type d’objet, généralement message.

rolestring

Généralement assistant.

modelstring

Modèle Claude effectivement utilisé.

contentobject[]

Blocs natifs de contenu de sortie, comprenant text, tool_use et thinking lorsqu’ils sont utilisés.

stop_reasonstring

Motif d’arrêt, comme end_turn, max_tokens, stop_sequence ou tool_use.

usageobject

Utilisation des tokens, comprenant input_tokens et output_tokens. Les champs de tokens de cache sont inclus lorsqu’ils sont présents.

Exemple réussi

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

Réponse en streaming

Avec stream: true, l’endpoint renvoie des événements SSE Anthropic. Les événements courants comprennent :

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

Réponse d’erreur

Consultez Codes d’erreur et dépannage pour la référence complète des codes, les différences de protocole et les étapes de diagnostic.

Les réponses d’erreur utilisent la structure de style Anthropic :

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