> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryprofound.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Call API

> Agent を任意の外部 API エンドポイントに接続します

**Call API** ノードは、[Agent](/agents/about) を任意の外部 API エンドポイントに接続します。このステップを使用して、データの取得、外部サービスのトリガー、Agent の入力の拡充、社内のシステムやツールとの統合を行えます。

このノードは、**GET** と **POST** の両方のリクエスト、オプションの認証、および(POST リクエストの場合)JSON 形式のリクエストボディをサポートしています。

<img src="https://mintcdn.com/profound-37face47/LU_swtbqvG5kIsMS/images/agents/nodes/call-api-1.png?fit=max&auto=format&n=LU_swtbqvG5kIsMS&q=85&s=d7ebced3d931337a4f07d806de54557f" alt="call api.png" width="1920" height="1200" data-path="images/agents/nodes/call-api-1.png" />

<Tip>このノードを Agent に追加する方法については、[Agents を使ってみる](/ja-jp/agents/getting-started)を参照してください。</Tip>

## このノードを使用する場面

Call API は、次のようなタスクに使用します。

* サードパーティのツール、CRM、CMS、アナリティクスプラットフォームからデータを取得する
* 外部の自動化処理や Agents をトリガーする
* 後続の LLM ステップで使用する構造化データを取得する
* 別の場所でホストされているカスタムのビジネスロジックで Agent の実行を拡張する
* Profound Agents を社内の API やマイクロサービスと統合する

## ノードの設定

Call API ノードを選択すると、Agent ビルダーの右側に設定パネルが開きます。

### Method(必須)

リクエストの HTTP メソッドを選択します。

* **GET** – API エンドポイントからデータを取得します
* **POST** – エンドポイントにデータを送信します。リクエストボディを含めることができます

呼び出す API に合ったメソッドを選択してください。

### URL(必須)

API エンドポイントの完全な URL を入力します。

次のことができます。

* 静的な URL を貼り付ける
* `/` を使用して変数を動的に挿入し、入力や前の Agent ステップを参照する

例:

* `https://api.example.com/users/{{user_id}}`
* `https://internal.mycompany.com/search?q={{topic}}`

## POST リクエストの追加設定

メソッドが **POST** の場合は、追加のフィールドが表示されます。

### Request Body

リクエストで送信する JSON ペイロードを入力します。これは POST リクエストでは必須です。

ペイロードの例:

```text expandable wrap theme={null}
{
  "userId": 1234
  "action": "create",
  "payload": {
    "firstName": "Jack",
    "email":"jack@example.com"
  }
}
```

変数は `/` を使用して挿入できます。

### Content Type(POST の場合は必須)

リクエストボディのコンテンツタイプを選択します。

* **None**
* **Application/Json**

ほとんどの API は `application/json` を想定しています。

## Output Label

API レスポンスにわかりやすいラベルを付けます。これは、後続のノードが参照する変数名になります。

例:

* `api_response`
* `user_record`
* `external_data`

## 詳細設定

**Advanced settings** を選択して、リクエストの認証を設定します。<br />一般公開されていない API では認証が必要です。

### Authentication Type(必須)

認証方式を選択します。

* **None** – 認証なし
* **Basic** – ユーザー名とパスワード
* **Bearer** – Bearer トークン
* **API Key** – カスタムの API キーヘッダー

オプションごとに、異なる必須フィールドが表示されます。

#### Basic 認証

フィールド:

* Username
* Password

#### Bearer 認証

フィールド:

* Bearer Token

#### API キー認証

フィールド:

* Header Name
* API Key Value

例:

* Header Name: `X-API-Key`
* API Key Value: `<your_key_here>`

呼び出す API が想定しているフィールド名を使用してください。

## 出力

Call API ノードは、API からのレスポンスボディ全体をテキストとして返します。この出力は、次のものに渡すことができます。

* 解析、抽出、要約のための LLM ステップ
* ロジックノードや変換ノード
* 後続の API 呼び出し
* 構造化データまたは半構造化データの外部データを必要とするあらゆるステップ

出力は、JSON、HTML、プレーンテキスト、または API が返すその他のコンテンツタイプのいずれかになります。

## 使用例

### 1. ユーザープロファイルのデータを取得する

1. 次の設定で **Call API** ノードを追加します。
   * Method: GET
   * URL: `https://api.example.com/users/{{user_id}}`
   * Output Label: `user_profile`
2. \{\{user\_profile}} を LLM ステップに渡して、分析や変換を行います。

### 2. Agent のデータを外部サービスに送信する

1. 次の設定で **Call API** ノードを追加します。
   * Method: POST
   * URL: `https://hooks.example.com/events`
   * Content Type: Application/Json

```text wrap theme={null}
Request Body:{
  "transcript": "{{video_transcript}}", 
  "summary": "{{summary}}"
}
```

* Output Label: `event_response`

### 3. 認証が必要な API を使用する

1. **Advanced settings** で、適切な認証タイプを選択します。
2. 認証情報(Bearer Token や API Key など)を入力します。
3. 必要に応じて GET または POST を使用して、保護されたデータを取得します。

## ベストプラクティス

* ノードを設定する前に、API が想定しているメソッド、ヘッダー、ペイロードの構造、認証要件を必ず確認してください。
* 変数を使用して URL やリクエストボディを動的に構築すると、より柔軟な Agents を作成できます。
* JSON を送信する場合は、形式が正しいことを確認してください。不正な形式の JSON はリクエストの失敗につながります。
* 特に複数の API 呼び出しを連結する場合は、出力ラベルをわかりやすいものにしてください。

## トラブルシューティング

### API がエラーを返す

次の点を確認してください。

* URL が正しいか
* 必須のクエリパラメータ
* 認証情報
* JSON ボディの構造(POST の場合)

### レスポンスが空、または想定と異なる

API は HTML のエラーページやラッパーオブジェクトを返す場合があります。Prompt LLM ステップを使用して、関連する部分を解釈または抽出してください。

### 変数が解決されない

`/` を入力して変数ピッカーから選択し、変数を挿入してください。
