# Events をクエリする

## イベントのクエリとフィルタリング

Vision Events ダッシュボードのフィルターを使って特定のイベントを見つけるか、REST API 経由でプログラムからクエリできます。

### ダッシュボードでイベントを閲覧する

#### Use Case を選択する

Vision Events ページから Use Case をクリックすると、そのイベントを表示できます。イベントは新しいものから古いものへ逆時系列で表示されます。

<figure><img src="https://3740591140-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2FLHsn28q2dYvdGrScCfC7%2Fimage.png?alt=media&#x26;token=f522aaab-16af-4979-925a-1d10997aafdf" alt="" width="375"><figcaption></figcaption></figure>

#### イベントをフィルタリングする

イベント一覧の上部にあるフィルターコントロールを使って、次の条件で結果を絞り込みます:

* **日付範囲** — 開始・終了タイムスタンプ
* **イベントタイプ** — quality\_check、inventory\_count、safety\_alert、custom、operator\_feedback
* **デバイス** — デバイス ID でフィルタ
* **ストリーム** — ストリームまたはカメラ ID でフィルタ
* **ワークフロー** — イベントを生成したワークフローでフィルタ
* **検出クラス** — 特定の検出オブジェクトクラスでフィルタ
* **カスタムメタデータ** — 任意のカスタムメタデータのフィールドと値でフィルタ
* **警告** — 取り込み警告があったイベントのみを表示

<figure><img src="https://3740591140-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2FkrZ4GYbY0ENZfG7tpnAX%2Fimage.png?alt=media&#x26;token=78c0fbc4-d9ce-47d6-a859-639311329eec" alt="" width="375"><figcaption></figcaption></figure>

#### イベント詳細を表示する

一覧の任意のイベントをクリックすると、詳細をすべて表示できます:

* 予測結果が重ねられた元画像（検出、分類、セグメンテーション）
* すべてのソースメタデータ（デバイス、ストリーム、ワークフロー）
* イベントタイプ固有のデータ（例: 合否結果、アイテム数、アラートの重大度）
* カスタムメタデータのキーと値のペア

<figure><img src="https://3740591140-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2FQvgUZXvbdclpG1Ks3a4c%2Fimage.png?alt=media&#x26;token=3b0938bb-a1d0-43d9-bf47-b072be8b98a5" alt="" width="375"><figcaption></figcaption></figure>

### API 経由でイベントをクエリする

query エンドポイントはダッシュボードと同じフィルターに加えて、カーソルベースのページネーションをサポートします。パラメータとレスポンス項目の完全な一覧は、次を参照してください: [Vision Events API Reference](https://docs.roboflow.com/developer/rest-api/vision-events).

#### 基本クエリ

```bash
curl -X POST "https://api.roboflow.com/vision-events/query" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "useCaseId": "assembly-line-qa",
    "startTime": "2026-03-01T00:00:00Z",
    "endTime": "2026-03-31T23:59:59Z",
    "limit": 25
  }'
```

**レスポンス:**

```json
{
  "events": [
    {
      "eventId": "evt-789ghi",
      "eventType": "quality_check",
      "timestamp": "2026-03-30T14:30:00.000Z",
      "deviceId": "factory-cam-01",
      "streamId": "line-3",
      "images": [],
      "eventData": { "result": "fail" },
      "customMetadata": {
        "line_id": "line-3",
        "shift": "morning",
        "part_number": "PN-4421"
      }
    }
  ],
  "nextCursor": "eyJ0cyI6IjIwMjYtMDMtMzAifQ==",
  "hasMore": true
}
```

#### ページネーション

結果はカーソルを使用してページ分割されます。レスポンスに `nextCursor` の値と `hasMore` が `true`で含まれている場合は、次のリクエストでそのカーソルを渡して次ページを取得します:

```bash
curl -X POST "https://api.roboflow.com/vision-events/query" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "useCaseId": "assembly-line-qa",
    "limit": 25,
    "cursor": "eyJ0cyI6IjIwMjYtMDMtMzAifQ=="
  }'
```

次の条件まで続けます `hasMore` が `false`.

#### イベントタイプでフィルタ

単一のイベントタイプをクエリします:

```json
{
  "useCaseId": "assembly-line-qa",
  "eventType": "quality_check"
}
```

または複数のイベントタイプ（最大 20 件）:

```json
{
  "useCaseId": "assembly-line-qa",
  "eventTypes": ["quality_check", "operator_feedback"]
}
```

#### カスタムメタデータでフィルタ

使用する `customMetadataFilters` を使って、独自のメタデータフィールドでイベントをフィルタします:

```json
{
  "useCaseId": "assembly-line-qa",
  "customMetadataFilters": [
    { "key": "line_id", "operator": "eq", "value": "line-3" },
    { "key": "shift", "operator": "eq", "value": "morning" }
  ]
}
```
