Protocole · Claude Messages

Envoyez des requêtes au format Claude Messages.

Cette route s’adresse aux clients qui produisent nativement le contrat Messages. Elle ne signifie pas que tous les modèles du catalogue sont des modèles Claude.

Contrat de requêteprêt
Base URL
https://api.routerlab.ch
Endpoint
POST /v1/messages
Authentification
x-api-key: $ROUTERLAB_API_KEY · anthropic-version: 2023-06-01
Identifiants
GET /v1/models

Démarrage en quatre étapes

Utilisez cette route uniquement pour les modèles dont le catalogue affiche le badge Claude Messages.

  1. 01

    Créez une clé

    Générez une clé RouterLab et conservez-la dans une variable d’environnement côté serveur.

  2. 02

    Vérifiez la route

    Dans le catalogue, choisissez un modèle explicitement compatible Claude Messages.

  3. 03

    Formez le message

    Envoyez model, max_tokens et messages au format Messages.

  4. 04

    Traitez la réponse

    Lisez les blocs content et les informations d’usage renvoyés par la route.

Exemples prêts à adapter

Ces exemples utilisent le contrat RouterLab actuellement exposé sur /v1/messages.

cURL shell

curl https://api.routerlab.ch/v1/messages \
  -H "x-api-key: $ROUTERLAB_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-5-5-trial","max_tokens":128,"messages":[{"role":"user","content":"Hello RouterLab"}]}'

TypeScript · fetch typescript

const response = await fetch("https://api.routerlab.ch/v1/messages", {
  method: "POST",
  headers: {
    "x-api-key": process.env.ROUTERLAB_API_KEY!,
    "anthropic-version": "2023-06-01",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "claude-sonnet-5-5-trial",
    max_tokens: 512,
    messages: [{ role: "user", content: "Hello" }],
  }),
});

const data = await response.json();

Python · requests python

import os
import requests

response = requests.post(
    "https://api.routerlab.ch/v1/messages",
    headers={"x-api-key": os.environ["ROUTERLAB_API_KEY"], "anthropic-version": "2023-06-01"},
    json={
        "model": "claude-sonnet-5-5-trial",
        "max_tokens": 512,
        "messages": [{"role": "user", "content": "Hello"}],
    },
)
response.raise_for_status()
print(response.json())

Ce que représente cette route

Claude Messages est un format d’échange. Le modèle reste un choix séparé, contrôlé par son identifiant et ses capacités.

Format Messages

La requête utilise messages, max_tokens et les blocs de contenu attendus par ce protocole.

Route déclarée

N’utilisez que les modèles affichant le badge Claude Messages dans le catalogue.

Capacités variables

Outils, vision, contexte et raisonnement dépendent du modèle choisi.

Autre protocole disponible

Si votre SDK attend chat/completions, utilisez le guide OpenAI-compatible.

Claude Code passe par ScioNos

Pour l’outil Claude Code, utilisez le wrapper ScioNos : il configure le terminal et l’authentification. Cette page reste la documentation de l’API HTTP directe.

Erreurs courantes

Vérifiez d’abord le format Messages et la compatibilité de route du modèle.

HTTPCause probableAction
400Champ requis absent ou contenu mal formé.Vérifiez notamment model, max_tokens et messages.
401Clé absente, invalide ou révoquée.Contrôlez la valeur Bearer envoyée dans Authorization.
404Modèle inconnu ou non disponible.Choisissez un identifiant exposé par GET /v1/models.
429Limite de débit ou crédit atteint.Réduisez la cadence et contrôlez le compte RouterLab.
503Route temporairement indisponible.Réessayez avec backoff ou sélectionnez une autre route compatible.

Besoin de Claude Code ou Codex CLI ?

ScioNos est l’intégration dédiée aux agents de code en terminal. Elle évite de reproduire leur configuration à la main.

Configurer les agents avec ScioNos