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

# リクエスト形式

> Guard API のリクエストボディ。messages、processType、additionalData、およびオプションの Opticon トレーシングについて説明します。

`Content-Type: application/json` で `POST https://bastion-guardian-api.starfort.io/v1/guard/api` を呼び出します。

```json theme={null}
{
  "messages": [
    { "role": "user", "content": "Please share John Smith's number 010-1234-5678." }
  ],
  "processType": "input",
  "additionalData": {},
  "opticon": {
    "trace_id": "your-trace-id",
    "session_id": "your-session-id",
    "user_id": "end-user-id",
    "metadata": { "any": "value" },
    "tags": ["your-tag"]
  }
}
```

## フィールド

| フィールド            | 型      | 必須  | 備考                                                                                                    |
| ---------------- | ------ | --- | ----------------------------------------------------------------------------------------------------- |
| `messages`       | array  | はい  | OpenAI Chat Completions 形式のメッセージ。                                                                     |
| `processType`    | string | はい  | **Guardian が宣言する**ラベル（一般的には `input` / `output`）。**大文字小文字を区別しません。** Guardian がサポートするもののいずれかでなければなりません。 |
| `additionalData` | object | いいえ | プロセスタイプが必要とする場合の、呼び出しごとの追加データ。                                                                        |
| `opticon`        | object | いいえ | トレーシングのヒント。トレーシングが不要な場合は全体を省略します。                                                                     |

<Note>
  リクエストでは **camelCase**（`processType`、`additionalData`）を使用します。これらは本番 API が期待するフィールド名です。
</Note>

### `processType`

`processType` は **Guardian が定義する自由形式のラベル**であり、固定された列挙型ではありません。ほとんどの Guardian は `input`（入力時のリクエストをガード）と `output`（出力時のモデルレスポンスをガード）を宣言しますが、Guardian はサポートする任意の名前を宣言できます。

* **大文字小文字を区別しません** — 値はマッチング前にトリムされて小文字化されるため、`"input"`、`"INPUT"`、`" Input "` は同じ呼び出しです。
* 値は**呼び出される Guardian がサポートするもののいずれかでなければなりません。** そうでない場合、呼び出しは事前検証中に拒否され、エラーメッセージにサポートされているプロセスタイプが一覧表示されます。[エラーと状態](/ja/v1.2/api/errors)を参照してください。
* 一部のプロセスタイプは**ポリシー不要**です（Guardian がそれらに対して互換性のあるポリシータイプを宣言しません）。これらは Guard Policy なしで実行され、完全に `additionalData` によって駆動されます。

### `additionalData`

`additionalData` は、プロセスタイプが必要とする追加入力のための標準的なスロットです。Starfort は、Guardian 上で設定された値とあなたが送信する値を**マージ**し（キーが競合した場合は**あなたの値が優先**）、その結果を変更せずに Guardian へ渡します。これは自由形式の JSON です（JSON として妥当かどうかのみがチェックされます）。たとえば、ポリシー不要のプロセスタイプは、その評価の基準として `{ "check_criteria": [...] }` を受け取る場合があります。

## メッセージのロール — 検査されるのは `user` のみ

各メッセージには `role` があります。Guardian は **`user` メッセージのみ**を検査します。それ以外はコンテキストとして保持されますが、マスクやブロックは一切行われません。

| ロール                        | 動作                                                                |
| -------------------------- | ----------------------------------------------------------------- |
| `user`                     | **検査対象。** 各コンテンツパートがマスクまたはブロックされる可能性があります。ガードしたいコンテンツはここに入れてください。 |
| `assistant`                | マルチターンのコンテキストとして保持されます。検査されず、マスクされることもありません。                      |
| `system`                   | オペレーターの指示として扱われ、完全にスキップされます。                                      |
| その他（`tool`、`developer` など） | ペイロード内に保持されますが、検査されません。                                           |

**`user` メッセージがない**リクエストはチェックされずに通過します。ガードしたいコンテンツは必ず `user` ロールで送信してください。

## Opticon トレーシング（オプション）

`opticon` オブジェクトは、その呼び出しに対して Starfort が記録する[トレース](/ja/v1.2/admin/monitoring-opticon)にトレーシングメタデータを付加します。

| フィールド        | 用途                                          |
| ------------ | ------------------------------------------- |
| `trace_id`   | 独自のトレース識別子（省略時は自動生成されます）。                   |
| `session_id` | 関連する呼び出しを 1 つのセッションにまとめます。                  |
| `user_id`    | エンドユーザーの識別子。                                |
| `metadata`   | 任意のキー／値。                                    |
| `tags`       | 独自のタグ。Starfort は action とポリシーのタグも自動的に追加します。 |

あなたのフィールドに加えて、Starfort は各トレースを自動的に補強します。トレースの**名前**は Project Guardian の名前になり、ルートの `action`、各 `policy_type:action` / `policy_name:action`、および **API キーの名前**が**タグ**として追加されます。`processType`、マスクされた API キー識別子、および解決された Model Configuration は**メタデータ**になり、ポリシーごとの検出件数は**スコア**として記録されます。キーが競合した場合はシステム値が優先されます。トレーシングはベストエフォートであり、呼び出しをブロックすることは決してありません。[Opticon モニタリング](/ja/v1.2/admin/monitoring-opticon)を参照してください。

`messages` 内のマルチモーダルコンテンツ（画像、音声、ファイル、動画）については、[マルチモーダル入力](/ja/v1.2/api/multimodal)を参照してください。
