API ReferenceText APIs

Claude API

このプラットフォームでは、Anthropic Claude Messages API と互換性のあるチャットエンドポイントを提供しています。

このドキュメントはクライアント側で統合を行う開発者向けに、公開リクエストパス、認証方式、リクエストパラメータ、代表的なペイロード例を説明するものです。フィールド名と JSON 構造は、できるだけ Claude Messages API のネイティブ仕様に寄せています。

概要:

  • エンドポイント: POST /v1/messages
  • 機能カテゴリ: チャット / テキスト生成
  • レスポンス形式:
    • stream = false または省略時: 通常の JSON レスポンス
    • stream = true 時: text/event-stream の SSE レスポンス
  • プロトコル上の特徴: リクエストボディは Claude Messages API のネイティブ構造に従い、余分な input ラッパーは使いません

1. API 概要

  • HTTP メソッド: POST
  • リクエストパス: /v1/messages
  • Content-Type: application/json
  • レスポンス形式:
    • 非ストリーミング: application/json
    • ストリーミング: text/event-stream

2. 認証とヘッダー

ヘッダー例:

Authorization: Bearer YOUR_REACH_API_KEY
anthropic-version: 2023-06-01
Content-Type: application/json

Authorization または x-api-key のいずれかを指定してください。

ヘッダー詳細:

Header必須説明
AuthorizationいいえBearer sk-xxxxxx 形式のプラットフォーム API キー
x-api-keyいいえプラットフォーム API キーをこのヘッダーで直接渡すこともできます
anthropic-version推奨Claude Messages API クライアント互換のため、2023-06-01 を推奨します
Content-Typeはいapplication/json である必要があります

3. リクエストボディ

リクエストボディは、Claude Messages API の標準的なオブジェクト構造に従います。

{
  "model": "YOUR_MODEL_ID",
  "messages": [
    {
      "role": "user",
      "content": "Please introduce yourself in one sentence."
    }
  ],
  "max_tokens": 1024,
  "temperature": 0.2,
  "stream": false
}

3.1 トップレベルパラメータ

FieldType必須説明
modelstringはいモデル ID
messagesarray<object>はいチャットメッセージ配列
systemstring or array<object>いいえシステムプロンプト
max_tokensintegerはい出力トークン上限。最小値は 1
temperaturenumberいいえサンプリング温度
top_pnumberいいえNucleus Sampling パラメータ
top_kintegerいいえTop-k Sampling パラメータ
streambooleanいいえSSE ストリーミングで返すかどうか
stop_sequencesarray<string>いいえ追加停止シーケンス
toolsarray<object>いいえツール定義
tool_choiceobjectいいえツール呼び出し戦略
thinkingobjectいいえ推論予算または思考モード設定
metadataobjectいいえ呼び出しメタデータ

3.2 messages パラメータ

各メッセージは次の構造を使います。

FieldType必須説明
rolestringはいロール。代表値: user, assistant
contentstring or array<object>はいメッセージ内容。プレーンテキストまたはコンテンツブロック配列

テキスト例:

{
  "role": "user",
  "content": "Write a short product introduction within 50 words."
}

コンテンツブロック例:

{
  "role": "user",
  "content": [
    {
      "type": "text",
      "text": "Please describe this image."
    }
  ]
}

代表的なコンテンツブロック種別:

typeよく使うフィールド説明
texttextテキストコンテンツ
imagesource画像入力
tool_useid, name, inputモデルが開始するツール呼び出し
tool_resulttool_use_id, contentツール実行結果をモデルへ返すブロック

4. リクエスト例

4.1 非ストリーミングの標準リクエスト

curl -X POST "https://direct.reachapi.ai/v1/messages"   -H "Authorization: Bearer YOUR_REACH_API_KEY"   -H "anthropic-version: 2023-06-01"   -H "Content-Type: application/json"   -d '{
    "model": "YOUR_MODEL_ID",
    "messages": [
      {
        "role": "user",
        "content": "Introduce ReachAPI in one sentence."
      }
    ],
    "max_tokens": 512,
    "temperature": 0.2
  }'

