Langsung ke konten
Search documentation titles, headings, and guides
API v1Updated 2026-09-16

Anthropic Messages

Endpoint POST /v1/messages yang drop-in kompatibel Anthropic, dengan system prompt, input gambar, dan tool use.

POST /v1/messages adalah pengganti drop-in untuk Anthropic Messages API. Arahkan SDK Anthropic (atau klien kompatibel Anthropic apa pun) ke base URL gateway dan kode yang ada tetap berjalan, termasuk system prompt, input gambar, dan tool use.

Endpoint#

POST/v1/messages
Auth: api-key

Membuat message. Respons mengikuti bentuk objek message Anthropic; error memakai envelope berbentuk Anthropic ({ type: "error", error: {...} }).

Parameters

modelstringbodyrequired

Identifier model (`<public-name>`). Lihat [Katalog Model](/id/docs/api-reference/models).

messagesarraybodyrequired

Percakapan sebagai array terurut berisi objek `{ role, content }`.

systemstringbodyoptional

System prompt top-level, gaya Anthropic. Opsional, tetapi disarankan untuk mengarahkan perilaku.

max_tokensintegerbodyrequired

Jumlah maksimum token yang akan digenerate. Wajib menurut Anthropic Messages API.

streambooleanbodyoptionaldefault: false

Set `true` untuk menerima Server-Sent Events. Lihat [Streaming & SSE](/id/docs/api-reference/streaming).

temperaturenumberbodyoptional

Temperature sampling. Diteruskan ke upstream tanpa perubahan bila diberikan.

Request Example

curl -X POST "https://api.zrouter.dev/v1/messages" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<public-name>",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Say hello!"}]
  }'

Responses

200Message berhasil.
{
  "id": "msg_...",
  "type": "message",
  "role": "assistant",
  "model": "<public-name>",
  "content": [
    { "type": "text", "text": "Hello!" }
  ],
  "stop_reason": "end_turn",
  "usage": { "input_tokens": 9, "output_tokens": 3 }
}
400`invalid_request` — body salah format atau tidak valid.
401`invalid_api_key` — key hilang, salah, atau dua header bernilai berbeda.
402`insufficient_balance` — saldo Token Plan dan PAYG tidak mencukupi.
404`model_not_found` — identifier model tidak ada atau disembunyikan.
429`technical_limit` — passthrough 429 dari upstream, bukan rate limit zrouter.
502`upstream_error` — penyedia upstream gagal memproses request.
503`overloaded` atau `circuit_open` — kapasitas penuh atau circuit breaker terbuka.

Streaming#

Dengan "stream": true, gateway meneruskan stream event Anthropic native tanpa perubahan, diakhiri dengan message_stop. Contoh event mentah ada di Streaming & SSE.