API Messages
Chiama POST /v1/messages su OneProvider con la richiesta nativa Anthropic: prompt di sistema, uso di strumenti, immagini e prompt caching funzionano.
Chat completion nativo Anthropic. Forma di richiesta e risposta identica al 100%; tool_choice è l'unico livello di normalizzazione.
Tutti i modelli, le funzionalità e i prezzi Indice della documentazione per agenti AI:https://oneprovider.dev/docs/llms.txt Richiesta
httpPOST https://api.oneprovider.dev/v1/messages
x-api-key: sk-...
anthropic-version: 2023-06-01
content-type: application/json
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"system": "You are a concise assistant.",
"messages": [
{"role": "user", "content": "Why is the sky blue?"}
]
} Corpo della richiesta
| Campo | Tipo | Obbligatorio | Note |
|---|---|---|---|
model | string | sì | Uno degli ID di modello supportati (allowlist Claude su /v1/messages) |
messages | array | sì | coppie {role, content} |
max_tokens | int | sì | Tetto massimo sull'output |
system | string | no | Prompt di sistema |
temperature | 0.0–1.0 | no | |
top_p | 0.0–1.0 | no | |
top_k | int | no | |
stop_sequences | array | no | |
stream | bool | no | Vedi Streaming |
tools | array | no | Vedi Uso degli strumenti |
tool_choice | object | no | Normalizzato: vedi la pagina degli strumenti |
Caching del prompt
Puoi segnare fino a quattro punti di cache con cache_control: {"type": "ephemeral"} su blocchi di testo o di sistema. I token in cache sono addebitati al 10% della normale tariffa di input per la maggior parte dei modelli (e la risposta riporta cache_read_input_tokens in usage).
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"system": [
{
"type": "text",
"text": "Long stable system prompt that should be cached...",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [{"role": "user", "content": "Question 1"}]
} Risposta
json{
"id": "msg_01XYZ...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5-5",
"content": [
{"type": "text", "text": "Rayleigh scattering — short wavelengths..."}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 48,
"output_tokens": 92,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
} Compatibilità con Anthropic La forma di richiesta e risposta è compatibile byte per byte con la Anthropic Messages API. Se il tuo codice oggi chiama api.anthropic.com, l'unica modifica necessaria è base_url. Risposte rapide
Quale base URL devo usare?
Claude Code e gli SDK Anthropic usano https://api.oneprovider.dev. Gli SDK OpenAI e i client compatibili con OpenAI usano https://api.oneprovider.dev/v1. Con una sola chiave funzionano entrambi; l'elenco dei modelli è nella pagina dei modelli , le tariffe nella pagina dei prezzi .
Come mi autentico?
Invia la chiave sk-… così com'è in x-api-key oppure in Authorization: Bearer: uno dei due, mai entrambi. Tieni la chiave in una variabile d'ambiente, non in un file che finisce nel commit. Altro sull'autenticazione .
Dove ottengo una chiave?
Apri la tua area personale nel bot Telegram @oneprovider_robot oppure su app.oneprovider.dev, ricarica il saldo e premi «Emetti una chiave». Ogni chiave può avere un proprio limite di spesa. Area personale e chiavi API .
Cosa significano 401, 404 e 429?
401: la chiave manca, è scritta male o è inviata nell'header sbagliato; incolla la chiave intera, senza virgolette né spazi. 404: di solito la base URL è sbagliata, per esempio manca /v1 o è doppio. 429 con “Insufficient balance”: il saldo dell'area personale o il limite di spesa della chiave è esaurito, quindi ricarica invece di riprovare; qualsiasi altro 429 è un limite di frequenza, quindi attendi il tempo indicato in Retry-After. Dettagli: codici di errore e risoluzione dei problemi .
Perché gli stream si interrompono o si resettano?
VPN e proxy VLESS spesso mettono in buffer gli SSE o rompono la negoziazione HTTP/2. OneProvider non ha restrizioni regionali e non mette in buffer gli stream: disattiva il proxy e riprova.
Dove chiedo se non basta?
Scrivi a @Oneproviderhelpbot su Telegram oppure apri «Assistenza» nell'area personale sul sito, indicando il codice di stato HTTP e il testo esatto dell'errore. Come funziona l'assistenza .
Ultimo aggiornamento: 2026-11-08 Hai trovato un errore? @Oneproviderhelpbot