4.2 ストリーミングリクエスト

curl -X POST "https://direct.reachapi.ai/v1/messages"   -H "Authorization: Bearer YOUR_REACH_API_KEY"   -H "anthropic-version: 2023-06-01"   -H "Content-Type: application/json"   -d '{
    "model": "YOUR_MODEL_ID",
    "messages": [
      {
        "role": "user",
        "content": "Summarize today'''s priorities in three lines."
      }
    ],
    "max_tokens": 512,
    "stream": true
  }'

4.3 ツール定義付きリクエスト

curl -X POST "https://direct.reachapi.ai/v1/messages"   -H "Authorization: Bearer YOUR_REACH_API_KEY"   -H "anthropic-version: 2023-06-01"   -H "Content-Type: application/json"   -d '{
    "model": "YOUR_MODEL_ID",
    "messages": [
      {
        "role": "user",
        "content": "Help me check the weather in Shanghai."
      }
    ],
    "max_tokens": 512,
    "tools": [
      {
        "name": "get_weather",
        "description": "Get weather information for a city",
        "input_schema": {
          "type": "object",
          "properties": {
            "city": {
              "type": "string"
            }
          },
          "required": ["city"]
        }
      }
    ],
    "tool_choice": {
      "type": "auto"
    }
  }'

5. 非ストリーミングレスポンス

成功時は標準的な message オブジェクトが返ります。

{
  "id": "msg_01ABCDEF",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "ReachAPI is a unified AI gateway platform."
    }
  ],
  "model": "YOUR_MODEL_ID",
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 32,
    "output_tokens": 18,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

6. ストリーミングレスポンス

stream = true の場合、text/event-stream が返ります。代表例:

event: message_start
data: {"type":"message_start","message":{"id":"msg_1","type":"message","role":"assistant","content":[],"model":"YOUR_MODEL_ID","stop_reason":null,"usage":{"input_tokens":7,"output_tokens":0}}}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}

event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":13}}

event: message_stop
data: {"type":"message_stop"}

7. エラーレスポンス

リクエスト失敗時は JSON のエラーオブジェクトが返ります。例:

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "Field `model` is required"
  }
}

代表的なエラーケース:

  • API キーがない、または不正
  • リクエストボディが正しい JSON ではない
  • model がない
  • messages がない

8. 互換性に関する注意

  • このドキュメントでは、よく使われるフィールドと代表的なペイロードのみを掲載しています。実際のフィールド名や構造は Claude Messages API に従います。
  • ツール呼び出しや思考予算のような高度機能を使う場合は、対象モデルが実際に対応しているか確認してください。
  • Anthropic または Claude SDK ベースのクライアントを使う場合は、anthropic-version を付けることを推奨します。

9. 対応モデルと参考価格

以下の価格は統一価格ドキュメントをもとに整理したもので、現在掲載している Claude 系テキストモデルに適用されます。価格確認日は 2026-04-17 です。詳細な価格ルールは claude.md を参照してください。

ModelInputCache write 5mCache readOutput
claude-haiku-4-5$1 / 1M tokens$1.25 / 1M tokens$0.10 / 1M tokens$5 / 1M tokens
claude-sonnet-4-5$3 / 1M tokens$3.75 / 1M tokens$0.30 / 1M tokens$15 / 1M tokens
claude-sonnet-4-6$3 / 1M tokens$3.75 / 1M tokens$0.30 / 1M tokens$15 / 1M tokens
claude-opus-4-5-20251101$5 / 1M tokens$6.25 / 1M tokens$0.50 / 1M tokens$25 / 1M tokens
claude-opus-4-6$5 / 1M tokens$6.25 / 1M tokens$0.50 / 1M tokens$25 / 1M tokens

補足:

  • Cache write 5m は 5 分階層のプロンプトキャッシュ書き込み価格です
  • claude-opus-4-5-20251101 はスナップショットモデル ID であり、バージョン固定のリクエストに使えます
  • より長いキャッシュ時間や拡張コンテキストの課金は詳細価格ドキュメントを参照してください

10. 参考資料

On this page