API Reference

API Documentation

Everything you need to integrate Claude Max into your applications. Complete endpoints, code examples in 6 languages, and all 5 models.

Authentication

URL de base

Production
https://claudemaxhub.com/api/v1

Toutes les requêtes API doivent utiliser HTTPS. Les requêtes HTTP seront redirigées.

API Key Header

En-tête
Authorization: Bearer YOUR_API_KEY

Votre clé API est fournie après l'activation de l'essai. Incluez-la dans chaque en-tête de requête.

Limitation de débit

5 requêtes par minute par IP

Type de contenu

application/json

Response Format

JSON (UTF-8)

Getting Your API Key

Sign up for a free trial → Activate your account → Find your API key in the dashboard.

Available Models

All models included — choose the right one for your use case.

Model API ID Context Window Best For
Claude Opus 5 claude-opus-5 200K Complex reasoning, research, coding
Claude Fable 5 claude-fable-5 1M Long documents, large codebases
Claude Opus 4 claude-opus-4-8 200K Analysis, detailed reports
Claude Sonnet 4 claude-sonnet-4 200K General purpose, chat, writing
Claude Haiku claude-haiku 200K Quick tasks, real-time responses
GET /api/v1/models Returns a list of all available Claude models for your account.
cURL
curl https://claudemaxhub.com/api/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"
Python
import requests

response = requests.get(
    "https://claudemaxhub.com/api/v1/models",
    headers={"Authorization": "Bearer YOUR_API_KEY"}
)

models = response.json()
for model in models["data"]:
    print(f"{model['id']}: {model['description']}")
JavaScript
const response = await fetch(
  'https://claudemaxhub.com/api/v1/models',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
    },
  }
);

const { data } = await response.json();
data.forEach(model => console.log(model.id));
200 — Success
{
  "data": [
    {"id": "claude-opus-5",   "description": "Most powerful — advanced reasoning & complex analysis",   "context_window": 200000},
    {"id": "claude-fable-5",  "description": "Flagship model — 1M token context window",  "context_window": 1000000},
    {"id": "claude-opus-4-8",   "description": "Deep analysis & complex multi-step tasks",   "context_window": 200000},
    {"id": "claude-sonnet-4", "description": "Best balance of speed and quality", "context_window": 200000},
    {"id": "claude-haiku",    "description": "Fastest responses — ideal for real-time applications",    "context_window": 200000}
  ]
}
Create Chat
POST /api/v1/chat Send a message to a Claude model and receive a response. This is the core endpoint for all interactions.
model requis
string
The model to use for the response.
messages requis
array
Array of message objects with role and content.
max_tokens
integer
Maximum number of tokens in the response.
temperature
float
Controls randomness. 0 = deterministic, 1 = creative.
stream
boolean
Enable streaming responses.
cURL
curl -X POST https://claudemaxhub.com/api/v1/chat \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "messages": [
      {"role": "user", "content": "Explain quantum computing in simple terms."}
    ],
    "max_tokens": 1024,
    "temperature": 0.7
  }'
Python
import requests

response = requests.post(
    "https://claudemaxhub.com/api/v1/chat",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "model": "claude-opus-5",
        "messages": [
            {"role": "user", "content": "Explain quantum computing in simple terms."}
        ],
        "max_tokens": 1024,
        "temperature": 0.7,
    },
)

data = response.json()
print(data["content"][0]["text"])
JavaScript (Node.js / Fetch)
const response = await fetch('https://claudemaxhub.com/api/v1/chat', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'claude-opus-5',
    messages: [
      { role: 'user', content: 'Explain quantum computing in simple terms.' },
    ],
    max_tokens: 1024,
    temperature: 0.7,
  }),
});

const data = await response.json();
console.log(data.content[0].text);
PHP (cURL)
$ch = curl_init('https://claudemaxhub.com/api/v1/chat');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer YOUR_API_KEY',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'model'       => 'claude-opus-5',
        'messages'    => [
            ['role' => 'user', 'content' => 'Explain quantum computing in simple terms.'],
        ],
        'max_tokens'  => 1024,
        'temperature' => 0.7,
    ]),
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
echo $data['content'][0]['text'];
Go
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
    "io"
)

func main() {
    body, _ := json.Marshal(map[string]interface{}{
        "model": "claude-opus-5",
        "messages": []map[string]string{
            {"role": "user", "content": "Explain quantum computing in simple terms."},
        },
        "max_tokens":  1024,
        "temperature": 0.7,
    })

    req, _ := http.NewRequest("POST",
        "https://claudemaxhub.com/api/v1/chat",
        bytes.NewBuffer(body))
    req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    result, _ := io.ReadAll(resp.Body)
    fmt.Println(string(result))
}
Ruby
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://claudemaxhub.com/api/v1/chat')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer YOUR_API_KEY'
request['Content-Type'] = 'application/json'
request.body = {
  model: 'claude-opus-5',
  messages: [
    { role: 'user', content: 'Explain quantum computing in simple terms.' }
  ],
  max_tokens: 1024,
  temperature: 0.7
}.to_json

response = http.request(request)
data = JSON.parse(response.body)
puts data['content'][0]['text']
200 — Success Response
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "model": "claude-opus-5",
  "content": [
    {
      "type": "text",
      "text": "Quantum computing uses quantum bits (qubits) that can exist in multiple states simultaneously..."
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 15,
    "output_tokens": 128
  }
}
id
string
Unique message identifier
model
string
Model used for the response
content
array
Array of content blocks (text)
stop_reason
string
Why the model stopped: end_turn, max_tokens
usage
object
Token usage statistics
Error Handling

All possible error responses and how to handle them.

HTTP Status Description Solution
401 Invalid or missing API key Check your API key in the dashboard
403 Account not activated or trial expired Activate your account or renew your subscription
404 Invalid endpoint or model not found Check the URL and model name
422 Invalid request parameters Review the request body format
429 Rate limit exceeded Wait and retry, or reduce request frequency
500 Internal server error Retry after a few seconds

Prêt à commencer ?

Inscrivez-vous pour un essai gratuit de 30 jours et commencez à utiliser Claude Max avec tous les modèles inclus.