Format Messages
La requête utilise messages, max_tokens et les blocs de contenu attendus par ce protocole.
Protocole · 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.
Utilisez cette route uniquement pour les modèles dont le catalogue affiche le badge Claude Messages.
Générez une clé RouterLab et conservez-la dans une variable d’environnement côté serveur.
Dans le catalogue, choisissez un modèle explicitement compatible Claude Messages.
Envoyez model, max_tokens et messages au format Messages.
Lisez les blocs content et les informations d’usage renvoyés par la route.
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())Claude Messages est un format d’échange. Le modèle reste un choix séparé, contrôlé par son identifiant et ses capacités.
La requête utilise messages, max_tokens et les blocs de contenu attendus par ce protocole.
N’utilisez que les modèles affichant le badge Claude Messages dans le catalogue.
Outils, vision, contexte et raisonnement dépendent du modèle choisi.
Si votre SDK attend chat/completions, utilisez le guide OpenAI-compatible.
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.
Vérifiez d’abord le format Messages et la compatibilité de route du modèle.
| HTTP | Cause probable | Action |
|---|---|---|
| 400 | Champ requis absent ou contenu mal formé. | Vérifiez notamment model, max_tokens et messages. |
| 401 | Clé absente, invalide ou révoquée. | Contrôlez la valeur Bearer envoyée dans Authorization. |
| 404 | Modèle inconnu ou non disponible. | Choisissez un identifiant exposé par GET /v1/models. |
| 429 | Limite de débit ou crédit atteint. | Réduisez la cadence et contrôlez le compte RouterLab. |
| 503 | Route temporairement indisponible. | Réessayez avec backoff ou sélectionnez une autre route compatible. |
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